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.ContextGL context
          The OpenGL Context.
protected  org.lwjgl.opengl.PeerInfo peer_info
          Handle to the native GL rendering context
protected  PixelFormat pixel_format
          The PixelFormat used to create the drawable.
 
Constructor Summary
SharedDrawable(Drawable drawable)
           
 
Method Summary
protected  void checkDestroyed()
           
 void checkGLError()
           
 org.lwjgl.opengl.ContextGL createSharedContext()
          [INTERNAL USE ONLY] Creates a new Context that is shared with the Drawable's Context.
 void destroy()
          Destroys the Drawable.
 org.lwjgl.opengl.ContextGL getContext()
          [INTERNAL USE ONLY] Returns the Drawable's Context.
 PixelFormatLWJGL getPixelFormat()
           
 void initContext(float r, float g, float b)
           
 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.
 void setPixelFormat(PixelFormatLWJGL pf)
           
 void setPixelFormat(PixelFormatLWJGL pf, ContextAttribs attribs)
           
 void setSwapInterval(int swap_interval)
           
 void swapBuffers()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pixel_format

protected PixelFormat pixel_format
The PixelFormat used to create the drawable.


peer_info

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


context

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

Constructor Detail

SharedDrawable

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

createSharedContext

public org.lwjgl.opengl.ContextGL 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.

setPixelFormat

public void setPixelFormat(PixelFormatLWJGL pf)
                    throws LWJGLException
Throws:
LWJGLException

setPixelFormat

public void setPixelFormat(PixelFormatLWJGL pf,
                           ContextAttribs attribs)
                    throws LWJGLException
Throws:
LWJGLException

getPixelFormat

public PixelFormatLWJGL getPixelFormat()

getContext

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

Returns:
the Drawable's Context

checkGLError

public void checkGLError()

setSwapInterval

public void setSwapInterval(int swap_interval)

swapBuffers

public void swapBuffers()
                 throws LWJGLException
Throws:
LWJGLException

initContext

public void initContext(float r,
                        float g,
                        float b)

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.