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

# Inform the glue code generator of the association between #defines
# and functions and the extensions in which they are defined
# _for_ code generation. This shall match the parsed header files!
GLSemHeader GLES/gl.h
GLSemHeader GLES/glext-supplement.h
GLSemHeader GLES/glext.h

ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/GLBase.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/fixedfunc/GLMatrixFunc.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/fixedfunc/GLPointerFunc.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/fixedfunc/GLLightingFunc.java

HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-embedded-ignores.cfg
Include gl-desktop-ignores.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_EGL_image_external

IgnoreExtension GL_OES_compressed_ETC1_RGB8_texture
IgnoreExtension GL_OES_draw_texture
IgnoreExtension GL_OES_matrix_get
IgnoreExtension GL_OES_point_size_array
IgnoreExtension GL_OES_query_matrix
IgnoreExtension GL_OES_vertex_half_float
IgnoreExtension GL_OES_matrix_palette

IgnoreExtension GL_OES_texture_cube_map
IgnoreExtension GL_OES_texture_cube_map_array

IgnoreExtension GL_EXT_debug_marker
IgnoreExtension GL_EXT_debug_label
IgnoreExtension GL_EXT_multisampled_render_to_texture

# 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 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 glFogxv
Ignore glFrustumx
Ignore glGetClipPlanex
Ignore glGetFixedv
Ignore glGetLightxv
Ignore glGetMaterialxv
Ignore glGetTexEnvxv
Ignore glGetTexParameterxv
Ignore glLightModelx
Ignore glLightModelxv
Ignore glLightx
Ignore glLightxv
Ignore glLineWidthx
Ignore glLoadMatrixx
Ignore glMaterialx
Ignore glMaterialxv
Ignore glMultMatrixx
Ignore glMultiTexCoord4x
Ignore glNormal3x
Ignore glOrthox
Ignore glPointParameterx
Ignore glPointParameterxv
Ignore glPointSizex
Ignore glPolygonOffsetx
Ignore glQueryMatrixx
Ignore glRotatex
Ignore glSampleCoveragex
Ignore glScalex
Ignore glTexEnvx
Ignore glTexEnvxv
Ignore glTexGenx
Ignore glTexParameterx
Ignore glTexParameterxv
Ignore glTranslatex

#heavy float/double array diff to GL2
Ignore glClipPlanef
Ignore ^glGetClipPlanef(OES)?
 
#impl diff
Ignore ^glEGL.*
Ignore GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES

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);

IncludeAs CustomJavaCode GL2ES1 gl2_es1-common-cpubufferJavaCode.java

# dummy procaddress config / force procaddress for comments
EmitProcAddressTable false
ProcAddressTableClassName DontGenerateProcAddressTableStuff
GetProcAddressTableExpr DontGenerateProcAddressTableStuff
ForceProcAddressGen __ALL__

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

