示例#1
0
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 = arraydatatype.GL_CONSTANT_TO_ARRAY_TYPE[ glType ]
        function.setPyConverter(pointer_name, arrayhelpers.asArrayType(arrayModuleType))
    else:
        function.setPyConverter(pointer_name, arrayhelpers.AsArrayOfType(pointer_name,"type"))
    function.setCConverter(pointer_name, converters.getPyArgsName(pointer_name))
    if "size" in function.argNames:
        function.setPyConverter("size")
        function.setCConverter("size", arrayhelpers.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(arrayhelpers.storePointerType(pointer_name, arrayType))
    function.setReturnValues(wrapper.returnPyArgument(pointer_name))
    return name,function
示例#2
0
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 = arraydatatype.GL_CONSTANT_TO_ARRAY_TYPE[ glType ]
        function.setPyConverter( pointer_name, arrayhelpers.asArrayType(arrayModuleType) )
    else:
        function.setPyConverter( pointer_name, arrayhelpers.AsArrayOfType(pointer_name,'type') )
    function.setCConverter( pointer_name, converters.getPyArgsName( pointer_name ) )
    if 'size' in function.argNames:
        function.setPyConverter( 'size' )
        function.setCConverter( 'size', arrayhelpers.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( arrayhelpers.storePointerType( pointer_name, arrayType ) )
    function.setReturnValues( wrapper.returnPyArgument( pointer_name ) )
    return name,function
示例#3
0

for name,function in [
    wrapPointerFunction(*args)
    for args in POINTER_FUNCTION_DATA
]:
    globals()[name] = function
try:
    del name, function
except NameError as err:
    pass

glVertexPointer = wrapper.wrapper(_simple.glVertexPointer).setPyConverter(
    "pointer", arrayhelpers.AsArrayOfType("pointer", "type"),
).setStoreValues(
    arrayhelpers.storePointerType("pointer", _simple.GL_VERTEX_ARRAY_POINTER)
).setReturnValues(
    wrapper.returnPyArgument("pointer")
)
glTexCoordPointer = wrapper.wrapper(_simple.glTexCoordPointer).setPyConverter(
    "pointer", arrayhelpers.AsArrayOfType("pointer", "type"),
).setStoreValues(
    arrayhelpers.storePointerType("pointer", _simple.GL_TEXTURE_COORD_ARRAY_POINTER)
).setReturnValues(
    wrapper.returnPyArgument("pointer")
)
glNormalPointer = wrapper.wrapper(_simple.glNormalPointer).setPyConverter(
    "pointer", arrayhelpers.AsArrayOfType("pointer", "type"),
).setStoreValues(
    arrayhelpers.storePointerType("pointer", _simple.GL_NORMAL_ARRAY_POINTER)
).setReturnValues(
示例#4
0

for name, function in [
        wrapPointerFunction(*args) for args in POINTER_FUNCTION_DATA
]:
    globals()[name] = function
try:
    del name, function
except NameError as err:
    pass

glVertexPointer = wrapper.wrapper(_simple.glVertexPointer).setPyConverter(
    'pointer',
    arrayhelpers.AsArrayOfType('pointer', 'type'),
).setStoreValues(
    arrayhelpers.storePointerType(
        'pointer', _simple.GL_VERTEX_ARRAY_POINTER)).setReturnValues(
            wrapper.returnPyArgument('pointer'))
glTexCoordPointer = wrapper.wrapper(_simple.glTexCoordPointer).setPyConverter(
    'pointer',
    arrayhelpers.AsArrayOfType('pointer', 'type'),
).setStoreValues(
    arrayhelpers.storePointerType(
        'pointer', _simple.GL_TEXTURE_COORD_ARRAY_POINTER)).setReturnValues(
            wrapper.returnPyArgument('pointer'))
glNormalPointer = wrapper.wrapper(_simple.glNormalPointer).setPyConverter(
    'pointer',
    arrayhelpers.AsArrayOfType('pointer', 'type'),
).setStoreValues(
    arrayhelpers.storePointerType(
        'pointer', _simple.GL_NORMAL_ARRAY_POINTER)).setReturnValues(
            wrapper.returnPyArgument('pointer'))
示例#5
0

for name,function in [
    wrapPointerFunction( *args )
    for args in POINTER_FUNCTION_DATA
]:
    globals()[name] = function
try:
    del name, function
except NameError as err:
    pass

glVertexPointer = wrapper.wrapper( _simple.glVertexPointer ).setPyConverter(
    'pointer', arrayhelpers.AsArrayOfType( 'pointer', 'type' ),
).setStoreValues(
    arrayhelpers.storePointerType( 'pointer', _simple.GL_VERTEX_ARRAY_POINTER )
).setReturnValues(
    wrapper.returnPyArgument( 'pointer' )
)
glTexCoordPointer = wrapper.wrapper( _simple.glTexCoordPointer ).setPyConverter(
    'pointer', arrayhelpers.AsArrayOfType( 'pointer', 'type' ),
).setStoreValues(
    arrayhelpers.storePointerType( 'pointer', _simple.GL_TEXTURE_COORD_ARRAY_POINTER )
).setReturnValues(
    wrapper.returnPyArgument( 'pointer' )
)
glNormalPointer = wrapper.wrapper( _simple.glNormalPointer ).setPyConverter(
    'pointer', arrayhelpers.AsArrayOfType( 'pointer', 'type' ),
).setStoreValues(
    arrayhelpers.storePointerType( 'pointer', _simple.GL_NORMAL_ARRAY_POINTER )
).setReturnValues(