From 760d6821e09985252c8b439d9a92bead7bcf1193 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 25 Sep 2009 12:30:31 -0700 Subject: Fix MacOSX External GLContext --- make/build-jogl.xml | 2 ++ make/stub_includes/macosx/OpenGL/OpenGL.h | 26 ++++++++++++++++++++++++ make/stub_includes/opengl/macosx-window-system.h | 17 ++++++++++++---- 3 files changed, 41 insertions(+), 4 deletions(-) (limited to 'make') diff --git a/make/build-jogl.xml b/make/build-jogl.xml index c541748f8..64e5cf93a 100644 --- a/make/build-jogl.xml +++ b/make/build-jogl.xml @@ -1408,6 +1408,7 @@ + @@ -1426,6 +1427,7 @@ + diff --git a/make/stub_includes/macosx/OpenGL/OpenGL.h b/make/stub_includes/macosx/OpenGL/OpenGL.h index 16225b46b..afb11efea 100644 --- a/make/stub_includes/macosx/OpenGL/OpenGL.h +++ b/make/stub_includes/macosx/OpenGL/OpenGL.h @@ -73,18 +73,44 @@ typedef enum _CGLError { kCGLBadConnection = 10017 /* invalid CoreGraphics connection */ } CGLError; +typedef enum _CGLContextParameter { + kCGLCPSwapRectangle = 200, + kCGLCPSwapInterval = 222, + kCGLCPDispatchTableSize = 224, + kCGLCPClientStorage = 226, + kCGLCPSurfaceTexture = 228, + kCGLCPSurfaceOrder = 235, + kCGLCPSurfaceOpacity = 236, + kCGLCPSurfaceBackingSize = 304, + kCGLCPSurfaceSurfaceVolatile = 306, + kCGLCPReclaimResources = 308, + kCGLCPCurrentRendererID = 309, + kCGLCPGPUVertexProcessing = 310, + kCGLCPGPUFragmentProcessing = 311, + kCGLCPHasDrawable = 314, + kCGLCPMPSwapsInFlight = 315, +} CGLContextParameter; + /* Pixel format manipulation */ CGLError CGLChoosePixelFormat(const CGLPixelFormatAttribute *attribs, CGLPixelFormatObj *pix, long *npix); CGLError CGLDestroyPixelFormat(CGLPixelFormatObj pix); +CGLPixelFormatObj CGLGetPixelFormat ( CGLContextObj ctx ); /* Context manipulation */ CGLError CGLCreateContext(CGLPixelFormatObj pix, CGLContextObj share, CGLContextObj* ctx); +void CGLReleaseContext(CGLContextObj ctx); CGLError CGLDestroyContext(CGLContextObj ctx); CGLError CGLSetCurrentContext(CGLContextObj ctx); +CGLContextObj CGLGetCurrentContext (void); +CGLError CGLFlushDrawable ( CGLContextObj ctx); +CGLError CGLSetParameter ( CGLContextObj ctx, CGLContextParameter pname, const int *params ); +CGLError CGLCopyContext ( CGLContextObj src, CGLContextObj dst, int mask ); + + /* PBuffer manipulation */ CGLError CGLCreatePBuffer(long width, diff --git a/make/stub_includes/opengl/macosx-window-system.h b/make/stub_includes/opengl/macosx-window-system.h index f43adb546..7d2704be4 100644 --- a/make/stub_includes/opengl/macosx-window-system.h +++ b/make/stub_includes/opengl/macosx-window-system.h @@ -9,27 +9,36 @@ typedef int Bool; +// CGL .. +void CGLQueryPixelFormat(void* pixelFormat, int* iattrs, int niattrs, int* ivalues); + +// NS .. void* createPixelFormat(int* iattrs, int niattrs, int* ivalues); void queryPixelFormat(void* pixelFormat, int* iattrs, int niattrs, int* ivalues); void deletePixelFormat(void* pixelFormat); +// NS .. +void *getCurrentContext(void); +void *getNSView(void* nsContext); + void* createContext(void* shareContext, void* nsView, void* pixelFormat, int* viewNotReady); +void *getCGLContext(void* nsContext); Bool makeCurrentContext(void* nsContext); -Bool clearCurrentContext(void* nsContext); +Bool clearCurrentContext(void *nsContext); Bool deleteContext(void* nsContext); Bool flushBuffer(void* nsContext); -void setContextOpacity(void* context, int opacity); +void setContextOpacity(void* nsContext, int opacity); void updateContext(void* nsContext); void copyContext(void* destContext, void* srcContext, int mask); void* updateContextRegister(void* nsContext, void* nsView); -void updateContextUnregister(void* nsContext, void* nsView, void* updater); +void updateContextUnregister(void* updater); void* createPBuffer(int renderTarget, int internalFormat, int width, int height); -Bool destroyPBuffer(void* nsContext, void* pBuffer); +Bool destroyPBuffer(void* pBuffer); void setContextPBuffer(void* nsContext, void* pBuffer); void setContextTextureImageToPBuffer(void* nsContext, void* pBuffer, int colorBuffer); -- cgit v1.2.3