'''OpenGL extension OES.fixed_point

This module customises the behaviour of the 
OpenGL.raw.GL.OES.fixed_point to provide a more 
Python-friendly API

Overview (from the spec)
	
	This extension provides the capability, for platforms that do
	not have efficient floating-point support, to input data in a
	fixed-point format, i.e.,  a scaled-integer format.  There are
	several ways a platform could try to solve the problem, such as
	using integer only commands, but there are many OpenGL commands
	that have only floating-point or double-precision floating-point
	parameters.  Also, it is likely that any credible application
	running on such a platform will need to perform some computations
	and will already be using some form of fixed-point representation.
	This extension solves the problem by adding new ``fixed', and
	``clamp fixed''  data types based on a a two's complement
	S15.16 representation.  New versions of commands are created
	with an 'x' suffix that take fixed or clampx parameters.
	

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/OES/fixed_point.txt
'''
from OpenGL import platform, constant, arrays
from OpenGL import extensions, wrapper
import ctypes
from OpenGL.raw.GL import _types, _glgets
from OpenGL.raw.GL.OES.fixed_point import *
from OpenGL.raw.GL.OES.fixed_point import _EXTENSION_NAME

def glInitFixedPointOES():
    '''Return boolean indicating whether this extension is available'''
    from OpenGL import extensions
    return extensions.hasGLExtension( _EXTENSION_NAME )

