# This .cfg file is used to generate the GL interface and implementing class.
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/gl2

ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java
ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/GLBase.java
ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java
ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java
ExtendedInterfaceSymbols ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java

Package javax.media.opengl
Style InterfaceAndImpl
JavaClass GL2
Extends GL2 GLBase
Extends GL2 GL
Extends GL2 GL2ES1
Extends GL2 GL2ES2
Extends GL2 GLMatrixFunc
Extends GL2 GLPointerFunc
Extends GL2 GLLightingFunc
ImplPackage com.sun.opengl.impl.gl2
ImplJavaClass GL2Impl
Implements GL2Impl GLBase
Implements GL2Impl GL
Implements GL2Impl GL2ES1
Implements GL2Impl GL2ES2
Implements GL2Impl GLMatrixFunc
Implements GL2Impl GLPointerFunc
Implements GL2Impl GLLightingFunc
Include gl-common-gl2.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg

EmitProcAddressTable true
ProcAddressTableClassName GL2ProcAddressTable
GetProcAddressTableExpr ((GL2ProcAddressTable)_context.getGLProcAddressTable())

Ignore GL_STENCIL_INDEX1_EXT
Ignore GL_STENCIL_INDEX4_EXT
Ignore GL_STENCIL_INDEX8_EXT
Ignore GL_STENCIL_INDEX16_EXT

# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
TagNativeBinding true

CustomJavaCode GL2     public static final int GL_STENCIL_INDEX16 = 0x8D49;
CustomJavaCode GL2     public static final int GL_RGBA_FLOAT32_APPLE = 0x8814;
CustomJavaCode GL2     public static final int GL_RGBA_FLOAT16_APPLE = 0x881A;
CustomJavaCode GL2     public boolean glIsPBOPackEnabled();
CustomJavaCode GL2     public boolean glIsPBOUnpackEnabled();

CustomJavaCode GL2Impl public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar) {
CustomJavaCode GL2Impl   glFrustum((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); }

CustomJavaCode GL2Impl public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar) {
CustomJavaCode GL2Impl   glOrtho((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); }

CustomJavaCode GL2Impl public void glClearDepthf(float depth) {
CustomJavaCode GL2Impl   glClearDepth((double)depth); }

CustomJavaCode GL2Impl public void glDepthRangef(float zNear, float zFar) {
CustomJavaCode GL2Impl    glDepthRange((double)zNear, (double)zFar); }

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

IncludeAs CustomJavaCode GL2Impl gl-impl-CustomJavaCode-common.java
IncludeAs CustomJavaCode GL2Impl gl-impl-CustomJavaCode-gl2.java
IncludeAs CustomJavaCode GL2Impl gl-impl-CustomJavaCode-gl2_es2.java
IncludeAs CustomCCode gl-impl-CustomCCode-gl2.c

Import javax.media.opengl.GLES1
Import javax.media.opengl.GLES2
Import javax.media.opengl.GL2
Import javax.media.opengl.GLArrayData
Import javax.media.opengl.GLUniformData
Import com.sun.opengl.impl.InternalBufferUtil
Import java.io.PrintStream