public class GLEventListenerState extends Object
GLAutoDrawable
components crucial
to relocating all its GLEventListener
w/ their operating GLContext
, etc.
The components are:
GLContext
GLEventListener
, incl. their init stateGLAnimatorControl
AbstractGraphicsDevice
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.