Introductie EightfoldDirection in plaats van duplicate TypeDirection enums bij JavaInputDevice's.

This commit is contained in:
2011-02-09 10:05:15 +00:00
parent a20802afcc
commit 9b9faee388
4 changed files with 14 additions and 52 deletions

View File

@@ -1,17 +1,18 @@
package pm.device.javainput.rumblepad;
import de.hardcode.jxinput.event.JXInputButtonEvent;
import de.hardcode.jxinput.event.JXInputDirectionalEvent;
import pm.Action;
import pm.Button;
import pm.Macro;
import pm.Target;
import pm.device.javainput.EightfoldDirection;
import pm.device.javainput.JavaInputDevice;
import pm.exception.DeviceException;
import pm.exception.MacroException;
import pm.exception.event.UnknownButtonException;
import pm.exception.event.UnknownDirectionException;
import pm.macro.event.Press;
import de.hardcode.jxinput.event.JXInputButtonEvent;
import de.hardcode.jxinput.event.JXInputDirectionalEvent;
public class RumblepadDevice extends JavaInputDevice {
@@ -48,7 +49,6 @@ public class RumblepadDevice extends JavaInputDevice {
}
protected Button getButton(JXInputDirectionalEvent event) throws UnknownDirectionException {
return RumblepadDirection.create(event);
return EightfoldDirection.create(event);
}
}

View File

@@ -1,39 +0,0 @@
package pm.device.javainput.rumblepad;
import de.hardcode.jxinput.event.JXInputDirectionalEvent;
import pm.Button;
import pm.exception.event.UnknownDirectionException;
public enum RumblepadDirection implements Button {
NORTH (0),
NORTHEAST (45),
EAST (90),
SOUTHEAST (135),
SOUTH (180),
SOUTHWEST (225),
WEST (270),
NORTHWEST (315);
protected int code;
private RumblepadDirection(int code) {
this.code = code;
}
public int getCode() {
return code;
}
public static RumblepadDirection create(int angle) throws UnknownDirectionException {
for (RumblepadDirection button : RumblepadDirection.values()) {
if (button.getCode() == angle) {
return button;
}
}
throw new UnknownDirectionException();
}
public static RumblepadDirection create(JXInputDirectionalEvent event) throws UnknownDirectionException {
return create(event.getDirectional().getDirection() / 100);
}
}