|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jogamp.opengl.impl.GLDrawableImpl
public abstract class GLDrawableImpl
Field Summary | |
---|---|
protected static boolean |
DEBUG
|
protected GLDrawableFactory |
factory
|
protected boolean |
realized
|
protected GLCapabilitiesImmutable |
requestedCapabilities
|
protected NativeSurface |
surface
|
Constructor Summary | |
---|---|
protected |
GLDrawableImpl(GLDrawableFactory factory,
NativeSurface comp,
boolean realized)
|
Method Summary | |
---|---|
void |
destroy()
For offscreen GLDrawables (pbuffers and "pixmap" drawables), indicates that native resources should be reclaimed. |
protected void |
destroyHandle()
|
protected void |
destroyImpl()
|
GLCapabilitiesImmutable |
getChosenGLCapabilities()
Fetches the GLCapabilitiesImmutable corresponding to the chosen
OpenGL capabilities (pixel format / visual / GLProfile) for this drawable.On some platforms, the pixel format is not directly associated with the drawable; a best attempt is made to return a reasonable value in this case. |
GLDrawableFactory |
getFactory()
|
GLDrawableFactoryImpl |
getFactoryImpl()
|
abstract GLDynamicLookupHelper |
getGLDynamicLookupHelper()
Returns the DynamicLookupHelper |
GLProfile |
getGLProfile()
Fetches the GLProfile for this drawable. |
long |
getHandle()
This is the GL/Windowing drawable handle. It is usually the NativeSurface.getSurfaceHandle() ,
ie the native surface handle of the underlying windowing toolkit.However, on X11/GLX this reflects a GLXDrawable, which represents a GLXWindow, GLXPixmap, or GLXPbuffer. On EGL, this represents the EGLSurface. |
int |
getHeight()
Returns the current height of this GLDrawable. |
NativeSurface |
getNativeSurface()
|
GLCapabilitiesImmutable |
getRequestedGLCapabilities()
|
int |
getWidth()
Returns the current width of this GLDrawable. |
boolean |
isRealized()
|
boolean |
isSurfaceLocked()
|
int |
lockSurface()
|
void |
setRealized(boolean realizedArg)
Indicates to on-screen GLDrawable implementations whether the underlying window has been created and can be drawn into. |
protected abstract void |
setRealizedImpl()
|
void |
swapBuffers()
Swaps the front and back buffers of this drawable. |
protected abstract void |
swapBuffersImpl()
|
static String |
toHexString(long hex)
|
String |
toString()
|
void |
unlockSurface()
|
protected void |
updateHandle()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface javax.media.opengl.GLDrawable |
---|
createContext |
Field Detail |
---|
protected static final boolean DEBUG
protected GLDrawableFactory factory
protected NativeSurface surface
protected GLCapabilitiesImmutable requestedCapabilities
protected boolean realized
Constructor Detail |
---|
protected GLDrawableImpl(GLDrawableFactory factory, NativeSurface comp, boolean realized)
Method Detail |
---|
public abstract GLDynamicLookupHelper getGLDynamicLookupHelper()
public GLDrawableFactoryImpl getFactoryImpl()
public void destroy()
protected void destroyImpl()
public final void swapBuffers() throws GLException
GLDrawable
GLAutoDrawable
implementations, when automatic buffer swapping
is enabled (as is the default), this method is called
automatically and should not be called by the end user.
swapBuffers
in interface GLDrawable
GLException
protected abstract void swapBuffersImpl()
public static String toHexString(long hex)
public GLProfile getGLProfile()
GLDrawable
GLProfile
for this drawable.
Returns the GLProfile object, no copy.
getGLProfile
in interface GLDrawable
public GLCapabilitiesImmutable getChosenGLCapabilities()
GLDrawable
GLCapabilitiesImmutable
corresponding to the chosen
OpenGL capabilities (pixel format / visual / GLProfile) for this drawable.NativeSurface
's
AbstractGraphicsConfiguration
, and if changes are necessary,
they should reflect those as well.
getChosenGLCapabilities
in interface GLDrawable
public GLCapabilitiesImmutable getRequestedGLCapabilities()
public NativeSurface getNativeSurface()
getNativeSurface
in interface GLDrawable
protected void destroyHandle()
protected void updateHandle()
public long getHandle()
GLDrawable
NativeSurface.getSurfaceHandle()
,
ie the native surface handle of the underlying windowing toolkit.
getHandle
in interface GLDrawable
public GLDrawableFactory getFactory()
getFactory
in interface GLDrawable
public final void setRealized(boolean realizedArg)
GLDrawable
setRealized
on a GLCanvas, a GLJPanel, or a
GLPbuffer, as these perform the appropriate calls on their
underlying GLDrawables internally.
Developers implementing new OpenGL components for various window
toolkits need to call this method against GLDrawables obtained
from the GLDrawableFactory via the GLDrawableFactory.getGLDrawable()
method. It must typically be
called with an argument of true
when the component
associated with the GLDrawable is realized and with an argument
of false
just before the component is unrealized.
For the AWT, this means calling setRealized(true)
in
the addNotify
method and with an argument of
false
in the removeNotify
method.
GLDrawable
implementations should handle multiple
cycles of setRealized(true)
/
setRealized(false)
calls. Most, if not all, Java
window toolkits have a persistent object associated with a given
component, regardless of whether that component is currently
realized. The GLDrawable
object associated with a
particular component is intended to be similarly persistent. A
GLDrawable
is intended to be created for a given
component when it is constructed and live as long as that
component. setRealized
allows the
GLDrawable
to re-initialize and destroy any
associated resources as the component becomes realized and
unrealized, respectively.
With an argument of true
,
the minimum implementation shall call
NativeSurface's lockSurface()
and if successfull:
GLCapabilities
, which are associated with
the attached NativeSurface
's AbstractGraphicsConfiguration
.NativeSurface's unlockSurface()
.NativeSurface's lockSurface()
ensures resolving the window/surface handles, and the drawable's GLCapabilities
might have changed.
Calling this method has no other effects. For example, if
removeNotify
is called on a Canvas implementation
for which a GLDrawable has been created, it is also necessary to
destroy all OpenGL contexts associated with that GLDrawable. This
is not done automatically by the implementation.
setRealized
in interface GLDrawable
protected abstract void setRealizedImpl()
public boolean isRealized()
isRealized
in interface GLDrawable
public int getWidth()
GLDrawable
getWidth
in interface GLDrawable
public int getHeight()
GLDrawable
getHeight
in interface GLDrawable
public int lockSurface() throws GLException
GLException
public void unlockSurface()
public boolean isSurfaceLocked()
public String toString()
toString
in interface GLDrawable
toString
in class Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |