# 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 com.sun.opengl.impl.macosx
Style InterfaceAndImpl
JavaClass CGLExt
ImplPackage com.sun.opengl.impl.macosx
ImplJavaClass CGLExtImpl
Include gl-common-macosx.cfg

EmitProcAddressTable true
ProcAddressTableClassName CGLExtProcAddressTable
GetProcAddressTableExpr _context.getCGLExtProcAddressTable()

# 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;