summaryrefslogtreecommitdiffstats
path: root/make/wglext.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/wglext.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/wglext.cfg')
-rw-r--r--make/wglext.cfg58
1 files changed, 58 insertions, 0 deletions
diff --git a/make/wglext.cfg b/make/wglext.cfg
new file mode 100644
index 000000000..58bd2d0fb
--- /dev/null
+++ b/make/wglext.cfg
@@ -0,0 +1,58 @@
+# This .cfg file is used to generate the interface and implementing
+# class for the WGL extensions.
+Package net.java.games.jogl.impl.windows
+Style InterfaceAndImpl
+JavaClass WGLExt
+ImplPackage net.java.games.jogl.impl.windows
+ImplJavaClass WGLExtImpl
+Include gl-common-win32.cfg
+
+EmitProcAddressTable true
+ProcAddressTableClassName WGLExtProcAddressTable
+ContextVariableName _context
+
+# Ignore everything that doesn't start with wgl or WGL
+Ignore ^[^wW].+
+
+CustomCCode #define WIN32_LEAN_AND_MEAN
+CustomCCode #include <windows.h>
+CustomCCode #undef WIN32_LEAN_AND_MEAN
+CustomCCode #include <stdlib.h>
+CustomCCode #include <stddef.h>
+CustomCCode #include <malloc.h>
+
+CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "glext.h" are parsed. */
+CustomCCode #define GL_GLEXT_PROTOTYPES
+
+CustomCCode /* Define WGL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "wglext.h" are parsed. */
+CustomCCode #define WGL_GLEXT_PROTOTYPES
+
+CustomCCode /* Include the OpenGL headers */
+CustomCCode #include <GL/gl.h>
+CustomCCode #include <GL/wglext.h>
+
+CustomCCode /* This typedef is only needed for VC6 */
+CustomCCode #if _MSC_VER <= 1200
+CustomCCode typedef int intptr_t;
+CustomCCode #endif
+
+CustomJavaCode WGLExt public boolean isFunctionAvailable(String glFunctionName);
+CustomJavaCode WGLExt public boolean isExtensionAvailable(String glExtensionName);
+
+CustomJavaCode WGLExtImpl public WGLExtImpl(WindowsGLContext context) {
+CustomJavaCode WGLExtImpl this._context = context;
+CustomJavaCode WGLExtImpl }
+
+CustomJavaCode WGLExtImpl public boolean isFunctionAvailable(String glFunctionName)
+CustomJavaCode WGLExtImpl {
+CustomJavaCode WGLExtImpl return _context.isFunctionAvailable(glFunctionName);
+CustomJavaCode WGLExtImpl }
+
+CustomJavaCode WGLExtImpl public boolean isExtensionAvailable(String glExtensionName)
+CustomJavaCode WGLExtImpl {
+CustomJavaCode WGLExtImpl return _context.isExtensionAvailable(glExtensionName);
+CustomJavaCode WGLExtImpl }
+
+CustomJavaCode WGLExtImpl private WindowsGLContext _context;