'''OpenGL extension SGI.color_table

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

Overview (from the spec)
	
	This extension defines a new RGBA-format color lookup mechanism.  It does
	not replace the color lookups defined by the GL Specification, but rather
	provides additional lookup capabilities with different operation.  The key
	difference is that the new lookup tables are treated as 1-dimensional images
	with internal formats, like texture images and convolution filter images.
	From this follows the fact that the new tables can operate on a subset of
	the components of passing pixel groups.  For example, a table with internal
	format ALPHA modifies only the A component of each pixel group, leaving the
	R, G, and B components unmodified.
	
	If EXT_copy_texture is implemented, this extension also defines methods to
	initialize the color lookup tables from the framebuffer, in addition to the
	standard memory source mechanisms.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/SGI/color_table.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.SGI.color_table import *
from OpenGL.raw.GL.SGI.color_table import _EXTENSION_NAME

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

# INPUT glColorTableSGI.table size not checked against 'format,type,width'
glColorTableSGI=wrapper.wrapper(glColorTableSGI).setInputArraySize(
    'table', None
)
# INPUT glColorTableParameterfvSGI.params size not checked against 'pname'
glColorTableParameterfvSGI=wrapper.wrapper(glColorTableParameterfvSGI).setInputArraySize(
    'params', None
)
# INPUT glColorTableParameterivSGI.params size not checked against 'pname'
glColorTableParameterivSGI=wrapper.wrapper(glColorTableParameterivSGI).setInputArraySize(
    'params', None
)
# OUTPUT glGetColorTableSGI.table COMPSIZE(target, format, type) 
glGetColorTableParameterfvSGI=wrapper.wrapper(glGetColorTableParameterfvSGI).setOutput(
    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
)
glGetColorTableParameterivSGI=wrapper.wrapper(glGetColorTableParameterivSGI).setOutput(
    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
)
### END AUTOGENERATED SECTION