public abstract class GLContext
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
CONTEXT_CURRENT
Indicates that the context was made current during the last call to
makeCurrent . |
static int |
CONTEXT_CURRENT_NEW
Indicates that a newly-created context was made current during the last call to
makeCurrent . |
static int |
CONTEXT_NOT_CURRENT
Indicates that the context was not made current during the last call to
makeCurrent . |
Constructor and Description |
---|
GLContext() |
Modifier and Type | Method and Description |
---|---|
abstract void |
copy(GLContext source,
int mask)
Copies selected groups of OpenGL state variables from the
supplied source context into this one.
|
abstract void |
destroy()
Destroys this OpenGL context and frees its associated
resources.
|
static GLContext |
getCurrent()
Returns the context which is current on the current thread.
|
abstract GL |
getGL()
Returns the GL pipeline object for this GLContext.
|
abstract GLDrawable |
getGLDrawable()
Returns the GLDrawable to which this context may be used to
draw.
|
abstract boolean |
isSynchronized()
Returns true if 'makeCurrent' will exhibit synchronized behavior.
|
abstract int |
makeCurrent()
Makes this GLContext current on the calling thread.
|
abstract void |
release()
Releases control of this GLContext from the current thread.
|
protected static void |
setCurrent(GLContext cur)
Sets the thread-local variable returned by
getCurrent()
and has no other side-effects. |
abstract void |
setGL(GL gl)
Sets the GL pipeline object for this GLContext.
|
abstract void |
setSynchronized(boolean isSynchronized)
Determines whether 'makeCurrent' will exhibit synchronized behavior.
|
public static final int CONTEXT_NOT_CURRENT
makeCurrent
.public static final int CONTEXT_CURRENT
makeCurrent
.public static final int CONTEXT_CURRENT_NEW
makeCurrent
.public abstract GLDrawable getGLDrawable()
public abstract int makeCurrent() throws GLException
GLException
- if synchronization is disabled and the
context is current on another thread, or because the context
could not be created or made current due to non-recoverable,
window system-specific errors.public abstract void release() throws GLException
GLException
- if the context had not previously been made
current on the current threadpublic abstract void copy(GLContext source, int mask) throws GLException
mask
parameter indicates which groups of state variables are to be
copied. mask
contains the bitwise OR of the same
symbolic names that are passed to the GL command glPushAttrib
. The single symbolic constant
GL_ALL_ATTRIB_BITS
can be used to
copy the maximum possible portion of rendering state.
Not all values for GL state can be copied. For example, pixel
pack and unpack state, render mode state, and select and feedback
state are not copied. The state that can be copied is exactly the
state that is manipulated by the GL command glPushAttrib
.
On most platforms, this context may not be current to any thread, including the calling thread, when this method is called. Some platforms have additional requirements such as whether this context or the source context must occasionally be made current in order for the results of the copy to be seen; these requirements are beyond the scope of this specification.
source
- the source OpenGL context from which to copy statemask
- a mask of symbolic names indicating which groups of state to copyGLException
- if an OpenGL-related error occurredpublic static GLContext getCurrent()
protected static void setCurrent(GLContext cur)
getCurrent()
and has no other side-effects. For use by third parties adding
new GLContext implementations; not for use by end users.public abstract void destroy()
public abstract boolean isSynchronized()
public abstract void setSynchronized(boolean isSynchronized)
public abstract GL getGL()
public abstract void setGL(GL gl)
Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.