diff options
Diffstat (limited to 'src/newt/classes')
-rw-r--r-- | src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java | 1 | ||||
-rw-r--r-- | src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java index 5a924149c..929980d52 100644 --- a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java +++ b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java @@ -55,6 +55,7 @@ import jogamp.newt.awt.event.NewtFactoryAWT; import javax.swing.MenuSelectionManager; +@SuppressWarnings("serial") public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProtocol { public static final boolean DEBUG = Debug.debug("Window"); diff --git a/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java b/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java index 8fe32029c..b34f9a26c 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java @@ -200,8 +200,10 @@ public class MacWindow extends WindowImpl { } } { + // On MacOSX the absolute position is required to position + // a window - even for a child window! final NativeWindow parent = getParent(); - if(null != parent) { + if( null != parent && 0 != parent.getWindowHandle() ) { final Point p = parent.getLocationOnScreen(null); _x += p.getX(); _y += p.getY(); @@ -218,7 +220,9 @@ public class MacWindow extends WindowImpl { if( getWindowHandle() == 0 ) { if( 0 != ( FLAG_IS_VISIBLE & flags) ) { - createWindow(false, _x, _y, width, height, 0 != ( FLAG_IS_FULLSCREEN & flags)); + // FIXME: for some reason we do not need (or can use) + // the absolute position at creation time .. need to determine the reason/mechanics. + createWindow(false, x, y, width, height, 0 != ( FLAG_IS_FULLSCREEN & flags)); this.x = x; this.y = y; visibleChanged(false, true); // no native event .. @@ -237,6 +241,8 @@ public class MacWindow extends WindowImpl { } else if( 0 != ( FLAG_CHANGE_DECORATION & flags) || 0 != ( FLAG_CHANGE_PARENTING & flags) || 0 != ( FLAG_CHANGE_FULLSCREEN & flags) ) { + // FIXME: for some reason we do not need (or can use) + // the absolute position at creation time .. need to determine the reason/mechanics. createWindow(true, x, y, width, height, 0 != ( FLAG_IS_FULLSCREEN & flags)); } if(x>=0 && y>=0) { |