package org.archstudio.swtutils.constants;
public enum Orientation {
NORTHEAST(-1, -1), NORTH(0, -1), NORTHWEST(1, -1), //
EAST(-1, 0), NONE(0, 0), WEST(1, 0), //
SOUTHEAST(-1, 1), SOUTH(0, 1), SOUTHWEST(1, 1);
private final int deltaX, deltaY;
private Orientation(int deltaX, int deltaY) {
this.deltaX = deltaX;
this.deltaY = deltaY;
}
public int getDeltaX() {
return deltaX;
}
public int getDeltaY() {
return deltaY;
}
public Orientation getOpposite() {
switch (this) {
case NORTHEAST:
return SOUTHWEST;
case NORTH:
return SOUTH;
case NORTHWEST:
return SOUTHEAST;
case EAST:
return WEST;
case NONE:
return NONE;
case WEST:
return EAST;
case SOUTHEAST:
return NORTHWEST;
case SOUTH:
return NORTH;
case SOUTHWEST:
return NORTHEAST;
default:
throw new IllegalArgumentException();
}
}
}