# 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.
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/MacOSX

Package jogamp.opengl.macosx.cgl
Style InterfaceAndImpl
JavaClass CGLExt
ImplPackage jogamp.opengl.macosx.cgl
ImplJavaClass CGLExtImpl
Include gl-common.cfg
Include gl-desktop.cfg

# Only NIO direct function, no arrays ..
NIOOnly __ALL__
NIODirectOnly __ALL__

GLHeader GL/cglext.h

EmitProcAddressTable true
ProcAddressTableClassName CGLExtProcAddressTable
GetProcAddressTableExpr _context.getCGLExtProcAddressTable()

# Ignore everything that doesn't start with cgl or CGL
IgnoreNot ^(cgl|CGL).+

CustomCCode #include <gluegen_stdint.h>
CustomCCode #include <gluegen_stddef.h>
Include gl-headers.cfg

CustomJavaCode CGLExt      public boolean isFunctionAvailable(String glFunctionName);
CustomJavaCode CGLExt      public boolean isExtensionAvailable(String glExtensionName);

CustomJavaCode CGLExtImpl  public CGLExtImpl(MacOSXCGLContext 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 MacOSXCGLContext _context;