Make it look more like an Array.
CGLPixelFormatAttribute = Enum("CGLPixelFormatAttribute", CGLPixelFormatBoolAttributes + CGLPixelFormatIntAttributes)
-CGLPixelFormatAttribs = AttribArray(CGLPixelFormatAttribute,
+CGLPixelFormatAttribs = AttribArray(Const(CGLPixelFormatAttribute),
[(a, None) for a in CGLPixelFormatBoolAttributes] +
[(a, Int) for a in CGLPixelFormatIntAttributes])
EGLConformantFlags = Flags(Int, ['EGL_OPENGL_BIT','EGL_OPENGL_ES_BIT', 'EGL_OPENGL_ES2_BIT', 'EGL_OPENVG_BIT',])
-EGLConfigAttribs = AttribArray(EGLint_enum, [
+EGLConfigAttribs = AttribArray(Const(EGLint_enum), [
('EGL_ALPHA_MASK_SIZE', UInt),
('EGL_ALPHA_SIZE', UInt),
('EGL_BIND_TO_TEXTURE_RGB', EGLBoolean),
EGLTextureTarget = FakeEnum(Int, ['EGL_TEXTURE_2D', 'EGL_NO_TEXTURE' ])
def EGLAttribArray(values):
- return AttribArray(EGLint_enum, values, terminator = 'EGL_NONE')
+ return AttribArray(Const(EGLint_enum), values, terminator = 'EGL_NONE')
EGLWindowsSurfaceAttribs = EGLAttribArray([
('EGL_RENDER_BUFFER', FakeEnum(Int, ['EGL_SINGLE_BUFFER', 'EGL_BACK_BUFFER'])),
Function(EGLBoolean, "eglSwapInterval", [(EGLDisplay, "dpy"), (EGLint, "interval")]),
- Function(EGLContext, "eglCreateContext", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (EGLContext, "share_context"), (AttribArray(EGLint_enum, [('EGL_CONTEXT_CLIENT_VERSION', Int)]), "attrib_list")]),
+ Function(EGLContext, "eglCreateContext", [(EGLDisplay, "dpy"), (EGLConfig, "config"), (EGLContext, "share_context"), (AttribArray(Const(EGLint_enum), [('EGL_CONTEXT_CLIENT_VERSION', Int)]), "attrib_list")]),
Function(EGLBoolean, "eglDestroyContext", [(EGLDisplay, "dpy"), (EGLContext, "ctx")]),
Function(EGLBoolean, "eglMakeCurrent", [(EGLDisplay, "dpy"), (EGLSurface, "draw"), (EGLSurface, "read"), (EGLContext, "ctx")]),
Function(EGLBoolean, "eglUnlockSurfaceKHR", [(EGLDisplay, "display"), (EGLSurface, "surface")]),
# EGL_KHR_image_base
- Function(EGLImageKHR, "eglCreateImageKHR", [(EGLDisplay, "dpy"), (EGLContext, "ctx"), (EGLenum, "target"), (EGLClientBuffer, "buffer"), (AttribArray(EGLint_enum, [('EGL_IMAGE_PRESERVED_KHR', EGLBoolean)]), "attrib_list")]),
+ Function(EGLImageKHR, "eglCreateImageKHR", [(EGLDisplay, "dpy"), (EGLContext, "ctx"), (EGLenum, "target"), (EGLClientBuffer, "buffer"), (AttribArray(Const(EGLint_enum), [('EGL_IMAGE_PRESERVED_KHR', EGLBoolean)]), "attrib_list")]),
Function(EGLBoolean, "eglDestroyImageKHR", [(EGLDisplay, "dpy"), (EGLImageKHR, "image")]),
# EGL_KHR_fence_sync
"GLX_PBUFFER_CLOBBER_MASK",
])
-UnusedAttribs = AttribArray(GLXEnum, [])
+UnusedAttribs = AttribArray(Const(GLXEnum), [])
GLXCommonSizeAttribs = [
('GLX_RED_SIZE', UInt),
('GLX_AUX_BUFFERS', UInt),
('GLX_SAMPLE_BUFFERS', UInt),
('GLX_SAMPLES', UInt)],
- isConst = False
)
GLXFBConfigCommonAttribs = GLXCommonSizeAttribs + [
('GLX_VISUAL_ID', Int) # another XID
]
-GLXFBConfigAttribs = AttribArray(GLXEnum, GLXFBConfigGLXAttribs)
-GLXFBConfigSGIXAttribs = AttribArray(GLXEnum, GLXFBConfigCommonAttribs, isConst = False)
+GLXFBConfigAttribs = AttribArray(Const(GLXEnum), GLXFBConfigGLXAttribs)
+GLXFBConfigSGIXAttribs = AttribArray(GLXEnum, GLXFBConfigCommonAttribs)
-GLXContextARBAttribs = AttribArray(GLXEnum, [
+GLXContextARBAttribs = AttribArray(Const(GLXEnum), [
('GLX_CONTEXT_MAJOR_VERSION_ARB', Int),
('GLX_CONTEXT_MINOR_VERSION_ARB', Int),
('GLX_CONTEXT_FLAGS_ARB', Flags(Int, ["GLX_CONTEXT_DEBUG_BIT_ARB", "GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB"])),
('GLX_CONTEXT_PROFILE_MASK_ARB', Flags(Int, ["GLX_CONTEXT_CORE_PROFILE_BIT_ARB", "GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB"]))
])
-GLXPbufferAttribs = AttribArray(GLXEnum, [
+GLXPbufferAttribs = AttribArray(Const(GLXEnum), [
('GLX_PBUFFER_WIDTH', Int),
('GLX_PBUFFER_HEIGHT', Int),
('GLX_LARGEST_PBUFFER', Bool),
('GLX_PRESERVED_CONTENTS_SGIX', Bool),
('GLX_LARGEST_PBUFFER', Bool),
('GLX_DIGITAL_MEDIA_PBUFFER_SGIX', Bool)],
- isConst = False
)
glxapi = Module("GLX")
class AttribArray(Type):
- def __init__(self, baseType, valueTypes, isConst = True, terminator = '0'):
+ def __init__(self, baseType, valueTypes, terminator = '0'):
self.baseType = baseType
- if isConst:
- Type.__init__(self, (Pointer(Const(self.baseType))).expr)
- else:
- Type.__init__(self, (Pointer(self.baseType)).expr)
+ Type.__init__(self, (Pointer(self.baseType)).expr)
self.valueTypes = valueTypes
self.terminator = terminator
self.hasKeysWithoutValues = False
(UINT, "uiFlags"),
])
-WGLContextAttribs = AttribArray(WGLenum, [
+WGLContextAttribs = AttribArray(Const(WGLenum), [
('WGL_CONTEXT_MAJOR_VERSION_ARB', Int),
('WGL_CONTEXT_MINOR_VERSION_ARB', Int),
('WGL_CONTEXT_LAYER_PLANE_ARB', Int),
('WGL_SAMPLES_ARB', Int),
]
-WGLPixelFormatAttribs = AttribArray(WGLenum, WGLPixelFormatAttribsList)
-WGLPixelFormatFloatAttribs = AttribArray(FLOAT, WGLPixelFormatAttribsList)
+WGLPixelFormatAttribs = AttribArray(Const(WGLenum), WGLPixelFormatAttribsList)
+WGLPixelFormatFloatAttribs = AttribArray(Const(FLOAT), WGLPixelFormatAttribsList)
-WGLCreatePbufferARBAttribs = AttribArray(WGLenum, [
+WGLCreatePbufferARBAttribs = AttribArray(Const(WGLenum), [
('WGL_PBUFFER_LARGEST_ARB', Int)
])
'WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB'
])
-WGLSetPbufferARBAttribs = AttribArray(WGLenum, [
+WGLSetPbufferARBAttribs = AttribArray(Const(WGLenum), [
('WGL_MIPMAP_LEVEL_ARB', Int),
('WGL_CUBE_MAP_FACE_ARB', CubeFaceEnum)
])