diff options
author | Sven Gothel <[email protected]> | 2014-01-09 18:51:16 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-01-09 18:51:16 +0100 |
commit | 667eca532d3749b0f08e694f36624ff7f621a9c8 (patch) | |
tree | d400b1b3e33ff8d9d56c899867250f8a44aba3d1 /src/newt/classes | |
parent | bf0e93260dbd6cb8b6ee0cd10d81341906e62da9 (diff) |
Bug 676 - Add support for native Mouse Pointer rendering (Rasp.-Pi.) - Intercept sendMouseEvent(..)
Intercepting 'sendMouseEvent(..)' to reduce the lag (time) and listener footprint.
Diffstat (limited to 'src/newt/classes')
-rw-r--r-- | src/newt/classes/jogamp/newt/WindowImpl.java | 4 | ||||
-rw-r--r-- | src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java | 23 |
2 files changed, 5 insertions, 22 deletions
diff --git a/src/newt/classes/jogamp/newt/WindowImpl.java b/src/newt/classes/jogamp/newt/WindowImpl.java index dc9affd63..f3bbd7a24 100644 --- a/src/newt/classes/jogamp/newt/WindowImpl.java +++ b/src/newt/classes/jogamp/newt/WindowImpl.java @@ -2539,8 +2539,8 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer // Native MouseEvents pre-processed to be enqueued or consumed directly // - public final void sendMouseEvent(final short eventType, final int modifiers, - final int x, final int y, final short button, final float rotation) { + public void sendMouseEvent(final short eventType, final int modifiers, + final int x, final int y, final short button, final float rotation) { doMouseEvent(false, false, eventType, modifiers, x, y, button, MouseEvent.getRotationXYZ(rotation, modifiers), 1f); } public final void enqueueMouseEvent(final boolean wait, final short eventType, final int modifiers, diff --git a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java index 5109d0fbb..c05d8d1e8 100644 --- a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java @@ -39,8 +39,7 @@ import javax.media.nativewindow.util.Insets; import javax.media.nativewindow.util.Point; import com.jogamp.nativewindow.egl.EGLGraphicsDevice; -import com.jogamp.newt.event.MouseListener; -import com.jogamp.newt.event.MouseAdapter; +import com.jogamp.newt.event.MouseEvent; import jogamp.newt.PointerIconImpl; import jogamp.newt.WindowImpl; @@ -100,29 +99,14 @@ public class WindowDriver extends WindowImpl { addWindowListener(linuxEventDeviceTracker); addWindowListener(linuxMouseTracker); - addMouseListener(mousePointerTracker); focusChanged(false, true); } - final MouseListener mousePointerTracker = new MouseAdapter() { - @Override - public void mouseMoved(com.jogamp.newt.event.MouseEvent e) { - final DisplayDriver display = (DisplayDriver) getScreen().getDisplay(); - display.moveActivePointerIcon(e.getX(), e.getY()); - } - - @Override - public void mouseDragged(com.jogamp.newt.event.MouseEvent e) { - final DisplayDriver display = (DisplayDriver) getScreen().getDisplay(); - display.moveActivePointerIcon(e.getX(), e.getY()); - } - }; @Override protected void closeNativeImpl() { final DisplayDriver display = (DisplayDriver) getScreen().getDisplay(); final EGLGraphicsDevice eglDevice = (EGLGraphicsDevice) getGraphicsConfiguration().getScreen().getDevice(); - removeMouseListener(mousePointerTracker); removeWindowListener(linuxMouseTracker); removeWindowListener(linuxEventDeviceTracker); @@ -182,16 +166,15 @@ public class WindowDriver extends WindowImpl { // nop .. } - /** @Override public final void sendMouseEvent(final short eventType, final int modifiers, final int x, final int y, final short button, final float rotation) { - if( MouseEvent.MOUSE_MOVED == eventType ) { + if( MouseEvent.EVENT_MOUSE_MOVED == eventType ) { final DisplayDriver display = (DisplayDriver) getScreen().getDisplay(); display.moveActivePointerIcon(x, y); } super.sendMouseEvent(eventType, modifiers, x, y, button, rotation); - } */ + } @Override protected void setPointerIconImpl(final PointerIconImpl pi) { |