|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface Window
Specifying NEWT's Window functionality:
One use case is GLWindow, which delegates
window operation to an instance of this interface while providing OpenGL
functionality.
Custom window icons can be defined via system property newt.window.icons,
which shall contain a space separated list of PNG icon locations from low- to high-resolution.
The location must be resolvable via classpath, i.e. shall reference a location within the jar file.
Example (our default):
-Dnewt.window.icons="newt/data/jogamp-16x16.png newt/data/jogamp-32x32.png" -Djnlp.newt.window.icons="newt/data/jogamp-16x16.png newt/data/jogamp-32x32.png"The property can also be set programmatically, which must happen before any NEWT classes are touched:
System.setProperty("newt.window.icons", "newt/data/jogamp-16x16.png newt/data/jogamp-32x32.png");
| Nested Class Summary | |
|---|---|
static interface |
Window.FocusRunnable
|
static class |
Window.ReparentOperation
Reparenting operation types |
| Nested classes/interfaces inherited from interface javax.media.nativewindow.WindowClosingProtocol |
|---|
WindowClosingProtocol.WindowClosingMode |
| Field Summary | |
|---|---|
static boolean |
DEBUG_IMPLEMENTATION
|
static boolean |
DEBUG_KEY_EVENT
|
static boolean |
DEBUG_MOUSE_EVENT
|
static int |
REPARENT_HINT_BECOMES_VISIBLE
Reparenting hint (bitfield value): Claim window becomes visible after reparenting, which is important for e.g. |
static int |
REPARENT_HINT_FORCE_RECREATION
Reparenting hint (bitfield value): Force destroy and hence re-creating the window. |
static long |
TIMEOUT_NATIVEWINDOW
A 1s timeout while waiting for a native action response, ie setVisible(boolean). |
| Fields inherited from interface javax.media.nativewindow.NativeSurface |
|---|
LOCK_SUCCESS, LOCK_SURFACE_CHANGED, LOCK_SURFACE_NOT_READY, LOCK_SURFACE_UNLOCKED |
| Method Summary | |
|---|---|
boolean |
addChild(NativeWindow win)
|
void |
addGestureHandler(GestureHandler gh)
Appends the given GestureHandler to the end of the list. |
void |
addGestureHandler(int index,
GestureHandler gh)
Inserts the given GestureHandler at the
specified position in the list. |
void |
addGestureListener(GestureHandler.GestureListener gl)
Appends the given GestureHandler.GestureListener to the end of the list. |
void |
addGestureListener(int index,
GestureHandler.GestureListener gl)
Inserts the given GestureHandler.GestureListener at the
specified position in the list. |
void |
addKeyListener(int index,
KeyListener l)
Inserts the given KeyListener at the
specified position in the list. |
void |
addKeyListener(KeyListener l)
Appends the given KeyListener to the end of
the list. |
void |
addMouseListener(int index,
MouseListener l)
Inserts the given MouseListener at the
specified position in the list. |
void |
addMouseListener(MouseListener l)
Appends the given MouseListener to the end of the list. |
void |
addWindowListener(int index,
WindowListener l)
Inserts the given WindowListener at the
specified position in the list. |
void |
addWindowListener(WindowListener l)
Appends the given WindowListener to the end of
the list. |
boolean |
areDefaultGesturesEnabled()
Return true if default GestureHandler are enabled. |
void |
confinePointer(boolean confine)
Confine the pointer to this window, ie. |
void |
destroy()
Destroys this window incl. |
void |
enqueueEvent(boolean wait,
NEWTEvent event)
|
CapabilitiesImmutable |
getChosenCapabilities()
Gets an immutable set of chosen capabilities. |
Window |
getDelegatedWindow()
If the implementation uses delegation, return the delegated Window instance,
otherwise return this instance. |
KeyListener |
getKeyListener(int index)
|
KeyListener[] |
getKeyListeners()
|
MonitorDevice |
getMainMonitor()
Returns the MonitorDevice which viewport
covers this window the most. |
MouseListener |
getMouseListener(int index)
Returns the MouseListener from the list at the given index. |
MouseListener[] |
getMouseListeners()
Returns all MouseListener |
Display.PointerIcon |
getPointerIcon()
Returns the current Display.PointerIcon, which maybe null for the default. |
CapabilitiesImmutable |
getRequestedCapabilities()
Gets an immutable set of requested capabilities. |
Screen |
getScreen()
|
String |
getTitle()
|
WindowListener |
getWindowListener(int index)
|
WindowListener[] |
getWindowListeners()
|
boolean |
isAlwaysOnTop()
|
boolean |
isFullscreen()
|
boolean |
isKeyboardVisible()
Return true if the virtual on-screen keyboard is visible, otherwise false. |
boolean |
isNativeValid()
|
boolean |
isPointerConfined()
|
boolean |
isPointerVisible()
|
boolean |
isUndecorated()
|
boolean |
isVisible()
|
boolean |
removeChild(NativeWindow win)
|
void |
removeGestureHandler(GestureHandler gh)
Removes the given GestureHandler from the list. |
void |
removeGestureListener(GestureHandler.GestureListener gl)
Removes the given GestureHandler.GestureListener from the list. |
void |
removeKeyListener(KeyListener l)
|
void |
removeMouseListener(MouseListener l)
Removes the given MouseListener from the list. |
void |
removeWindowListener(WindowListener l)
|
Window.ReparentOperation |
reparentWindow(NativeWindow newParent)
Deprecated. Use reparentWindow(NativeWindow, int, int, int) |
Window.ReparentOperation |
reparentWindow(NativeWindow newParent,
int x,
int y,
boolean forceDestroyCreate)
Deprecated. Use reparentWindow(NativeWindow, int, int, int) |
Window.ReparentOperation |
reparentWindow(NativeWindow newParent,
int x,
int y,
int hints)
Change this window's parent window. |
void |
requestFocus()
Request focus for this native window |
void |
requestFocus(boolean wait)
Request focus for this native window |
void |
runOnEDTIfAvail(boolean wait,
Runnable task)
|
void |
sendWindowEvent(int eventType)
Send a WindowEvent to all WindowListener. |
void |
setAlwaysOnTop(boolean value)
|
CapabilitiesChooser |
setCapabilitiesChooser(CapabilitiesChooser chooser)
Set the CapabilitiesChooser to help determine the native visual type. |
void |
setDefaultGesturesEnabled(boolean enable)
Enable or disable default GestureHandler. |
void |
setFocusAction(Window.FocusRunnable focusAction)
Sets a Window.FocusRunnable,
which Window.FocusRunnable.run() method is executed before the native focus is requested. |
boolean |
setFullscreen(boolean fullscreen)
Enable or disable fullscreen mode for this window. |
boolean |
setFullscreen(List<MonitorDevice> monitors)
Enable fullscreen mode for this window spanning across the given MonitorDevices
or across all MonitorDevices. |
void |
setKeyboardFocusHandler(KeyListener l)
Sets a KeyListener allowing focus traversal with a covered window toolkit like AWT. |
void |
setKeyboardVisible(boolean visible)
In case the platform supports or even requires a virtual on-screen keyboard, this method shows or hide it depending on whether visible is true
or false. |
void |
setPointerIcon(Display.PointerIcon pi)
|
void |
setPointerVisible(boolean pointerVisible)
Makes the pointer visible or invisible. |
void |
setPosition(int x,
int y)
Sets the location of the window's client area, excluding insets (window decorations). This call is ignored if in fullscreen mode. |
void |
setSize(int width,
int height)
Sets the size of the window's client area, excluding decorations. |
void |
setTitle(String title)
|
void |
setTopLevelPosition(int x,
int y)
Sets the location of the top-level window inclusive insets (window decorations). |
void |
setTopLevelSize(int width,
int height)
Sets the size of the top-level window including insets (window decorations). |
void |
setUndecorated(boolean value)
|
void |
setVisible(boolean visible)
Calls setVisible(true, visible),
i.e. |
void |
setVisible(boolean wait,
boolean visible)
setVisible(..) makes the window and children visible if visible is true,
otherwise the window and children becomes invisible. |
void |
setWindowDestroyNotifyAction(Runnable r)
Set a custom action handling destruction issued by a toolkit triggered window destroy
replacing the default destroy() action. |
void |
warpPointer(int x,
int y)
Moves the pointer to x/y relative to this window's origin. |
void |
windowRepaint(int x,
int y,
int width,
int height)
|
| Methods inherited from interface javax.media.nativewindow.NativeWindow |
|---|
getInsets, getLocationOnScreen, getParent, getWindowHandle, getX, getY, hasFocus |
| Methods inherited from interface javax.media.nativewindow.NativeSurface |
|---|
addSurfaceUpdatedListener, addSurfaceUpdatedListener, getDisplayHandle, getGraphicsConfiguration, getHeight, getScreenIndex, getSurfaceHandle, getSurfaceLockOwner, getWidth, isSurfaceLockedByOtherThread, lockSurface, removeSurfaceUpdatedListener, surfaceSwap, unlockSurface |
| Methods inherited from interface javax.media.nativewindow.SurfaceUpdatedListener |
|---|
surfaceUpdated |
| Methods inherited from interface javax.media.nativewindow.WindowClosingProtocol |
|---|
getDefaultCloseOperation, setDefaultCloseOperation |
| Field Detail |
|---|
static final boolean DEBUG_MOUSE_EVENT
static final boolean DEBUG_KEY_EVENT
static final boolean DEBUG_IMPLEMENTATION
static final long TIMEOUT_NATIVEWINDOW
setVisible(boolean).
static final int REPARENT_HINT_FORCE_RECREATION
re-creating the window.
static final int REPARENT_HINT_BECOMES_VISIBLE
| Method Detail |
|---|
boolean isNativeValid()
setVisible(true), otherwise false.setVisible(boolean),
#destroy(boolean)Screen getScreen()
ScreenMonitorDevice getMainMonitor()
MonitorDevice which viewport
covers this window the most.
If no coverage is detected the first MonitorDevice is returned.
CapabilitiesChooser setCapabilitiesChooser(CapabilitiesChooser chooser)
chooser - the new CapabilitiesChooser
CapabilitiesImmutable getRequestedCapabilities()
CapabilitiesImmutable getChosenCapabilities()
void destroy()
Also iterates through this window's children and destroys them.
Visibility is set to false.
Method sends out pre- and
post- destruction events
to all of it's WindowListener.
This method invokes Screen.removeReference() after it's own destruction,
which will issue Screen.destroy() if the reference count becomes 0.
This destruction sequence shall end up in Display.destroy(), if all reference counts become 0.
The Window can be recreate via setVisible(true).
destroy in interface NativeWindowdestroy(),
setVisible(boolean)void setWindowDestroyNotifyAction(Runnable r)
toolkit triggered window destroy
replacing the default destroy() action.
The custom action shall call destroy()
but may perform further tasks before and after.
void setVisible(boolean visible)
setVisible(true, visible),
i.e. blocks until the window becomes visible.
setVisible(boolean, boolean)
void setVisible(boolean wait,
boolean visible)
setVisible(..) makes the window and children visible if visible is true,
otherwise the window and children becomes invisible.
setVisible(wait, true) is responsible to actual create the native window.
If wait is true, method blocks until window is visible and valid,
otherwise method returns immediately.
Zero size semantics are respected, see setSize(int,int):
if ( 0 == windowHandle && visible ) {
this.visible = visible;
if( 0 < width && 0 < height ) {
createNative();
}
} else if ( this.visible != visible ) {
this.visible = visible;
setNativeSizeImpl();
}
In case this window is a child window and has a NativeWindow parent,
setVisible(wait, true) has no effect as long the parent's is not valid yet,
i.e. NativeWindow.getWindowHandle() returns null.
setVisible(wait, true) shall be repeated when the parent becomes valid.
boolean isVisible()
Window getDelegatedWindow()
Window instance,
otherwise return this instance.
boolean addChild(NativeWindow win)
boolean removeChild(NativeWindow win)
void setSize(int width,
int height)
Zero size semantics are respected, see setVisible(boolean):
if ( visible && 0 != windowHandle && ( 0 ≥ width || 0 ≥ height ) ) {
setVisible(false);
} else if ( visible && 0 == windowHandle && 0 < width && 0 < height ) {
setVisible(true);
} else {
// as expected ..
}
This call is ignored if in fullscreen mode.
width - of the window's client areaheight - of the window's client areaNativeWindow.getInsets()
void setTopLevelSize(int width,
int height)
Note: Insets (if supported) are available only after the window is set visible and hence has been created.
width - of the top-level window areaheight - of the top-level window areasetSize(int, int),
NativeWindow.getInsets()
void setPosition(int x,
int y)
x - coord of the client-area's top left cornery - coord of the client-area's top left cornerNativeWindow.getInsets()
void setTopLevelPosition(int x,
int y)
Note: Insets (if supported) are available only after the window is set visible and hence has been created.
This call is ignored if in fullscreen mode.
x - coord of the top-level left cornery - coord of the top-level left cornersetPosition(int, int),
NativeWindow.getInsets()void setUndecorated(boolean value)
boolean isUndecorated()
void setAlwaysOnTop(boolean value)
boolean isAlwaysOnTop()
void setTitle(String title)
String getTitle()
boolean isPointerVisible()
setPointerVisible(boolean)void setPointerVisible(boolean pointerVisible)
pointerVisible - defaults to true for platforms w/ visible pointer,
otherwise defaults to true, eg. Android.confinePointer(boolean)Display.PointerIcon getPointerIcon()
Display.PointerIcon, which maybe null for the default.
#setPointerIcon(PointerIcon)void setPointerIcon(Display.PointerIcon pi)
pi - Valid Display.PointerIcon reference or null to reset the pointer icon to default.Display.PointerIcon,
Display.createPointerIcon(com.jogamp.common.util.IOUtil.ClassResources, int, int)boolean isPointerConfined()
confinePointer(boolean)void confinePointer(boolean confine)
Before jailing the mouse pointer, the window request the focus and the pointer is centered in the window.
In combination w/ warpPointer(int, int)
and maybe setPointerVisible(boolean) a simple mouse
navigation can be realized.
confine - defaults to false.
void warpPointer(int x,
int y)
x - relative pointer x position within this windowy - relative pointer y position within this windowconfinePointer(boolean)Window.ReparentOperation reparentWindow(NativeWindow newParent)
reparentWindow(NativeWindow, int, int, int)
In case the old parent is not null and a Window,
this window is removed from it's list of children.
In case the new parent is not null and a Window,
this window is added to it's list of children.
newParent - The new parent NativeWindow. If null, this Window becomes a top level window.
reparentWindow(NativeWindow, int, int, boolean)
Window.ReparentOperation reparentWindow(NativeWindow newParent,
int x,
int y,
boolean forceDestroyCreate)
reparentWindow(NativeWindow, int, int, int)
In case the old parent is not null and a Window,
this window is removed from it's list of children.
In case the new parent is not null and a Window,
this window is added to it's list of children.
newParent - The new parent NativeWindow. If null, this Window becomes a top level window.x - new top-level position, use -1 for default position.y - new top-level position, use -1 for default position.forceDestroyCreate - if true, uses re-creation strategy for reparenting, default is false.
Window.ReparentOperation reparentWindow(NativeWindow newParent,
int x,
int y,
int hints)
In case the old parent is not null and a Window,
this window is removed from it's list of children.
In case the new parent is not null and a Window,
this window is added to it's list of children.
newParent - The new parent NativeWindow. If null, this Window becomes a top level window.x - new top-level position, use -1 for default position.y - new top-level position, use -1 for default position.hints - May contain hints (bitfield values) like REPARENT_HINT_FORCE_RECREATION or REPARENT_HINT_BECOMES_VISIBLE.
boolean setFullscreen(boolean fullscreen)
Fullscreen mode is established on the main monitor.
fullscreen - enable or disable fullscreen mode
setFullscreen(List),
isFullscreen()boolean setFullscreen(List<MonitorDevice> monitors)
MonitorDevices
or across all MonitorDevices.
Disable fullscreen via setFullscreen(boolean).
monitors - if null fullscreen will be spanned across all MonitorDevices,
otherwise across the given list of MonitorDevice.
setFullscreen(boolean),
isFullscreen()boolean isFullscreen()
void setFocusAction(Window.FocusRunnable focusAction)
Window.FocusRunnable,
which Window.FocusRunnable.run() method is executed before the native focus is requested.
This allows notifying a covered window toolkit like AWT that the focus is requested, hence focus traversal can be made transparent.
void setKeyboardFocusHandler(KeyListener l)
KeyListener allowing focus traversal with a covered window toolkit like AWT.
The KeyListener methods are invoked prior to all other KeyListener's
allowing to suppress the KeyEvent via the NEWTEvent.consumedTag
and to perform focus traversal with a 3rd party toolkit.
The KeyListener methods are not invoked for auto-repeat events.
l - void requestFocus()
The request is handled on this Window EDT and blocked until finished.
requestFocus(boolean)void requestFocus(boolean wait)
The request is handled on this Window EDT.
wait - true if waiting until the request is executed, otherwise falserequestFocus()
void windowRepaint(int x,
int y,
int width,
int height)
void enqueueEvent(boolean wait,
NEWTEvent event)
void runOnEDTIfAvail(boolean wait,
Runnable task)
void sendWindowEvent(int eventType)
WindowEvent to all WindowListener.
eventType - a WindowEvent type, e.g. WindowEvent.EVENT_WINDOW_REPAINT.void addWindowListener(WindowListener l)
WindowListener to the end of
the list.
void addWindowListener(int index,
WindowListener l)
throws IndexOutOfBoundsException
WindowListener at the
specified position in the list.
index - Position where the listener will be inserted.
Should be within (0 <= index && index <= size()).
An index value of -1 is interpreted as the end of the list, size().l - The listener object to be inserted
IndexOutOfBoundsException - If the index is not within (0 <= index && index <= size()), or -1void removeWindowListener(WindowListener l)
WindowListener getWindowListener(int index)
WindowListener[] getWindowListeners()
void setKeyboardVisible(boolean visible)
visible is true
or false.
One known platform where NEWT supports this feature is Android.
boolean isKeyboardVisible()
true if the virtual on-screen keyboard is visible, otherwise false.
Currently on Android, the only supported platform right now,
there is no way to reliably be notified of the current keyboard state.
It would be best, if your code does not rely on this information.
setKeyboardVisible(boolean)void addKeyListener(KeyListener l)
KeyListener to the end of
the list.
void addKeyListener(int index,
KeyListener l)
KeyListener at the
specified position in the list.
index - Position where the listener will be inserted.
Should be within (0 <= index && index <= size()).
An index value of -1 is interpreted as the end of the list, size().l - The listener object to be inserted
IndexOutOfBoundsException - If the index is not within (0 <= index && index <= size()), or -1void removeKeyListener(KeyListener l)
KeyListener getKeyListener(int index)
KeyListener[] getKeyListeners()
void addMouseListener(MouseListener l)
MouseListener to the end of the list.
void addMouseListener(int index,
MouseListener l)
MouseListener at the
specified position in the list.
index - Position where the listener will be inserted.
Should be within (0 <= index && index <= size()).
An index value of -1 is interpreted as the end of the list, size().l - The listener object to be inserted
IndexOutOfBoundsException - If the index is not within (0 <= index && index <= size()), or -1void removeMouseListener(MouseListener l)
MouseListener from the list.
MouseListener getMouseListener(int index)
MouseListener from the list at the given index.
MouseListener[] getMouseListeners()
MouseListener
void setDefaultGesturesEnabled(boolean enable)
GestureHandler. Default is enabled.
boolean areDefaultGesturesEnabled()
GestureHandler are enabled.
void addGestureHandler(GestureHandler gh)
GestureHandler to the end of the list.
void addGestureHandler(int index,
GestureHandler gh)
GestureHandler at the
specified position in the list.
index - Position where the listener will be inserted.
Should be within (0 <= index && index <= size()).
An index value of -1 is interpreted as the end of the list, size().l - The listener object to be inserted
IndexOutOfBoundsException - If the index is not within (0 <= index && index <= size()), or -1void removeGestureHandler(GestureHandler gh)
GestureHandler from the list.
void addGestureListener(GestureHandler.GestureListener gl)
GestureHandler.GestureListener to the end of the list.
void addGestureListener(int index,
GestureHandler.GestureListener gl)
GestureHandler.GestureListener at the
specified position in the list.
index - Position where the listener will be inserted.
Should be within (0 <= index && index <= size()).
An index value of -1 is interpreted as the end of the list, size().l - The listener object to be inserted
IndexOutOfBoundsException - If the index is not within (0 <= index && index <= size()), or -1void removeGestureListener(GestureHandler.GestureListener gl)
GestureHandler.GestureListener from the list.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||