summaryrefslogtreecommitdiffstats
path: root/src/newt/classes/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/newt/classes/com')
-rw-r--r--src/newt/classes/com/jogamp/newt/NewtFactory.java8
-rw-r--r--src/newt/classes/com/jogamp/newt/event/MouseEvent.java24
2 files changed, 21 insertions, 11 deletions
diff --git a/src/newt/classes/com/jogamp/newt/NewtFactory.java b/src/newt/classes/com/jogamp/newt/NewtFactory.java
index b3e904310..e66b2f624 100644
--- a/src/newt/classes/com/jogamp/newt/NewtFactory.java
+++ b/src/newt/classes/com/jogamp/newt/NewtFactory.java
@@ -44,8 +44,6 @@ import javax.media.nativewindow.CapabilitiesImmutable;
import javax.media.nativewindow.NativeWindow;
import javax.media.nativewindow.NativeWindowFactory;
-import com.jogamp.common.os.Platform;
-
import jogamp.newt.Debug;
import jogamp.newt.DisplayImpl;
import jogamp.newt.ScreenImpl;
@@ -56,13 +54,15 @@ public class NewtFactory {
public static final String DRIVER_DEFAULT_ROOT_PACKAGE = "jogamp.newt.driver";
- // Work-around for initialization order problems on Mac OS X
- // between native Newt and (apparently) Fmod
static {
AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {
NativeWindowFactory.initSingleton(); // last resort ..
+
+ // Work-around for initialization order problems on Mac OS X
+ // between native Newt and (apparently) Fmod
WindowImpl.init(NativeWindowFactory.getNativeWindowType(true));
+
return null;
} } );
}
diff --git a/src/newt/classes/com/jogamp/newt/event/MouseEvent.java b/src/newt/classes/com/jogamp/newt/event/MouseEvent.java
index 914aaa647..e6b3d8a24 100644
--- a/src/newt/classes/com/jogamp/newt/event/MouseEvent.java
+++ b/src/newt/classes/com/jogamp/newt/event/MouseEvent.java
@@ -65,7 +65,7 @@ public class MouseEvent extends InputEvent
public MouseEvent(int eventType, Object source, long when,
int modifiers, int x, int y, int clickCount, int button,
- int rotation)
+ float rotation)
{
super(eventType, source, when, modifiers);
this.x = new int[]{x};
@@ -79,7 +79,7 @@ public class MouseEvent extends InputEvent
public MouseEvent(int eventType, Object source, long when,
int modifiers, int[] x, int[] y, float[] pressure, int[] pointerids, int clickCount, int button,
- int rotation)
+ float rotation)
{
super(eventType, source, when, modifiers);
this.x = x;
@@ -154,20 +154,29 @@ public class MouseEvent extends InputEvent
}
/**
- * <i>Usually</i> a wheel rotation of <b>&gt; 0 is up</b>,
- * and <b>&lt; 0 is down</b>.<br>
+ * <i>Usually</i> a wheel rotation of <b>&gt; 0.0f is up</b>,
+ * and <b>&lt; 0.0f is down</b>.
+ * <p>
+ * Usually a wheel rotations is considered a vertical scroll.<br/>
+ * If {@link #isShiftDown()}, a wheel rotations is
+ * considered a horizontal scroll, where <b>shift-up = left = &gt; 0.0f</b>,
+ * and <b>shift-down = right = &lt; 0.0f</b>.
+ * </p>
+ * <p>
* <i>However</i>, on some OS this might be flipped due to the OS <i>default</i> behavior.
* The latter is true for OS X 10.7 (Lion) for example.
+ * </p>
* <p>
- * The events will be send usually in steps of one, ie. <i>-1</i> and <i>1</i>.
+ * The events will be send usually in steps of one, ie. <i>-1.0f</i> and <i>1.0f</i>.
* Higher values may result due to fast scrolling.
+ * Fractional values may result due to slow scrolling with high resolution devices.
* </p>
* <p>
* The button number refers to the wheel number.
* </p>
* @return
*/
- public int getWheelRotation() {
+ public float getWheelRotation() {
return wheelRotation;
}
@@ -212,7 +221,8 @@ public class MouseEvent extends InputEvent
default: return "unknown (" + type + ")";
}
}
- private final int x[], y[], clickCount, button, wheelRotation;
+ private final int x[], y[], clickCount, button;
+ private final float wheelRotation;
private final float pressure[];
private final int pointerids[];