com.jogamp.newt
Interface Window

All Superinterfaces:
NativeSurface, NativeWindow, SurfaceUpdatedListener, WindowClosingProtocol
All Known Implementing Classes:
GLWindow

public interface Window
extends NativeWindow, WindowClosingProtocol

Specifying the public Window functionality for the using a Window and for shadowing one like GLWindow.


Nested Class Summary
static interface Window.FocusRunnable
           
static interface Window.ReparentAction
          Defining ids for the reparenting strategy
 
Field Summary
static boolean DEBUG_IMPLEMENTATION
           
static boolean DEBUG_KEY_EVENT
           
static boolean DEBUG_MOUSE_EVENT
           
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
 
Fields inherited from interface javax.media.nativewindow.WindowClosingProtocol
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE
 
Method Summary
 boolean addChild(NativeWindow win)
           
 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 addSurfaceUpdatedListener(int index, SurfaceUpdatedListener l)
          Inserts the given com.jogamp.newt.event.SurfaceUpdatedListener at the specified position in the list.
 void addSurfaceUpdatedListener(SurfaceUpdatedListener l)
          Appends the given com.jogamp.newt.event.SurfaceUpdatedListener 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.
 void destroy()
          Destroy the Window and it's children, incl.
 void enqueueEvent(boolean wait, NEWTEvent event)
           
 CapabilitiesImmutable getChosenCapabilities()
          Gets an immutable set of chosen capabilities.
 KeyListener getKeyListener(int index)
           
 KeyListener[] getKeyListeners()
           
 MouseListener getMouseListener(int index)
           
 MouseListener[] getMouseListeners()
           
 CapabilitiesImmutable getRequestedCapabilities()
          Gets an immutable set of requested capabilities.
 Screen getScreen()
           
 SurfaceUpdatedListener getSurfaceUpdatedListener(int index)
           
 SurfaceUpdatedListener[] getSurfaceUpdatedListeners()
           
 String getTitle()
           
 WindowListener getWindowListener(int index)
           
 WindowListener[] getWindowListeners()
           
 boolean hasFocus()
           
 boolean isAlwaysOnTop()
           
 boolean isFullscreen()
           
 boolean isNativeValid()
           
 boolean isUndecorated()
           
 boolean isVisible()
           
 void removeAllSurfaceUpdatedListener()
           
 boolean removeChild(NativeWindow win)
           
 void removeKeyListener(KeyListener l)
           
 void removeMouseListener(MouseListener l)
           
 void removeSurfaceUpdatedListener(SurfaceUpdatedListener l)
           
 void removeWindowListener(WindowListener l)
           
 int reparentWindow(NativeWindow newParent)
          Change this window's parent window.
 int reparentWindow(NativeWindow newParent, boolean forceDestroyCreate)
           
 void requestFocus()
           
 void runOnEDTIfAvail(boolean wait, Runnable task)
           
 void sendWindowEvent(int eventType)
           
 void setAlwaysOnTop(boolean value)
           
 CapabilitiesChooser setCapabilitiesChooser(CapabilitiesChooser chooser)
          Set the CapabilitiesChooser to help determine the native visual type.
 void setFocusAction(Window.FocusRunnable focusAction)
          May set to a Window.FocusRunnable, Window.FocusRunnable.run() before Newt requests the native focus.
 boolean setFullscreen(boolean fullscreen)
           
 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)
           setVisible makes the window and children visible if visible is true, otherwise the window and children becomes invisible.
 void windowRepaint(int x, int y, int width, int height)
           
 
Methods inherited from interface javax.media.nativewindow.NativeWindow
getInsets, getLocationOnScreen, getParent, getWindowHandle, getX, getY
 
Methods inherited from interface javax.media.nativewindow.NativeSurface
getDisplayHandle, getGraphicsConfiguration, getHeight, getScreenIndex, getSurfaceHandle, getSurfaceLockOwner, getWidth, isSurfaceLocked, isSurfaceLockedByOtherThread, lockSurface, surfaceSwap, unlockSurface
 
Methods inherited from interface javax.media.nativewindow.SurfaceUpdatedListener
surfaceUpdated
 
