com.jogamp.opengl.impl.macosx.cgl
Class MacOSXExternalCGLContext

java.lang.Object
  extended by javax.media.opengl.GLContext
      extended by com.jogamp.opengl.impl.GLContextImpl
          extended by com.jogamp.opengl.impl.macosx.cgl.MacOSXCGLContext
              extended by com.jogamp.opengl.impl.macosx.cgl.MacOSXExternalCGLContext

public class MacOSXExternalCGLContext
extends MacOSXCGLContext


Field Summary
 
Fields inherited from class com.jogamp.opengl.impl.macosx.cgl.MacOSXCGLContext
isNSContext
 
Fields inherited from class com.jogamp.opengl.impl.GLContextImpl
currentSwapInterval, DEBUG, drawable, drawableRead, extensionAvailability, gl, hasNativeES2Methods, lock, mappedContextTypeObjectLock, mappedExtensionAvailabilityCache, mappedGLProcAddress, mappedGLXProcAddress
 
Fields inherited from class javax.media.opengl.GLContext
CONTEXT_CURRENT, CONTEXT_CURRENT_NEW, CONTEXT_NOT_CURRENT, contextHandle, CTX_IS_ARB_CREATED, CTX_OPTION_ANY, CTX_OPTION_DEBUG, CTX_OPTION_FORWARD, CTX_PROFILE_COMPAT, CTX_PROFILE_CORE, CTX_PROFILE_ES, ctxMajorVersion, ctxMinorVersion, ctxOptions, ctxVersionString, DEBUG0, deviceVersionAvailable, GL_VERSIONS
 
Method Summary
protected static MacOSXExternalCGLContext create(GLDrawableFactory factory, GLProfile glp)
           
protected  boolean createImpl()
           
protected  void destroyImpl()
           
 int getOpenGLMode()
           
 int makeCurrent()
          MakeCurrent functionality, which also issues the creation of the actual OpenGL context.
The complete callgraph for general OpenGL context creation is:
GLContextImpl.makeCurrent() GLContextImpl GLContextImpl.makeCurrentImpl(boolean) Platform Implementation #create Platform Implementation If ARB_create_context is supported: GLContextImpl.createContextARB(long, boolean, int[], int[], int[]) GLContextImpl GLContextImpl.createContextARBImpl(long, boolean, int, int, int) Platform Implementation
Once at startup, ie triggered by the singleton constructor of a GLDrawableFactoryImpl specialization, calling GLContextImpl.createContextARB(long, boolean, int[], int[], int[]) will query all available OpenGL versions:
FOR ALL GL* DO: GLContextImpl.createContextARBMapVersionsAvailable(int, boolean) GLContextImpl.createContextARBVersions(long, boolean, int, int, int, int, int, int[], int[]) #mapVersionAvailable
protected  void makeCurrentImpl(boolean newCreated)
           
 void release()
          Releases control of this GLContext from the current thread.
protected  void releaseImpl()
           
 void setOpenGLMode(int mode)
           
 
Methods inherited from class com.jogamp.opengl.impl.macosx.cgl.MacOSXCGLContext
bindPbufferToTexture, copyImpl, create, createContextARBImpl, destroyContextARBImpl, getCGLExt, getCGLExtProcAddressTable, getExtensionNameMap, getFunctionNameMap, getOffscreenContextPixelDataType, getOffscreenContextReadBuffer, getPlatformExtensionsString, getPlatformExtProcAddressTable, getPlatformGLExtensions, glAllocateMemoryNV, isExtensionAvailable, isGLReadDrawableAvailable, isNSContext, offscreenImageNeedsVerticalFlip, releasePbufferFromTexture, setSwapIntervalImpl, swapBuffers, updateGLXProcAddressTable
 
