aboutsummaryrefslogtreecommitdiffstats
path: root/make/gl-impl-macosx.cfg
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2003-06-26 13:21:12 +0000
committerKenneth Russel <[email protected]>2003-06-26 13:21:12 +0000
commit0a6e191eaebcc8edc2611dbedab6fd04a615fc2f (patch)
tree7f8a9b8e88a6bc6662827d3f092b943b1ea893fb /make/gl-impl-macosx.cfg
parent2b54833bb15d6cae356fa0c5777d11e152d774cb (diff)
Initial Mac OS X port of Jogl by Gerard Ziemski and Kenneth Russell,
subsuming the previous prototype implementation (no GLCanvas support) done by Marc Downie. Added user's guide (HTML format) under doc/userguide/index.html. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@13 232f8b59-042b-4e1e-8c03-345bb8c30851
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 }