org.lwjgl.opengl
Class SharedDrawable

java.lang.Object
  extended by org.lwjgl.opengl.SharedDrawable

public final class SharedDrawable
extends java.lang.Object

A Drawable implementation that shares its context with another Drawable. This is useful for background loading of resources. See org.lwjgl.test.opengl.multithread.BackgroundLoad for an example.

Author:
Spasi

Field Summary
protected  org.lwjgl.opengl.Context context
          The OpenGL Context.
protected  org.lwjgl.opengl.PeerInfo peer_info
          Handle to the native GL rendering context
 
Constructor Summary
SharedDrawable(Drawable drawable)
           
 
Method Summary
protected  void checkDestroyed()
           
 org.lwjgl.opengl.Context createSharedContext()
          [INTERNAL USE ONLY] Creates a new Context that is shared with the Drawable's Context.
 void destroy()
          Destroys the Drawable.
 org.lwjgl.opengl.Context getContext()
          [INTERNAL USE ONLY] Returns the Drawable's Context.
 boolean isCurrent()
          Returns true if the Drawable's context is current in the current thread.
 void makeCurrent()
          Makes the Drawable's context current in the current thread.
 void releaseContext()
          If the Drawable's context is current in the current thread, no context will be current after a call to this method.
 void setCLSharingProperties(PointerBuffer properties)
          Sets the appropriate khr_gl_sharing properties in the target PointerBuffer, so that if it is used in a clCreateContext(FromType) call, the created CL context will be sharing objects with this Drawable's GL context.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

peer_info

protected org.lwjgl.opengl.PeerInfo peer_info
Handle to the native GL rendering context


context

protected org.lwjgl.opengl.Context context
The OpenGL Context.

Constructor Detail

SharedDrawable

public SharedDrawable(Drawable drawable)
               throws LWJGLException
Throws:
LWJGLException
Method Detail

createSharedContext

public org.lwjgl.opengl.Context createSharedContext()
[INTERNAL USE ONLY] Creates a new Context that is shared with the Drawable's Context.

Returns:
a Context shared with the Drawable's Context.

getContext

public org.lwjgl.opengl.Context getContext()
[INTERNAL USE ONLY] Returns the Drawable's Context.

Returns:
the Drawable's Context

isCurrent

public boolean isCurrent()
                  throws LWJGLException
Description copied from interface: Drawable
Returns true if the Drawable's context is current in the current thread.

Throws:
LWJGLException

makeCurrent

public void makeCurrent()
                 throws LWJGLException
Description copied from interface: Drawable
Makes the Drawable's context current in the current thread.

Throws:
LWJGLException

releaseContext

public void releaseContext()
                    throws LWJGLException
Description copied from interface: Drawable
If the Drawable's context is current in the current thread, no context will be current after a call to this method.

Throws:
LWJGLException

destroy

public void destroy()
Description copied from interface: Drawable
Destroys the Drawable.


setCLSharingProperties

public void setCLSharingProperties(PointerBuffer properties)
                            throws LWJGLException
Description copied from interface: Drawable
Sets the appropriate khr_gl_sharing properties in the target PointerBuffer, so that if it is used in a clCreateContext(FromType) call, the created CL context will be sharing objects with this Drawable's GL context. After a call to this method, the target buffer position will have advanced by 2 to 4 positions, depending on the implementation.

Parameters:
properties - The target properties buffer. It must have at least 4 positions remaining.
Throws:
LWJGLException

checkDestroyed

protected final void checkDestroyed()


Copyright © 2002-2009 lwjgl.org. All Rights Reserved.