summaryrefslogtreecommitdiffstats
path: root/make/gl-impl-macosx.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'make/gl-impl-macosx.cfg')
-rw-r--r--make/gl-impl-macosx.cfg46
1 files changed, 36 insertions, 10 deletions
diff --git a/make/gl-impl-macosx.cfg b/make/gl-impl-macosx.cfg
index 9da51017f..5ada8af01 100644
--- a/make/gl-impl-macosx.cfg
+++ b/make/gl-impl-macosx.cfg
@@ -9,18 +9,31 @@ Include gl-common-macosx.cfg
EmitProcAddressTable true
+CustomCCode #include <inttypes.h>
+
CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
CustomCCode "glext.h" are parsed. */
CustomCCode #define GL_GLEXT_PROTOTYPES
CustomCCode /* Include the OpenGL headers */
-CustomCCode #include <gl.h>
-CustomCCode #include <glext.h>
+CustomCCode #include <GL/gl.h>
+
+CustomCCode /* Provide Windows typedefs */
+CustomCCode typedef void* LPVOID;
+CustomCCode typedef unsigned int* PUINT;
-CustomJavaCode MacOSXGLImpl public MacOSXGLImpl(MacOSXGLContext context) {
+CustomJavaCode MacOSXGLImpl public MacOSXGLImpl(MacOSXGLContext context)
+CustomJavaCode MacOSXGLImpl {
CustomJavaCode MacOSXGLImpl this.context = context;
CustomJavaCode MacOSXGLImpl }
+CustomJavaCode MacOSXGLImpl /** This constructor should be used manually in order to
+CustomJavaCode MacOSXGLImpl create a GL object that can be used with the Cocoa NSOpenGLView. */
+CustomJavaCode MacOSXGLImpl public MacOSXGLImpl()
+CustomJavaCode MacOSXGLImpl {
+CustomJavaCode MacOSXGLImpl this.context = new MacOSXDummyGLContext(this);
+CustomJavaCode MacOSXGLImpl }
+
CustomJavaCode MacOSXGLImpl public boolean isFunctionAvailable(String glFunctionName)
CustomJavaCode MacOSXGLImpl {
CustomJavaCode MacOSXGLImpl return context.isFunctionAvailable(glFunctionName);
@@ -31,12 +44,25 @@ CustomJavaCode MacOSXGLImpl {
CustomJavaCode MacOSXGLImpl return context.isExtensionAvailable(glExtensionName);
CustomJavaCode MacOSXGLImpl }
+CustomJavaCode MacOSXGLImpl /** Forces a recomputation of which extensions are available.
+CustomJavaCode MacOSXGLImpl Should only be called if this MacOSXGLImpl is being used
+CustomJavaCode MacOSXGLImpl in conjunction with an NSOpenGLView instead of a GLCanvas. */
+CustomJavaCode MacOSXGLImpl public void resetGLFunctionAvailability()
+CustomJavaCode MacOSXGLImpl {
+CustomJavaCode MacOSXGLImpl if (!(context instanceof MacOSXDummyGLContext)) {
+CustomJavaCode MacOSXGLImpl throw new GLException("Should only be called if being used with NSOpenGLView");
+CustomJavaCode MacOSXGLImpl }
+CustomJavaCode MacOSXGLImpl ((MacOSXDummyGLContext) context).resetGLFunctionAvailability();
+CustomJavaCode MacOSXGLImpl }
+
CustomJavaCode MacOSXGLImpl private MacOSXGLContext context;
-CustomJavaCode MacOSXGLImpl /**
-CustomJavaCode MacOSXGLImpl * Provides platform-independent access to the wglAllocateMemoryNV /
-CustomJavaCode MacOSXGLImpl * glXAllocateMemoryNV extension.
-CustomJavaCode MacOSXGLImpl */
-CustomJavaCode MacOSXGLImpl public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3) {
-CustomJavaCode MacOSXGLImpl throw new RuntimeException(" FIXME: not implemented, not needed?");
-CustomJavaCode MacOSXGLImpl }
+CustomJavaCode MacOSXGLImpl /**
+CustomJavaCode MacOSXGLImpl * Provides platform-independent access to the wglAllocateMemoryNV /
+CustomJavaCode MacOSXGLImpl * glXAllocateMemoryNV extension.
+CustomJavaCode MacOSXGLImpl */
+CustomJavaCode MacOSXGLImpl public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3)
+CustomJavaCode MacOSXGLImpl {
+CustomJavaCode MacOSXGLImpl // FIXME
+CustomJavaCode MacOSXGLImpl throw new GLException("Not yet implemented");
+CustomJavaCode MacOSXGLImpl }