Methods inherited from class com.jogamp.opengl.impl.GLContextImpl
copy, createContextARB, createGL, destroy, getBufferSizeTracker, getBufferStateTracker, getContextFQN, getContextFQN, getDrawableImpl, getFloatingPointMode, getGL, getGLDrawable, getGLExtensionsString, getGLProcAddressTable, getGLReadDrawable, getGLStateTracker, getSwapInterval, hasNativeES2Methods, hasWaiters, isExtensionCacheInitialized, isFunctionAvailable, isSynchronized, makeCurrentLocking, mapToRealGLExtensionName, mapToRealGLFunctionName, resetProcAddressTable, resetStates, setBufferSizeTracker, setGL, setGLFunctionAvailability, setGLReadDrawable, setSwapInterval, setSynchronized, update
 
Methods inherited from class javax.media.opengl.GLContext
append, compose8bit, composed8BitToString, decrementGLVersion, getAttachedObject, getAttachedObject, getAvailableGLVersion, getAvailableGLVersion, getAvailableGLVersionAsString, getAvailableGLVersionsSet, getComposed8bit, getCurrent, getCurrentGL, getDeviceVersionAvailableKey, getGLVersion, getGLVersion, getGLVersionMajor, getGLVersionMinor, getHandle, getMaxMajor, getMaxMinor, getThreadName, hasGLSL, isCreated, isCreatedWithARBMethod, isCurrent, isGL2, isGL2Available, isGL2ES1, isGL2ES2, isGL2GL3, isGL3, isGL3Available, isGL3bc, isGL3bcAvailable, isGL4, isGL4Available, isGL4bc, isGL4bcAvailable, isGLCompatibilityProfile, isGLCoreProfile, isGLEmbeddedProfile, isGLES, isGLES1, isGLES1Available, isGLES2, isGLES2Available, isGLForwardCompatible, isGLVersionAvailable, isValidGLVersion, mapAvailableGLVersion, putAttachedObject, putAttachedObject, setAvailableGLVersionsSet, setCurrent, toHexString, toHexString, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

create

protected static MacOSXExternalCGLContext create(GLDrawableFactory factory,
                                                 GLProfile glp)

createImpl

protected boolean createImpl()
                      throws GLException
Specified by:
createImpl in class GLContextImpl
Throws:
GLException

makeCurrent

public int makeCurrent()
                throws GLException
Description copied from class: GLContextImpl
MakeCurrent functionality, which also issues the creation of the actual OpenGL context.
The complete callgraph for general OpenGL context creation is:

Once at startup, ie triggered by the singleton constructor of a GLDrawableFactoryImpl specialization, calling GLContextImpl.createContextARB(long, boolean, int[], int[], int[]) will query all available OpenGL versions:

Overrides:
makeCurrent in class GLContextImpl
Returns:
CONTEXT_CURRENT if the context was successfully made current
Throws:
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.
See Also:
GLContextImpl.makeCurrentImpl(boolean), #create, GLContextImpl.createContextARB(long, boolean, int[], int[], int[]), GLContextImpl.createContextARBImpl(long, boolean, int, int, int), #mapVersionAvailable, GLContextImpl.destroyContextARBImpl(long)

release

public void release()
             throws GLException
Description copied from class: GLContext
Releases control of this GLContext from the current thread.

Overrides:
release in class GLContextImpl
Throws:
GLException - if the context had not previously been made current on the current thread

makeCurrentImpl

protected void makeCurrentImpl(boolean newCreated)
                        throws GLException
Overrides:
makeCurrentImpl in class MacOSXCGLContext
Throws:
GLException

releaseImpl

protected void releaseImpl()
                    throws GLException
Overrides:
releaseImpl in class MacOSXCGLContext
Throws:
GLException

destroyImpl

protected void destroyImpl()
                    throws GLException
Overrides:
destroyImpl in class MacOSXCGLContext
Throws:
GLException

setOpenGLMode

public void setOpenGLMode(int mode)
Specified by:
setOpenGLMode in class MacOSXCGLContext

getOpenGLMode

public int getOpenGLMode()
Specified by:
getOpenGLMode in class MacOSXCGLContext


Copyright 2010 JogAmp Community.