From 56d60b36798fa8dae48bf2aa5e2de6f3178ab0d1 Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Mon, 26 May 2014 18:54:27 +0200
Subject: Bug 741 HiDPI: Refine Monitor/Screen [virtual] Viewport Definition /
 Add NEWT Support / Fix JAWT getPixelScale deadlock

- NativeWindow/Surface/NEWT API DOC: Define Coordinate System of Window and Screen

- OSXUtil: Add getPixelScale(..) via Screen index and 'windowOrView'

- JAWTWindow/JAWTUtil.getPixelScale(..): Use pre-fetched AWT GraphicsConfiguration to solve AWT-TreeLock (deadlock)

- [Virtual] Viewport of MonitorDevice and Screen:
  - Properly calculate and expose [virtual] viewport in window and pixel units
    - OSX Monitor viewports in pixel units are 'reconstructed'
  - Window/Viewport to Monitor selection shall be perfomed via window units (unique)

- OSX NEWT Window create/init (native): Use given size and coordinates even in fullscreen mode
  Don't override by quering NSScreen coordinates, trust given values.

- Fix test cases, i.e. usage of pixel- and window-units
---
 src/newt/native/WindowsWindow.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

(limited to 'src/newt/native/WindowsWindow.c')

diff --git a/src/newt/native/WindowsWindow.c b/src/newt/native/WindowsWindow.c
index c20e156c1..70d0c6f83 100644
--- a/src/newt/native/WindowsWindow.c
+++ b/src/newt/native/WindowsWindow.c
@@ -1859,10 +1859,14 @@ JNIEXPORT jintArray JNICALL Java_jogamp_newt_driver_windows_ScreenDriver_getMoni
     prop[propIndex++] = monitor_idx;
     prop[propIndex++] = widthmm;
     prop[propIndex++] = heightmm;
-    prop[propIndex++] = dm.dmPosition.x; // rotated viewport
-    prop[propIndex++] = dm.dmPosition.y; // rotated viewport
-    prop[propIndex++] = dm.dmPelsWidth;  // rotated viewport
-    prop[propIndex++] = dm.dmPelsHeight; // rotated viewport
+    prop[propIndex++] = dm.dmPosition.x; // rotated viewport pixel units
+    prop[propIndex++] = dm.dmPosition.y; // rotated viewport pixel units
+    prop[propIndex++] = dm.dmPelsWidth;  // rotated viewport pixel units
+    prop[propIndex++] = dm.dmPelsHeight; // rotated viewport pixel units
+    prop[propIndex++] = dm.dmPosition.x; // rotated viewport window units (same)
+    prop[propIndex++] = dm.dmPosition.y; // rotated viewport window units (same)
+    prop[propIndex++] = dm.dmPelsWidth;  // rotated viewport window units (same)
+    prop[propIndex++] = dm.dmPelsHeight; // rotated viewport window units (same)
 
     jintArray properties = (*env)->NewIntArray(env, propCount);
     if (properties == NULL) {
-- 
cgit v1.2.3