summaryrefslogtreecommitdiffstats
path: root/src/newt/classes/com/jogamp/newt/Window.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/newt/classes/com/jogamp/newt/Window.java')
-rw-r--r--src/newt/classes/com/jogamp/newt/Window.java73
1 files changed, 70 insertions, 3 deletions
diff --git a/src/newt/classes/com/jogamp/newt/Window.java b/src/newt/classes/com/jogamp/newt/Window.java
index 30b02cb61..99089d3d7 100644
--- a/src/newt/classes/com/jogamp/newt/Window.java
+++ b/src/newt/classes/com/jogamp/newt/Window.java
@@ -130,6 +130,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* <p>Changing this state is <a href="#lifecycleHeavy">lifecycle heavy</a>.</p>
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code false}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -140,6 +141,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* otherwise the custom position is being enforced.</p>
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code true}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -152,6 +154,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* <p>Changing this state is <a href="#lifecycleHeavy">lifecycle heavy</a>.</p>
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code false}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -160,6 +163,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* Set if window has <i>the input focus</i>, otherwise cleared.
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code false}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -168,6 +172,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* Set if window has <i>window decorations</i>, otherwise cleared.
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code false}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -176,6 +181,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* Set if window is <i>always on top</i>, otherwise cleared.
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code false}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -184,6 +190,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* Set if window is <i>always on bottom</i>, otherwise cleared.
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code false}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -192,12 +199,13 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* Set if window is <i>sticky</i>, i.e. visible <i>on all virtual desktop</i>, otherwise cleared.
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code false}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_BIT_STICKY = 7; // reconfig-flag
/**
- * Set if window is <i>resizable</i>, otherwise cleared.
+ * Set if window is <i>resizable</i> after creation, otherwise cleared.
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code true}.</p>
* @see #getStateMask()
@@ -208,6 +216,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* Set if window is <i>maximized vertically</i>, otherwise cleared.
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code false}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -216,6 +225,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* Set if window is <i>maximized horizontally</i>, otherwise cleared.
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code false}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -228,6 +238,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* </p>
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code false}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -237,6 +248,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* Set if the <i>pointer is visible</i> when inside the window, otherwise cleared.
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code true}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -245,84 +257,131 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* Set if the <i>pointer is confined</i> to the window, otherwise cleared.
* <p>Bit number {@value}.</p>
* <p>Defaults to {@code false}.</p>
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_BIT_POINTERCONFINED = 13;
/**
+ * Set if window is <i>repositionable</i> after creation, otherwise cleared.
+ * <p>Bit number {@value}.</p>
+ * <p>Defaults to {@code true}.</p>
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
+ * @since 2.4.0
+ */
+ public static final int STATE_BIT_REPOSITIONABLE = 14; // reconfig-flag
+
+ /**
* Bitmask for {@link #STATE_BIT_VISIBLE}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_VISIBLE = 1 << STATE_BIT_VISIBLE;
/**
* Bitmask for {@link #STATE_BIT_AUTOPOSITION}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_AUTOPOSITION = 1 << STATE_BIT_AUTOPOSITION;
/**
* Bitmask for {@link #STATE_BIT_CHILDWIN}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_CHILDWIN = 1 << STATE_BIT_CHILDWIN;
/**
* Bitmask for {@link #STATE_BIT_FOCUSED}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_FOCUSED = 1 << STATE_BIT_FOCUSED;
/**
* Bitmask for {@link #STATE_BIT_UNDECORATED}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_UNDECORATED = 1 << STATE_BIT_UNDECORATED;
/**
* Bitmask for {@link #STATE_BIT_ALWAYSONTOP}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_ALWAYSONTOP = 1 << STATE_BIT_ALWAYSONTOP;
/**
* Bitmask for {@link #STATE_BIT_ALWAYSONBOTTOM}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_ALWAYSONBOTTOM = 1 << STATE_BIT_ALWAYSONBOTTOM;
/**
* Bitmask for {@link #STATE_BIT_STICKY}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_STICKY = 1 << STATE_BIT_STICKY;
/**
* Bitmask for {@link #STATE_BIT_RESIZABLE}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_RESIZABLE = 1 << STATE_BIT_RESIZABLE;
/**
* Bitmask for {@link #STATE_BIT_MAXIMIZED_VERT}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_MAXIMIZED_VERT = 1 << STATE_BIT_MAXIMIZED_VERT;
/**
* Bitmask for {@link #STATE_BIT_MAXIMIZED_HORZ}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_MAXIMIZED_HORZ = 1 << STATE_BIT_MAXIMIZED_HORZ;
/**
* Bitmask for {@link #STATE_BIT_FULLSCREEN}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_FULLSCREEN = 1 << STATE_BIT_FULLSCREEN;
/**
* Bitmask for {@link #STATE_BIT_POINTERVISIBLE}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_POINTERVISIBLE = 1 << STATE_BIT_POINTERVISIBLE;
/**
* Bitmask for {@link #STATE_BIT_POINTERCONFINED}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
* @since 2.3.2
*/
public static final int STATE_MASK_POINTERCONFINED = 1 << STATE_BIT_POINTERCONFINED;
+ /**
+ * Bitmask for {@link #STATE_BIT_REPOSITIONABLE}, {@value}.
+ * @see #getSupportedStateMask()
+ * @see #getStateMask()
+ * @since 2.4.0
+ */
+ public static final int STATE_MASK_REPOSITIONABLE = 1 << STATE_BIT_REPOSITIONABLE;
/**
* Number of all public state bits.
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -330,6 +389,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
/**
* Bitmask covering all public state bits.
+ * @see #getSupportedStateMask()
* @see #getStateMask()
* @since 2.3.2
*/
@@ -352,6 +412,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* @see #STATE_MASK_FULLSCREEN
* @see #STATE_MASK_POINTERVISIBLE
* @see #STATE_MASK_POINTERCONFINED
+ * @see #STATE_MASK_REPOSITIONABLE
* @since 2.3.2
*/
int getStateMask();
@@ -372,10 +433,13 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* Please note that a window's size shall also be allowed to change, i.e. {@link #setSize(int, int)}.
* </p>
* <p>
- * Default value is {@link #STATE_MASK_VISIBLE} | {@link #STATE_MASK_FOCUSED} | {@link #STATE_MASK_FULLSCREEN},
+ * Default minimum value is {@link #STATE_MASK_VISIBLE} | {@link #STATE_MASK_FOCUSED},
* i.e. the <b>minimum requirement</b> for all implementations.
* </p>
* <p>
+ * Usual desktop minimum value is {@link #STATE_MASK_VISIBLE} | {@link #STATE_MASK_FOCUSED} | {@link STATE_MASK_FULLSCREEN} | {@link STATE_MASK_RESIZABLE} | {@link STATE_MASK_REPOSITIONABLE}.
+ * </p>
+ * <p>
* Before native window creation {@link #getStatePublicBitmask()} is returned,
* i.e. it is assumed all features are supported.
* </p>
@@ -389,12 +453,13 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* <li>{@link #STATE_MASK_ALWAYSONTOP}: Window can be set {@link #setAlwaysOnTop(boolean) always-on-top}. </li>
* <li>{@link #STATE_MASK_ALWAYSONBOTTOM}: Window can be set {@link #setAlwaysOnBottom(boolean) always-on-bottom}. </li>
* <li>{@link #STATE_MASK_STICKY}: Window can be set {@link #setSticky(boolean) sticky}.</li>
- * <li>{@link #STATE_MASK_RESIZABLE}: Window {@link #setResizable(boolean) resizability} can be toggled.</li>
+ * <li>{@link #STATE_MASK_RESIZABLE}: Window {@link #setResizable(boolean) resizability} can be toggled and it's {@link #setSize(int, int) size} can be changed.</li>
* <li>{@link #STATE_MASK_MAXIMIZED_VERT}: Window can be {@link #setMaximized(boolean, boolean) maximized-vertically}. </li>
* <li>{@link #STATE_MASK_MAXIMIZED_HORZ}: Window can be {@link #setMaximized(boolean, boolean) maximized-horizontally}. </li>
* <li>{@link #STATE_MASK_FULLSCREEN}: Window {@link #setFullscreen(boolean) fullscreen} can be toggled. </li>
* <li>{@link #STATE_MASK_POINTERVISIBLE}: Window {@link #setPointerVisible(boolean) pointer visibility} can be toggled. </li>
* <li>{@link #STATE_MASK_POINTERCONFINED}: Window {@link #confinePointer(boolean) pointer can be confined}. </li>
+ * <li>{@link #STATE_MASK_REPOSITIONABLE}: Window {@link #setPosition(int, int) position} can be changed.</li>
* </ul>
* </p>
* @see #getStateMask()
@@ -605,6 +670,8 @@ public interface Window extends NativeWindow, WindowClosingProtocol, ScalableSur
* @param width of the window's client area in window units
* @param height of the window's client area in window units
*
+ * @see {@link #STATE_BIT_RESIZABLE}
+ * @see {@link #STATE_MASK_RESIZABLE}
* @see #setSurfaceSize(int, int)
* @see #setTopLevelSize(int, int)
* @see #getInsets()