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

ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2GL3.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java
ExtendedInterfaceSymbolsIgnore ../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 GL2GL3
ImplPackage com.jogamp.opengl.impl.gl2
ImplJavaClass GL2Impl
Implements GL2Impl GLBase
Implements GL2Impl GL
Implements GL2Impl GL2ES1
Implements GL2Impl GL2ES2
Implements GL2Impl GL2GL3
Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg

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

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

# Ignore extensions that are already picked up via the GL2ES1 interface
IgnoreExtension GL_EXT_point_parameters

# Add PixelStorei StateTracker
#
CustomJavaCode GL2Impl private static final int params_offset = 0; // just a helper for JavaPrologue ..

JavaPrologue glPixelStorei glStateTracker.setInt(pname, param);

JavaPrologue glGetIntegerv if ( glStateTracker.getInt(pname, params, params_offset) ) { return; }

CustomJavaCode GL2     public boolean glIsPBOPackEnabled();
CustomJavaCode GL2     public boolean glIsPBOUnpackEnabled();

IncludeAs CustomJavaCode GL2 gl-if-CustomJavaCode-gl2.java

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-desktop.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.jogamp.opengl.impl.InternalBufferUtil
Import java.io.PrintStream