Methods inherited from interface javax.media.nativewindow.WindowClosingProtocol
getDefaultCloseOperation, setDefaultCloseOperation
 

Field Detail

DEBUG_MOUSE_EVENT

static final boolean DEBUG_MOUSE_EVENT

DEBUG_KEY_EVENT

static final boolean DEBUG_KEY_EVENT

DEBUG_IMPLEMENTATION

static final boolean DEBUG_IMPLEMENTATION

TIMEOUT_NATIVEWINDOW

static final long TIMEOUT_NATIVEWINDOW
A 1s timeout while waiting for a native action response, ie setVisible(boolean).

See Also:
Constant Field Values
Method Detail

isNativeValid

boolean isNativeValid()
Returns:
true if the native window handle is valid and ready to operate, ie if the native window has been created via setVisible(true), otherwise false.
See Also:
setVisible(boolean), #destroy(boolean)

getScreen

Screen getScreen()
Returns:
The associated Screen

setCapabilitiesChooser

CapabilitiesChooser setCapabilitiesChooser(CapabilitiesChooser chooser)
Set the CapabilitiesChooser to help determine the native visual type.

Parameters:
chooser - the new CapabilitiesChooser
Returns:
the previous CapabilitiesChooser

getRequestedCapabilities

CapabilitiesImmutable getRequestedCapabilities()
Gets an immutable set of requested capabilities.

Returns:
the requested capabilities

getChosenCapabilities

CapabilitiesImmutable getChosenCapabilities()
Gets an immutable set of chosen capabilities.

Returns:
the chosen capabilities

destroy

void destroy()
Destroy the Window and it's children, incl. native destruction.
The Window can be recreate via setVisible(true).

Visibility is set to false.

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.

Specified by:
destroy in interface NativeWindow
See Also:
destroy(), setVisible(boolean)

setVisible

void setVisible(boolean visible)

setVisible makes the window and children visible if visible is true, otherwise the window and children becomes invisible.

The setVisible(true) is responsible to actual create the native window.

Zero size semantics are respected, see setSize(int,int):

 if ( 0 == windowHandle && visible ) {
   this.visible = visible;
   if( 0 < width*height ) {
     createNative();
   }
 } else if ( this.visible != visible ) {
   this.visible = visible;
   setNativeSizeImpl();
 }
 

In case this window is a child window and a parent NativeWindow is being used,
the parent's NativeWindow handle is retrieved via NativeWindow.getWindowHandle().
If this action fails, ie if the parent NativeWindow is not valid yet,
no native window is created yet and setVisible(true) shall be repeated when it is.


isVisible

boolean isVisible()

addChild

boolean addChild(NativeWindow win)

removeChild

boolean removeChild(NativeWindow win)

setSize

void setSize(int width,
             int height)
Sets the size of the window's client area, excluding decorations.

Zero size semantics are respected, see setVisible(boolean):

 if ( 0 != windowHandle && 0 ≥ width*height && visible ) {
   setVisible(false);
 } else if ( 0 == windowHandle && 0 < width*height && visible ) {
   setVisible(true);
 } else {
   // as expected ..
 }
 

This call is ignored if in fullscreen mode.

Parameters:
width - of the window's client area
height - of the window's client area
See Also:
NativeWindow.getInsets()

setTopLevelSize

void setTopLevelSize(int width,
                     int height)
Sets the size of the top-level window including insets (window decorations).

Note: Insets (if supported) are available only after the window is set visible and hence has been created.

Parameters:
width - of the top-level window area
height - of the top-level window area
See Also:
setSize(int, int), NativeWindow.getInsets()

setPosition

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.

Parameters:
x - coord of the client-area's top left corner
y - coord of the client-area's top left corner
See Also:
NativeWindow.getInsets()

setTopLevelPosition

void setTopLevelPosition(int x,
                         int y)
Sets the location of the top-level window inclusive insets (window decorations).

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.

Parameters:
x - coord of the top-level left corner
y - coord of the top-level left corner
See Also:
setPosition(int, int), NativeWindow.getInsets()

setUndecorated

void setUndecorated(boolean value)

isUndecorated

