summaryrefslogtreecommitdiffstats
path: root/src/nativewindow/classes/jogamp
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2015-03-21 04:37:39 +0100
committerSven Gothel <[email protected]>2015-03-21 04:37:39 +0100
commit7438540ee6604cf91e14f12da891834d4cd83cfe (patch)
treef08c7ebae83b406450b83c6b8f17c608ad1c7c48 /src/nativewindow/classes/jogamp
parent9a8ae7c79cb6a89626eeb6a9a00fc9e32f9c0a71 (diff)
Bug 1148 - OSX MonitorDevice: Use unique and native deviceID instead of index
Adopt to bug 1147, commit 2c88b6dfd4eb7e2cd9a50fa48e08ecafc980931a. Using the native unique deviceID makes monitor identification more robust. This also allows us simplify displayID -> NSScreen-idx -> MonitorDevice into displayID -> MonitorDevice and to survive a primary monitor change.
Diffstat (limited to 'src/nativewindow/classes/jogamp')
-rw-r--r--src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java9
-rw-r--r--src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java20
2 files changed, 14 insertions, 15 deletions
diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java
index 93c3dbaf7..3b824cfe4 100644
--- a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java
+++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java
@@ -550,19 +550,18 @@ public class JAWTUtil {
return jawtToolkitLock;
}
- public static final int getMonitorIndex(final GraphicsDevice device) {
- int idx = -1;
+ public static final int getMonitorDisplayID(final GraphicsDevice device) {
+ int displayID = 0;
if( null != getCGDisplayIDMethodOnOSX ) {
// OSX specific
try {
final Object res = getCGDisplayIDMethodOnOSX.invoke(device);
if (res instanceof Integer) {
- final int displayID = ((Integer)res).intValue();
- idx = OSXUtil.GetNSScreenIdx(displayID);
+ displayID = ((Integer)res).intValue();
}
} catch (final Throwable t) {}
}
- return idx;
+ return displayID;
}
/**
diff --git a/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java b/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java
index a5970b87c..8ad089a56 100644
--- a/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java
+++ b/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java
@@ -107,17 +107,19 @@ public class OSXUtil implements ToolkitProperties {
return (Insets) GetInsets0(windowOrView);
}
- public static int GetNSScreenIdx(final int displayID) {
- return GetNSScreenIdx0(displayID);
- }
- public static double GetPixelScaleByScreenIdx(final int screenIndex) {
- return GetPixelScale0(screenIndex);
- }
public static double GetPixelScaleByDisplayID(final int displayID) {
- return GetPixelScale1(displayID);
+ if( 0 != displayID ) {
+ return GetPixelScale1(displayID);
+ } else {
+ return 1.0; // default
+ }
}
public static double GetPixelScale(final long windowOrView) {
- return GetPixelScale2(windowOrView);
+ if( 0 != windowOrView ) {
+ return GetPixelScale2(windowOrView);
+ } else {
+ return 1.0; // default
+ }
}
public static long CreateNSWindow(final int x, final int y, final int width, final int height) {
@@ -398,8 +400,6 @@ public class OSXUtil implements ToolkitProperties {
private static native boolean isNSWindow0(long object);
private static native Object GetLocationOnScreen0(long windowOrView, int src_x, int src_y);
private static native Object GetInsets0(long windowOrView);
- private static native int GetNSScreenIdx0(int displayID);
- private static native double GetPixelScale0(int screenIndex);
private static native double GetPixelScale1(int displayID);
private static native double GetPixelScale2(long windowOrView);
private static native long CreateNSWindow0(int x, int y, int width, int height);