# This .cfg file is used to generate the GL interface and implementing class.
Package javax.media.opengl
Style InterfaceOnly
JavaClass GL2ES1
Extends GL2ES1 GLBase
Extends GL2ES1 GL
Extends GL2ES1 GLMatrixFunc
Extends GL2ES1 GLPointerFunc
Extends GL2ES1 GLLightingFunc

ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.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

HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-extensions.cfg

JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl

# Ignore all ES 1.X only stuff not in GL2
DropUniqVendorExtensions AMD
DropUniqVendorExtensions ANGLE
DropUniqVendorExtensions ARM
DropUniqVendorExtensions APPLE
DropUniqVendorExtensions ATI
DropUniqVendorExtensions IMG
DropUniqVendorExtensions QCOM
DropUniqVendorExtensions NV
DropUniqVendorExtensions VIV

IgnoreExtension GL_EXT_discard_framebuffer
IgnoreExtension GL_OES_compressed_paletted_texture
IgnoreExtension GL_OES_vertex_array_object

IgnoreExtension GL_OES_compressed_ETC1_RGB8_texture
IgnoreExtension GL_OES_draw_texture
IgnoreExtension GL_OES_fixed_point
IgnoreExtension GL_OES_matrix_get
IgnoreExtension GL_OES_point_size_array
IgnoreExtension GL_OES_query_matrix
IgnoreExtension GL_OES_vertex_half_float

# isn't included in GL2
# includes GL_STATE_RESTORE, which hasn't the QCOM suffix
IgnoreExtension GL_QCOM_extended_get
Ignore GL_STATE_RESTORE
Ignore GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET

Ignore glGetFixedv

# Ignore OES variants of single precision floating point routines
IgnoreExtension GL_OES_single_precision

# Ignore fixed point versions of routines in ES 1.x core
Ignore glAlphaFuncx
Ignore glClearColorx
Ignore glClearDepthx
Ignore glClipPlanex
Ignore glColor4x
Ignore glDepthRangex
Ignore glFogx
Ignore glFrustumx
Ignore glGetClipPlanex
Ignore glLightModelx
Ignore glLightx
Ignore glLineWidthx
Ignore glLoadMatrixx
Ignore glMaterialx
Ignore glMultMatrixx
Ignore glMultiTexCoord4x
Ignore glNormal3x
Ignore glOrthox
Ignore glPointParameterx
Ignore glPointSizex
Ignore glPolygonOffsetx
Ignore glQueryMatrixx
Ignore glRotatex
Ignore glSampleCoveragex
Ignore glScalex
Ignore glTexEnvx
Ignore glTexGenx
Ignore glTexParameterx
Ignore glTranslatex

#heavy float/double array diff to GL2
Ignore glClipPlanef
Ignore ^glGetClipPlanef(OES)?

#impl diff
Ignore ^glEGL.*
Ignore ^gl.*(xv)(OES)?
Ignore glTexGenxOES
Ignore GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES
Ignore glLoadPaletteFromModelViewMatrixOES
Ignore glGetFixedv

CustomJavaCode GL2ES1 public void glOrtho(double left, double right, double bottom, double top, double near_val, double far_val);
CustomJavaCode GL2ES1 public void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar);

EmitProcAddressTable false
ProcAddressTableClassName DontGenerateProcAddressTableStuff
GetProcAddressTableExpr DontGenerateProcAddressTableStuff

# Inform the glue code generator of the association between #defines
# and functions and the extensions in which they are defined
GLHeader GLES/gl.h
GLHeader GLES/glext.h
GLHeader GL/gl.h
GLHeader GL/glext.h

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