public class GLEventListenerState extends Object
GLAutoDrawable components crucial
to relocating all its GLEventListener w/ their operating GLContext, etc.
The components are:
GLContextGLEventListener, incl. their init stateGLAnimatorControlAbstractGraphicsDevice for compatibility check and preserving the native device handle incl. ownership
A GLEventListenerState instance can be created while components are moved from a GLAutoDrawable
to the new instance, which gains ownership of the moved components.
A GLEventListenerState instance's components can be moved to a GLAutoDrawable,
while loosing ownership of the moved components.
| Modifier and Type | Class and Description |
|---|---|
static class |
GLEventListenerState.ReshapeGLEventListener |
| Modifier and Type | Field and Description |
|---|---|
GLAnimatorControl |
anim |
boolean |
animStarted |
GLCapabilitiesImmutable |
caps |
GLContext |
context |
AbstractGraphicsDevice |
device |
static GLRunnable |
glFinish |
GLEventListener[] |
listeners |
boolean[] |
listenersInit |
boolean |
proxyOwnsUpstreamDevice |
static GLRunnable |
setViewport |
AbstractGraphicsDevice |
upstreamDevice |
| Modifier and Type | Method and Description |
|---|---|
void |
destroy()
Last resort to destroy and loose ownership
|
boolean |
isOwner()
Returns
true, if this instance is the current owner of the components,
otherwise false. |
int |
listenerCount() |
static GLEventListenerState |
moveFrom(GLAutoDrawable a)
Moves all GLEventListenerState components from the given
GLAutoDrawable
to a newly created instance. |
void |
moveTo(GLAutoDrawable a)
Moves all GLEventListenerState components to the given
GLAutoDrawable
from this instance, while loosing ownership. |
public final AbstractGraphicsDevice upstreamDevice
public final boolean proxyOwnsUpstreamDevice
public final AbstractGraphicsDevice device
public final GLCapabilitiesImmutable caps
public final GLContext context
public final GLEventListener[] listeners
public final boolean[] listenersInit
public final GLAnimatorControl anim
public final boolean animStarted
public static GLRunnable setViewport
public static GLRunnable glFinish
public final boolean isOwner()
true, if this instance is the current owner of the components,
otherwise false.
Ownership is lost if moveTo(GLAutoDrawable) is being called successfully
and all components are transferred to the new GLAutoDrawable.
public final int listenerCount()
public void destroy()
public static GLEventListenerState moveFrom(GLAutoDrawable a)
GLAutoDrawable
to a newly created instance.
Note that all components are removed from the GLAutoDrawable,
i.e. the GLContext, all GLEventListener.
If the GLAutoDrawable was added to a GLAnimatorControl, it is removed
and the GLAnimatorControl added to the GLEventListenerState.
The returned GLEventListenerState instance is the owner of the components.
a - GLAutoDrawable source to move components fromowning moved components.moveTo(GLAutoDrawable)public final void moveTo(GLAutoDrawable a)
GLAutoDrawable
from this instance, while loosing ownership.
If the previous GLAutoDrawable was removed from a GLAnimatorControl by previous moveFrom(GLAutoDrawable),
the given GLAutoDrawable is added to the cached GLAnimatorControl.
This operation is skipped, if the given GLAutoDrawable is already added to a GLAnimatorControl instance.
Note: After this operation, the GLEventListenerState reference should be released.
a - GLAutoDrawable destination to move GLEventListenerState components to
GLException - if this preserved AbstractGraphicsDevice is incompatible w/ the given destination one.moveFrom(GLAutoDrawable),
isOwner()Copyright 2010 JogAmp Community.