diff options
author | Sven Gothel <[email protected]> | 2013-11-06 07:06:58 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-11-06 07:06:58 +0100 |
commit | 24eab4dc2a14eed97897ec61b69f7f845ab84e04 (patch) | |
tree | 11bfb932a45d2b0837b06e4a87ff4f15636cc573 /src/newt/classes/com/jogamp | |
parent | 44117f78f5d4fb3329409a92d758562d013298af (diff) |
NEWT Window: Expose 'setVisible(boolean wait, boolean visible)' allowing applications to not block until window becomes visible.
Diffstat (limited to 'src/newt/classes/com/jogamp')
-rw-r--r-- | src/newt/classes/com/jogamp/newt/Window.java | 21 | ||||
-rw-r--r-- | src/newt/classes/com/jogamp/newt/opengl/GLWindow.java | 5 |
2 files changed, 21 insertions, 5 deletions
diff --git a/src/newt/classes/com/jogamp/newt/Window.java b/src/newt/classes/com/jogamp/newt/Window.java index 04eb07a25..869b56331 100644 --- a/src/newt/classes/com/jogamp/newt/Window.java +++ b/src/newt/classes/com/jogamp/newt/Window.java @@ -158,10 +158,21 @@ public interface Window extends NativeWindow, WindowClosingProtocol { void setWindowDestroyNotifyAction(Runnable r); /** - * <code>setVisible</code> makes the window and children visible if <code>visible</code> is true, + * Calls {@link #setVisible(boolean, boolean) setVisible(true, visible)}, + * i.e. blocks until the window becomes visible. + * @see #setVisible(boolean, boolean) + */ + void setVisible(boolean visible); + + /** + * <code>setVisible(..)</code> makes the window and children visible if <code>visible</code> is true, * otherwise the window and children becomes invisible. * <p> - * The <code>setVisible(true)</code> is responsible to actual create the native window. + * <code>setVisible(wait, true)</code> is responsible to actual create the native window. + * </p> + * <p> + * If <code>wait</code> is true, method blocks until window is {@link #isVisible() visible} and {@link #isNativeValid() valid}, + * otherwise method returns immediately. * </p> * <p> * Zero size semantics are respected, see {@link #setSize(int,int)}:<br> @@ -178,12 +189,12 @@ public interface Window extends NativeWindow, WindowClosingProtocol { * </pre></p> * <p> * In case this window is a child window and has a {@link javax.media.nativewindow.NativeWindow} parent,<br> - * <code>setVisible(true)</code> has no effect as long the parent's is not valid yet, + * <code>setVisible(wait, true)</code> has no effect as long the parent's is not valid yet, * i.e. {@link javax.media.nativewindow.NativeWindow#getWindowHandle()} returns <code>null</code>.<br> - * <code>setVisible(true)</code> shall be repeated when the parent becomes valid. + * <code>setVisible(wait, true)</code> shall be repeated when the parent becomes valid. * </p> */ - void setVisible(boolean visible); + void setVisible(boolean wait, boolean visible); boolean isVisible(); diff --git a/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java b/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java index 4f259fe9a..52f19f783 100644 --- a/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java +++ b/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java @@ -426,6 +426,11 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind } @Override + public void setVisible(boolean wait, boolean visible) { + window.setVisible(wait, visible); + } + + @Override public final void setSize(int width, int height) { window.setSize(width, height); } |