aboutsummaryrefslogtreecommitdiffstats
path: root/make/cglext.cfg
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2005-07-27 00:30:06 +0000
committerKenneth Russel <[email protected]>2005-07-27 00:30:06 +0000
commit7c1f2cde56438a979ddaab5fecc09f663427be91 (patch)
tree65098e75762b3e0f6a7b1a484792f9a48ca3b247 /make/cglext.cfg
parentebd2c94e33c643ad6102e76f22d1624e9b986737 (diff)
Refactored platform extensions out of the GL interface and
implementation and into their own objects according to the JSR-231 expert group's resolutions. Moved the interfaces declaring these extensions into the platform-specific implementation directories and added a loosely-specified GL.getPlatformGLExtensions(). This will shrink the size of the platform-independent jar file considerably as the implementing class for the public GL interface is now no longer replicated for each platform. The build process is also simplified a fair bit; more simplifications are possible. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@337 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'make/cglext.cfg')
-rwxr-xr-xmake/cglext.cfg53
1 files changed, 53 insertions, 0 deletions
diff --git a/make/cglext.cfg b/make/cglext.cfg
new file mode 100755
index 000000000..52fad76c8
--- /dev/null
+++ b/make/cglext.cfg
@@ -0,0 +1,53 @@
+# This .cfg file is used to generate the interface and implementing
+# class for the CGL extensions.
+# Note that there are currently no such extensions exposed on Mac OS
+# X, but if in the future there are, this structure will allow them to
+# be easily exposed.
+Package net.java.games.jogl.impl.macosx
+Style InterfaceAndImpl
+JavaClass CGLExt
+ImplPackage net.java.games.jogl.impl.macosx
+ImplJavaClass CGLExtImpl
+Include gl-common-macosx.cfg
+
+EmitProcAddressTable true
+ProcAddressTableClassName CGLExtProcAddressTable
+ContextVariableName _context
+
+# Ignore everything that doesn't start with cgl or CGL
+IgnoreNot ^(cgl|CGL).+
+
+CustomCCode #include <inttypes.h>
+CustomCCode #include <stdlib.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/gl.h>
+
+CustomCCode #include </usr/include/machine/types.h>
+
+CustomCCode /* Provide Windows typedefs */
+CustomCCode typedef void* LPVOID;
+CustomCCode typedef unsigned int* PUINT;
+
+CustomJavaCode CGLExt public boolean isFunctionAvailable(String glFunctionName);
+CustomJavaCode CGLExt public boolean isExtensionAvailable(String glExtensionName);
+
+CustomJavaCode CGLExtImpl public CGLExtImpl(MacOSXGLContext context) {
+CustomJavaCode CGLExtImpl this._context = context;
+CustomJavaCode CGLExtImpl }
+
+CustomJavaCode CGLExtImpl public boolean isFunctionAvailable(String glFunctionName)
+CustomJavaCode CGLExtImpl {
+CustomJavaCode CGLExtImpl return _context.isFunctionAvailable(glFunctionName);
+CustomJavaCode CGLExtImpl }
+
+CustomJavaCode CGLExtImpl public boolean isExtensionAvailable(String glExtensionName)
+CustomJavaCode CGLExtImpl {
+CustomJavaCode CGLExtImpl return _context.isExtensionAvailable(glExtensionName);
+CustomJavaCode CGLExtImpl }
+
+CustomJavaCode CGLExtImpl private MacOSXGLContext _context;