summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2014-01-09 18:51:16 +0100
committerSven Gothel <[email protected]>2014-01-09 18:51:16 +0100
commit667eca532d3749b0f08e694f36624ff7f621a9c8 (patch)
treed400b1b3e33ff8d9d56c899867250f8a44aba3d1 /src
parentbf0e93260dbd6cb8b6ee0cd10d81341906e62da9 (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')
-rw-r--r--src/newt/classes/jogamp/newt/WindowImpl.java4
-rw-r--r--src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java23
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) {