glClipPlanexOES=wrapper.wrapper(glClipPlanexOES).setInputArraySize(
    'equation', 4
)
# INPUT glFogxvOES.param size not checked against 'pname'
glFogxvOES=wrapper.wrapper(glFogxvOES).setInputArraySize(
    'param', None
)
glGetClipPlanexOES=wrapper.wrapper(glGetClipPlanexOES).setOutput(
    'equation',size=(4,),orPassIn=True
)
glGetFixedvOES=wrapper.wrapper(glGetFixedvOES).setOutput(
    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
)
glGetTexEnvxvOES=wrapper.wrapper(glGetTexEnvxvOES).setOutput(
    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
)
glGetTexParameterxvOES=wrapper.wrapper(glGetTexParameterxvOES).setOutput(
    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
)
# INPUT glLightModelxvOES.param size not checked against 'pname'
glLightModelxvOES=wrapper.wrapper(glLightModelxvOES).setInputArraySize(
    'param', None
)
# INPUT glLightxvOES.params size not checked against 'pname'
glLightxvOES=wrapper.wrapper(glLightxvOES).setInputArraySize(
    'params', None
)
glLoadMatrixxOES=wrapper.wrapper(glLoadMatrixxOES).setInputArraySize(
    'm', 16
)
# INPUT glMaterialxvOES.param size not checked against 'pname'
glMaterialxvOES=wrapper.wrapper(glMaterialxvOES).setInputArraySize(
    'param', None
)
glMultMatrixxOES=wrapper.wrapper(glMultMatrixxOES).setInputArraySize(
    'm', 16
)
# INPUT glPointParameterxvOES.params size not checked against 'pname'
glPointParameterxvOES=wrapper.wrapper(glPointParameterxvOES).setInputArraySize(
    'params', None
)
# INPUT glTexEnvxvOES.params size not checked against 'pname'
glTexEnvxvOES=wrapper.wrapper(glTexEnvxvOES).setInputArraySize(
    'params', None
)
# INPUT glTexParameterxvOES.params size not checked against 'pname'
glTexParameterxvOES=wrapper.wrapper(glTexParameterxvOES).setInputArraySize(
    'params', None
)
# INPUT glGetLightxvOES.params size not checked against 'pname'
glGetLightxvOES=wrapper.wrapper(glGetLightxvOES).setInputArraySize(
    'params', None
)
# INPUT glGetMaterialxvOES.params size not checked against 'pname'
glGetMaterialxvOES=wrapper.wrapper(glGetMaterialxvOES).setInputArraySize(
    'params', None
)
# INPUT glBitmapxOES.bitmap size not checked against 'width,height'
glBitmapxOES=wrapper.wrapper(glBitmapxOES).setInputArraySize(
    'bitmap', None
)
glColor3xvOES=wrapper.wrapper(glColor3xvOES).setInputArraySize(
    'components', 3
)
glColor4xvOES=wrapper.wrapper(glColor4xvOES).setInputArraySize(
    'components', 4
)
# INPUT glConvolutionParameterxvOES.params size not checked against 'pname'
glConvolutionParameterxvOES=wrapper.wrapper(glConvolutionParameterxvOES).setInputArraySize(
    'params', None
)
glEvalCoord1xvOES=wrapper.wrapper(glEvalCoord1xvOES).setInputArraySize(
    'coords', 1
)
glEvalCoord2xvOES=wrapper.wrapper(glEvalCoord2xvOES).setInputArraySize(
    'coords', 2
)
# INPUT glFeedbackBufferxOES.buffer size not checked against n
glFeedbackBufferxOES=wrapper.wrapper(glFeedbackBufferxOES).setInputArraySize(
    'buffer', None
)
glGetConvolutionParameterxvOES=wrapper.wrapper(glGetConvolutionParameterxvOES).setOutput(
    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
)
glGetHistogramParameterxvOES=wrapper.wrapper(glGetHistogramParameterxvOES).setOutput(
    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
)
glGetLightxOES=wrapper.wrapper(glGetLightxOES).setOutput(
    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
)
glGetMapxvOES=wrapper.wrapper(glGetMapxvOES).setOutput(
    'v',size=_glgets._glget_size_mapping,pnameArg='query',orPassIn=True
)
glGetPixelMapxv=wrapper.wrapper(glGetPixelMapxv).setOutput(
    'values',size=lambda x:(x,),pnameArg='size',orPassIn=True
)
glGetTexGenxvOES=wrapper.wrapper(glGetTexGenxvOES).setOutput(
    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
)
glGetTexLevelParameterxvOES=wrapper.wrapper(glGetTexLevelParameterxvOES).setOutput(
    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
)
glIndexxvOES=wrapper.wrapper(glIndexxvOES).setInputArraySize(
    'component', 1
)
glLoadTransposeMatrixxOES=wrapper.wrapper(glLoadTransposeMatrixxOES).setInputArraySize(
    'm', 16
)
glMultTransposeMatrixxOES=wrapper.wrapper(glMultTransposeMatrixxOES).setInputArraySize(
    'm', 16
)
glMultiTexCoord1xvOES=wrapper.wrapper(glMultiTexCoord1xvOES).setInputArraySize(
    'coords', 1
)
glMultiTexCoord2xvOES=wrapper.wrapper(glMultiTexCoord2xvOES).setInputArraySize(
    'coords', 2
)
glMultiTexCoord3xvOES=wrapper.wrapper(glMultiTexCoord3xvOES).setInputArraySize(
    'coords', 3
)
glMultiTexCoord4xvOES=wrapper.wrapper(glMultiTexCoord4xvOES).setInputArraySize(
    'coords', 4
)
glNormal3xvOES=wrapper.wrapper(glNormal3xvOES).setInputArraySize(
    'coords', 3
)
# INPUT glPixelMapx.values size not checked against size
glPixelMapx=wrapper.wrapper(glPixelMapx).setInputArraySize(
    'values', None
)
# INPUT glPrioritizeTexturesxOES.priorities size not checked against n
# INPUT glPrioritizeTexturesxOES.textures size not checked against n
glPrioritizeTexturesxOES=wrapper.wrapper(glPrioritizeTexturesxOES).setInputArraySize(
    'priorities', None
).setInputArraySize(
    'textures', None
)
glRasterPos2xvOES=wrapper.wrapper(glRasterPos2xvOES).setInputArraySize(
    'coords', 2
)
glRasterPos3xvOES=wrapper.wrapper(glRasterPos3xvOES).setInputArraySize(
    'coords', 3
)
glRasterPos4xvOES=wrapper.wrapper(glRasterPos4xvOES).setInputArraySize(
    'coords', 4
)
glRectxvOES=wrapper.wrapper(glRectxvOES).setInputArraySize(
    'v1', 2
).setInputArraySize(
    'v2', 2
)
glTexCoord1xvOES=wrapper.wrapper(glTexCoord1xvOES).setInputArraySize(
    'coords', 1
)
glTexCoord2xvOES=wrapper.wrapper(glTexCoord2xvOES).setInputArraySize(
    'coords', 2
)
glTexCoord3xvOES=wrapper.wrapper(glTexCoord3xvOES).setInputArraySize(
    'coords', 3
)
glTexCoord4xvOES=wrapper.wrapper(glTexCoord4xvOES).setInputArraySize(
    'coords', 4
)
# INPUT glTexGenxvOES.params size not checked against 'pname'
glTexGenxvOES=wrapper.wrapper(glTexGenxvOES).setInputArraySize(
    'params', None
)
glVertex2xvOES=wrapper.wrapper(glVertex2xvOES).setInputArraySize(
    'coords', 2
)
glVertex3xvOES=wrapper.wrapper(glVertex3xvOES).setInputArraySize(
    'coords', 3
)
glVertex4xvOES=wrapper.wrapper(glVertex4xvOES).setInputArraySize(
    'coords', 4
)
### END AUTOGENERATED SECTION