com.jogamp.opengl
Class GLEventListenerState

java.lang.Object
  extended by com.jogamp.opengl.GLEventListenerState

public class GLEventListenerState
extends Object

GLEventListenerState is holding GLAutoDrawable components crucial to relocating all its GLEventListenerState.ReshapeGLEventListener w/ their operating GLContext, etc. The components are:

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.


Nested Class Summary
static class GLEventListenerState.ReshapeGLEventListener
           
 
Field Summary
 GLAnimatorControl anim
           
 boolean animStarted
           
 GLCapabilitiesImmutable caps
           
 GLContext context
           
 AbstractGraphicsDevice device
           
static GLRunnable glFinish
           
 GLEventListener[] listeners
           
 boolean[] listenersInit
           
 boolean proxyOwnsUpstreamDevice
           
static GLRunnable setViewport
           
 AbstractGraphicsDevice upstreamDevice
           
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

upstreamDevice

public final AbstractGraphicsDevice upstreamDevice

proxyOwnsUpstreamDevice

public final boolean proxyOwnsUpstreamDevice

device

public final AbstractGraphicsDevice device

caps

public final GLCapabilitiesImmutable caps

context

public final GLContext context

listeners

public final GLEventListener[] listeners

listenersInit

public final boolean[] listenersInit

anim

public final GLAnimatorControl anim

animStarted

public final boolean animStarted

setViewport

public static GLRunnable setViewport

glFinish

public static GLRunnable glFinish
Method Detail

isOwner

public final boolean isOwner()
Returns 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.


listenerCount

public final int listenerCount()

destroy

public void destroy()
Last resort to destroy and loose ownership


moveFrom

public static GLEventListenerState moveFrom(GLAutoDrawable a)
Moves all GLEventListenerState components from the given GLAutoDrawable to a newly created instance.

Note that all components are removed from the GLAutoDrawable, i.e. the GLContext, all GLEventListenerState.ReshapeGLEventListener.

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.

Parameters:
a - GLAutoDrawable source to move components from
Returns:
new GLEventListenerState instance owning moved components.
See Also:
moveTo(GLAutoDrawable)

moveTo

public final void moveTo(GLAutoDrawable a)
Moves all GLEventListenerState components to the given 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.

Parameters:
a - GLAutoDrawable destination to move GLEventListenerState components to
Throws:
GLException - if this preserved AbstractGraphicsDevice is incompatible w/ the given destination one.
See Also:
moveFrom(GLAutoDrawable), isOwner()


Copyright 2010 JogAmp Community.