boolean isUndecorated()

setAlwaysOnTop

void setAlwaysOnTop(boolean value)

isAlwaysOnTop

boolean isAlwaysOnTop()

setTitle

void setTitle(String title)

getTitle

String getTitle()

reparentWindow

int reparentWindow(NativeWindow newParent)
Change this window's parent window.

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.

Parameters:
newParent - The new parent NativeWindow. If null, this Window becomes a top level window.
Returns:
The issued reparent action type (strategy) as defined in Window.ReparentAction

reparentWindow

int reparentWindow(NativeWindow newParent,
                   boolean forceDestroyCreate)

setFullscreen

boolean setFullscreen(boolean fullscreen)

isFullscreen

boolean isFullscreen()

setFocusAction

void setFocusAction(Window.FocusRunnable focusAction)
May set to a Window.FocusRunnable, Window.FocusRunnable.run() before Newt requests the native focus. This allows notifying a covered window toolkit like AWT that the focus is requested, hence focus traversal can be made transparent.


requestFocus

void requestFocus()

hasFocus

boolean hasFocus()

windowRepaint

void windowRepaint(int x,
                   int y,
                   int width,
                   int height)

enqueueEvent

void enqueueEvent(boolean wait,
                  NEWTEvent event)

runOnEDTIfAvail

void runOnEDTIfAvail(boolean wait,
                     Runnable task)

addSurfaceUpdatedListener

void addSurfaceUpdatedListener(SurfaceUpdatedListener l)
Appends the given com.jogamp.newt.event.SurfaceUpdatedListener to the end of the list.


addSurfaceUpdatedListener

void addSurfaceUpdatedListener(int index,
                               SurfaceUpdatedListener l)
                               throws IndexOutOfBoundsException
Inserts the given com.jogamp.newt.event.SurfaceUpdatedListener at the specified position in the list.

Parameters:
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
Throws:
IndexOutOfBoundsException - If the index is not within (0 <= index && index <= size()), or -1

removeAllSurfaceUpdatedListener

void removeAllSurfaceUpdatedListener()

removeSurfaceUpdatedListener

void removeSurfaceUpdatedListener(SurfaceUpdatedListener l)

getSurfaceUpdatedListener

SurfaceUpdatedListener getSurfaceUpdatedListener(int index)

getSurfaceUpdatedListeners

SurfaceUpdatedListener[] getSurfaceUpdatedListeners()

sendWindowEvent

void sendWindowEvent(int eventType)

addWindowListener

void addWindowListener(WindowListener l)
Appends the given WindowListener to the end of the list.


addWindowListener

void addWindowListener(int index,
                       WindowListener l)
                       throws IndexOutOfBoundsException
Inserts the given WindowListener at the specified position in the list.

Parameters:
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
Throws:
IndexOutOfBoundsException - If the index is not within (0 <= index && index <= size()), or -1

removeWindowListener

void removeWindowListener(WindowListener l)

getWindowListener

WindowListener getWindowListener(int index)

getWindowListeners

WindowListener[] getWindowListeners()

addKeyListener

void addKeyListener(KeyListener l)
Appends the given KeyListener to the end of the list.


addKeyListener

void addKeyListener(int index,
                    KeyListener l)
Inserts the given KeyListener at the specified position in the list.

Parameters:
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
Throws:
IndexOutOfBoundsException - If the index is not within (0 <= index && index <= size()), or -1

removeKeyListener

void removeKeyListener(KeyListener l)

getKeyListener

KeyListener getKeyListener(int index)

getKeyListeners

KeyListener[] getKeyListeners()

addMouseListener

void addMouseListener(MouseListener l)
Appends the given MouseListener to the end of the list.


addMouseListener

void addMouseListener(int index,
                      MouseListener l)
Inserts the given MouseListener at the specified position in the list.

Parameters:
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
Throws:
IndexOutOfBoundsException - If the index is not within (0 <= index && index <= size()), or -1

removeMouseListener

void removeMouseListener(MouseListener l)

getMouseListener

MouseListener getMouseListener(int index)

getMouseListeners

MouseListener[] getMouseListeners()


Copyright 2010 JogAmp Community.