aboutsummaryrefslogtreecommitdiffstats
path: root/src/newt/classes/com/jogamp
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-11-06 07:06:58 +0100
committerSven Gothel <[email protected]>2013-11-06 07:06:58 +0100
commit24eab4dc2a14eed97897ec61b69f7f845ab84e04 (patch)
tree11bfb932a45d2b0837b06e4a87ff4f15636cc573 /src/newt/classes/com/jogamp
parent44117f78f5d4fb3329409a92d758562d013298af (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.java21
-rw-r--r--src/newt/classes/com/jogamp/newt/opengl/GLWindow.java5
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);
}