# This .cfg file is used to generate the interface and implementing
# class for the WGL extensions.
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/Windows

Package jogamp.opengl.windows.wgl
Style InterfaceAndImpl
JavaClass WGLExt
ImplPackage jogamp.opengl.windows.wgl
ImplJavaClass WGLExtImpl
Include gl-common.cfg
Include gl-desktop.cfg

AllowNonGLExtensions true

GLHeader wingdi.h
GLHeader GL/wglext.h

EmitProcAddressTable true
ProcAddressTableClassName WGLExtProcAddressTable
GetProcAddressTableExpr _context.getWGLExtProcAddressTable()

# Ignore everything that doesn't start with wgl or WGL
Ignore GL_.+
Ignore gl.+

Include gl-headers.cfg
Include ../intptr.cfg

# FIXME: for the time being, ignore all extensions requiring the
# presence of java.nio.LongBuffer because it doesn't exist on CDC/FP +
# JSR-239 NIO subset (remove once we have Java SE classes running on CVM)
# Inform the glue code generator of the association between #defines
# and functions and the extensions in which they are defined
GLHeader GL/wglext.h
IgnoreExtension WGL_OML_sync_control
IgnoreExtension WGL_NV_gpu_affinity

IgnoreExtension WGL_EXT_make_current_read
RenameExtensionIntoCore WGL_ARB_make_current_read

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

CustomJavaCode WGLExtImpl  public WGLExtImpl(WindowsWGLContext 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 WindowsWGLContext _context;