private void initState(final MouseEvent mouseEvent) { if (_lastState == null) { _lastState = new MouseState(mouseEvent.getX(), getArdor3DY(mouseEvent), 0, 0, 0, null, null); } }
private void initState(final MouseEvent mouseEvent) { if (_lastState == null) { _lastState = new MouseState(mouseEvent.x, getArdor3DY(mouseEvent), 0, 0, 0, null, null); } }
private void initState(final MouseEvent mouseEvent) { if (_lastState == null) { _lastState = new MouseState(mouseEvent.getX(), getArdor3DY(mouseEvent), 0, 0, 0, null, null); } }
private void initState(final MouseEvent mouseEvent) { if (_lastState == null) { _lastState = new MouseState(mouseEvent.x, getArdor3DY(mouseEvent), 0, 0, 0, null, null); } }
private void addNewState(final MouseEvent mouseEvent, final EnumMap<MouseButton, ButtonState> enumMap, final Multiset<MouseButton> clicks) { final MouseState newState = new MouseState(mouseEvent.getX(), getArdor3DY(mouseEvent), getDX(mouseEvent), getDY(mouseEvent), (mouseEvent instanceof MouseWheelEvent ? ((MouseWheelEvent) mouseEvent) .getWheelRotation() : 0), enumMap, clicks); synchronized (AwtMouseWrapper.this) { _upcomingEvents.add(newState); } _lastState = newState; }
private void addNewState(final MouseEvent mouseEvent, final EnumMap<MouseButton, ButtonState> enumMap, final Multiset<MouseButton> clicks) { final MouseState newState = new MouseState(mouseEvent.getX(), getArdor3DY(mouseEvent), getDX(mouseEvent), getDY(mouseEvent), (mouseEvent instanceof MouseWheelEvent ? ((MouseWheelEvent) mouseEvent).getWheelRotation() : 0), enumMap, clicks); synchronized (AwtMouseWrapper.this) { _upcomingEvents.add(newState); } _lastState = newState; }
private void initState(final MouseEvent mouseEvent) { if (_lastState == null) { _lastState = new MouseState(mouseEvent.getX(), getArdor3DY(mouseEvent), 0, 0, 0, null, null); } }
private void addNewState(final MouseEvent mouseEvent, final int wheelDX, final EnumMap<MouseButton, ButtonState> buttons, final Multiset<MouseButton> clicks) { final MouseState newState = new MouseState(mouseEvent.x, getArdor3DY(mouseEvent), getDX(mouseEvent), getDY(mouseEvent), wheelDX, buttons, clicks); _upcomingEvents.add(newState); _lastState = newState; }
private void addNewState(final MouseEvent mouseEvent, final int wheelDX, final EnumMap<MouseButton, ButtonState> buttons, final Multiset<MouseButton> clicks) { final MouseState newState = new MouseState(mouseEvent.x, getArdor3DY(mouseEvent), getDX(mouseEvent), getDY(mouseEvent), wheelDX, buttons, clicks); _upcomingEvents.add(newState); _lastState = newState; }
private void addNewState(final MouseEvent mouseEvent, final EnumMap<MouseButton, ButtonState> enumMap, final Multiset<MouseButton> clicks) { final MouseState newState = new MouseState(mouseEvent.getX(), getArdor3DY(mouseEvent), getDX(mouseEvent), getDY(mouseEvent), (int) (mouseEvent.isShiftDown() ? mouseEvent.getRotation()[0] : mouseEvent.getRotation()[1]), enumMap, clicks); synchronized (JoglNewtMouseWrapper.this) { _upcomingEvents.add(newState); } _lastState = newState; }
@Override public void invoke(final long window, final double xoffset, final double yoffset) { wheelAccum += yoffset; final int dw = (int) MathUtils.floor(wheelAccum); if (dw == 0) { return; } wheelAccum -= dw; // Add our new state final int x = _lastState != null ? _lastState.getX() : 0; final int y = _lastState != null ? _lastState.getY() : 0; final MouseState event = new MouseState(x, y, 0, 0, dw, Maps.newEnumMap(_lastButtonState), null); addNextState(event); } });
@Override public void invoke(final long window, final int button, final int action, final int mods) { if (_ignoreInput) { return; } final MouseButton mb = getButtonByIndex(button); final boolean down = action == GLFW.GLFW_PRESS; final ButtonState state = down ? ButtonState.DOWN : ButtonState.UP; // check for clicks processButtonForClick(mb, down); // save our state _lastButtonState.put(mb, state); // Add our new state final int x = _lastState != null ? _lastState.getX() : 0; final int y = _lastState != null ? _lastState.getY() : 0; addNextState(new MouseState(x, y, 0, 0, 0, Maps.newEnumMap(_lastButtonState), _sendClickState && !_clicks.isEmpty() ? EnumMultiset.create(_clicks) : null)); } });
_currentMouseState = new MouseState(_currentMouseState.getX(), _currentMouseState.getY(), 0, 0, 0, _currentMouseState.getButtonStates(), _currentMouseState.getClickCounts());
@Before public void setup() throws Exception { keyboardWrapper = createMock("KeyboardWrapper", KeyboardWrapper.class); mouseWrapper = createMock("MouseWrapper", MouseWrapper.class); controllerWrapper = createMock("ControllerWrapper", ControllerWrapper.class); gestureWrapper = createMock("GestureWrapper", GestureWrapper.class); focusWrapper = createMock("FocusWrapper", FocusWrapper.class); pl = new PhysicalLayer(keyboardWrapper, mouseWrapper, controllerWrapper, gestureWrapper, focusWrapper); mocks = new Object[] { keyboardWrapper, mouseWrapper, controllerWrapper, gestureWrapper, focusWrapper }; Adown.add(new KeyEvent(Key.A, KeyState.DOWN, 'a')); AdownBdown.add(new KeyEvent(Key.A, KeyState.DOWN, 'a')); AdownBdown.add(new KeyEvent(Key.B, KeyState.DOWN, 'b')); AdownAup.add(new KeyEvent(Key.A, KeyState.DOWN, 'a')); AdownAup.add(new KeyEvent(Key.A, KeyState.UP, 'a')); buttonDown.add(new MouseState(0, 0, 0, 0, 0, MouseButton.makeMap(ButtonState.DOWN, ButtonState.UP, ButtonState.UP), null)); }
@Test public void testMouseMove() throws Exception { final MouseMovedCondition mm = TriggerConditions.mouseMoved(); final MouseState ms2 = new MouseState(1, 0, 1, 0, 0, bothUp, null); final MouseState ms3 = new MouseState(1, 0, 0, 0, 0, bothDown, null); final MouseState ms4 = new MouseState(3, 1, 2, 1, 0, bothDown, null); final MouseState ms5 = new MouseState(3, 0, 0, -1, 0, bothDown, null); is1 = new InputState(ks, ms, cs, gs); is2 = new InputState(ks, ms2, cs, gs); is3 = new InputState(ks, ms3, cs, gs); is4 = new InputState(ks, ms4, cs, gs); is5 = new InputState(ks, ms5, cs, gs); assertFalse("mm1", mm.apply(new TwoInputStates(is1, is1))); assertTrue("mm2", mm.apply(new TwoInputStates(is1, is2))); assertFalse("mm3", mm.apply(new TwoInputStates(is2, is3))); assertTrue("mm4", mm.apply(new TwoInputStates(is3, is4))); assertTrue("mm5", mm.apply(new TwoInputStates(is4, is5))); assertFalse("mm6", mm.apply(new TwoInputStates(is2, is2))); assertFalse("empty1", mm.apply(new TwoInputStates(InputState.EMPTY, InputState.EMPTY))); assertFalse("empty2", mm.apply(new TwoInputStates(is1, InputState.EMPTY))); assertFalse("empty3", mm.apply(new TwoInputStates(InputState.EMPTY, is1))); assertTrue("empty4", mm.apply(new TwoInputStates(InputState.EMPTY, is2))); }
@Override public void invoke(final long window, final double xpos, final double ypos) { if (_ignoreInput) { return; } final int x = (int) MathUtils.round(xpos); final int y = _canvas.getContentHeight() - (int) MathUtils.round(ypos); final int dx = _lastState != null ? x - _lastState.getX() : 0; final int dy = _lastState != null ? y - _lastState.getY() : 0; if (dx != 0.0 || dy != 0.0) { _clickArmed.clear(); _clicks.clear(); _sendClickState = false; } // Add our new state final MouseState event = new MouseState(x, y, dx, dy, 0, Maps.newEnumMap(_lastButtonState), null); addNextState(event); } });
@Test public void testMouseButton1() throws Exception { final MouseButtonCondition mm = TriggerConditions.leftButtonDown(); final MouseState ms2 = new MouseState(1, 0, 1, 0, 0, bothUp, null); final MouseState ms3 = new MouseState(1, 0, 0, 0, 0, bothDown, null); final MouseState ms4 = new MouseState(3, 1, 2, 1, 0, upDown, null); final MouseState ms5 = new MouseState(3, 0, 0, -1, 0, downUp, null); is1 = new InputState(ks, ms, cs, gs); is2 = new InputState(ks, ms2, cs, gs); is3 = new InputState(ks, ms3, cs, gs); is4 = new InputState(ks, ms4, cs, gs); is5 = new InputState(ks, ms5, cs, gs); assertFalse("mm1", mm.apply(new TwoInputStates(is1, is1))); assertFalse("mm2", mm.apply(new TwoInputStates(is1, is2))); assertTrue("mm3", mm.apply(new TwoInputStates(is2, is3))); assertFalse("mm4", mm.apply(new TwoInputStates(is3, is4))); assertTrue("mm5", mm.apply(new TwoInputStates(is4, is5))); assertFalse("empty1", mm.apply(new TwoInputStates(InputState.EMPTY, InputState.EMPTY))); assertFalse("empty2", mm.apply(new TwoInputStates(is1, InputState.EMPTY))); assertFalse("empty3", mm.apply(new TwoInputStates(InputState.EMPTY, is1))); assertTrue("empty4", mm.apply(new TwoInputStates(InputState.EMPTY, is3))); }
@Test public void testMouseButton2() throws Exception { final MouseButtonCondition mm = TriggerConditions.rightButtonDown(); final MouseState ms2 = new MouseState(1, 0, 1, 0, 0, bothUp, null); final MouseState ms3 = new MouseState(1, 0, 0, 0, 0, bothDown, null); final MouseState ms4 = new MouseState(3, 1, 2, 1, 0, upDown, null); final MouseState ms5 = new MouseState(3, 0, 0, -1, 0, downUp, null); is1 = new InputState(ks, ms, cs, gs); is2 = new InputState(ks, ms2, cs, gs); is3 = new InputState(ks, ms3, cs, gs); is4 = new InputState(ks, ms4, cs, gs); is5 = new InputState(ks, ms5, cs, gs); assertFalse("mm1", mm.apply(new TwoInputStates(is1, is1))); assertFalse("mm2", mm.apply(new TwoInputStates(is1, is2))); assertTrue("mm3", mm.apply(new TwoInputStates(is2, is3))); assertTrue("mm4", mm.apply(new TwoInputStates(is3, is4))); assertFalse("mm5", mm.apply(new TwoInputStates(is4, is5))); assertFalse("empty1", mm.apply(new TwoInputStates(InputState.EMPTY, InputState.EMPTY))); assertFalse("empty2", mm.apply(new TwoInputStates(is1, InputState.EMPTY))); assertFalse("empty3", mm.apply(new TwoInputStates(InputState.EMPTY, is1))); assertTrue("empty4", mm.apply(new TwoInputStates(InputState.EMPTY, is3))); } }
final MouseState nextState = new MouseState(Mouse.getEventX(), Mouse.getEventY(), Mouse.getEventDX(), Mouse .getEventDY(), Mouse.getEventDWheel(), buttons, null); _nextState = nextState; _sendClickState = false; return new MouseState(nextState.getX(), nextState.getY(), nextState.getDx(), nextState.getDy(), nextState.getDwheel(), buttons, EnumMultiset.create(_clicks)); } else {
@SuppressWarnings({ "unchecked" }) @Before public void setup() throws Exception { pl = createMock("Physicallayer", PhysicalLayer.class); ta1 = createMock("TA1", TriggerAction.class); ta2 = createMock("TA2", TriggerAction.class); p1 = createMock("P1", Predicate.class); p2 = createMock("P2", Predicate.class); canvas = createMock("canvas", Canvas.class); ll = new LogicalLayer(); ll.registerInput(canvas, pl); ks = new KeyboardState(EnumSet.noneOf(Key.class), KeyEvent.NOTHING); ms = new MouseState(0, 0, 0, 0, 0, MouseButton.makeMap(ButtonState.UP, ButtonState.UP, ButtonState.UP), null); cs = new ControllerState(); gs = new GestureState(); mocks = new Object[] { pl, ta1, ta2, p1, p2, canvas }; }