def wrapPointerFunction( name, baseFunction, glType, arrayType,startArgs, defaultSize ): """Wrap the given pointer-setting function""" function= wrapper.wrapper( baseFunction ) if 'ptr' in baseFunction.argNames: pointer_name = 'ptr' else: pointer_name = 'pointer' assert not getattr( function, 'pyConverters', None ), """Reusing wrappers?""" if arrayType: arrayModuleType = arrays.GL_CONSTANT_TO_ARRAY_TYPE[ glType ] function.setPyConverter( pointer_name, arrays.asArrayType(arrayModuleType) ) else: function.setPyConverter( pointer_name, arrays.AsArrayOfType(pointer_name,'type') ) function.setCConverter( pointer_name, converters.getPyArgsName( pointer_name ) ) if 'size' in function.argNames: function.setPyConverter( 'size' ) function.setCConverter( 'size', arrays.arraySizeOfFirstType(arrayModuleType,defaultSize) ) if 'type' in function.argNames: function.setPyConverter( 'type' ) function.setCConverter( 'type', glType ) if 'stride' in function.argNames: function.setPyConverter( 'stride' ) function.setCConverter( 'stride', 0 ) function.setStoreValues( arrays.storePointerType( pointer_name, arrayType ) ) function.setReturnValues( wrapper.returnPyArgument( pointer_name ) ) return name,function
This module customises the behaviour of the OpenGL.raw.GL.ARB.occlusion_query to provide a more Python-friendly API ''' from OpenGL import platform, constants, constant, arrays from OpenGL import extensions, wrapper from OpenGL.GL import glget import ctypes from OpenGL.raw.GL.ARB.occlusion_query import * ### END AUTOGENERATED SECTION from OpenGL.GL import glget from OpenGL import converters for func in ('glGenQueriesARB','glDeleteQueriesARB'): globals()[func] = wrapper.wrapper( globals()[func], ).setPyConverter('n').setCConverter( 'n', arrays.AsArrayTypedSize( 'ids', arrays.GLuintArray ), ).setCConverter( 'ids', arrays.asArrayType(arrays.GLuintArray), ).setReturnValues( wrapper.returnPyArgument( 'ids' ) ) for func in ( 'glGetQueryivARB','glGetQueryObjectivARB','glGetQueryObjectuivARB', ): globals()[func] = wrapper.wrapper(globals()[func]).setOutput( "params", (1,) ) del func, glget