From: Andreas Hartmetz Date: Tue, 9 Jul 2013 20:40:44 +0000 (+0200) Subject: Proper AttribArray / attrib_list support for applicable CGL functions. X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=700323b8d6a43a7c7aa9257fe79299579adb5c1e;p=apitrace Proper AttribArray / attrib_list support for applicable CGL functions. It's just CGLChoosePixelFormat here. --- diff --git a/specs/cglapi.py b/specs/cglapi.py index f85ae44..8cb9d8c 100644 --- a/specs/cglapi.py +++ b/specs/cglapi.py @@ -44,49 +44,57 @@ CGSConnectionID = Opaque("CGSConnectionID") CGSWindowID = Alias("CGSWindowID", Int) CGSSurfaceID = Alias("CGSSurfaceID", Int) -CGLPixelFormatAttribute = Enum("CGLPixelFormatAttribute", [ +CGLPixelFormatBoolAttributes = [ "kCGLPFAAllRenderers", "kCGLPFADoubleBuffer", "kCGLPFAStereo", "kCGLPFAAuxBuffers", - "kCGLPFAColorSize", - "kCGLPFAAlphaSize", - "kCGLPFADepthSize", - "kCGLPFAStencilSize", - "kCGLPFAAccumSize", "kCGLPFAMinimumPolicy", "kCGLPFAMaximumPolicy", "kCGLPFAOffScreen", "kCGLPFAFullScreen", - "kCGLPFASampleBuffers", - "kCGLPFASamples", "kCGLPFAAuxDepthStencil", "kCGLPFAColorFloat", "kCGLPFAMultisample", "kCGLPFASupersample", "kCGLPFASampleAlpha", - "kCGLPFARendererID", "kCGLPFASingleRenderer", "kCGLPFANoRecovery", "kCGLPFAAccelerated", "kCGLPFAClosestPolicy", + "kCGLPFARobust", "kCGLPFABackingStore", + "kCGLPFAMPSafe", "kCGLPFAWindow", + "kCGLPFAMultiScreen", "kCGLPFACompliant", - "kCGLPFADisplayMask", "kCGLPFAPBuffer", "kCGLPFARemotePBuffer", "kCGLPFAAllowOfflineRenderers", "kCGLPFAAcceleratedCompute", + "kCGLOGLPVersion_Legacy", + "kCGLOGLPVersion_3_2_Core" +] + +CGLPixelFormatIntAttributes = [ + "kCGLPFAColorSize", + "kCGLPFAAlphaSize", + "kCGLPFADepthSize", + "kCGLPFAStencilSize", + "kCGLPFAAccumSize", + "kCGLPFASampleBuffers", + "kCGLPFASamples", + "kCGLPFARendererID", + "kCGLPFADisplayMask", "kCGLPFAOpenGLProfile", - "kCGLPFAVirtualScreenCount", - "kCGLPFARobust", - "kCGLPFAMPSafe", - "kCGLPFAMultiScreen", + "kCGLPFAVirtualScreenCount" +] - "kCGLOGLPVersion_Legacy", - "kCGLOGLPVersion_3_2_Core", -]) +CGLPixelFormatAttribute = Enum("CGLPixelFormatAttribute", CGLPixelFormatBoolAttributes + CGLPixelFormatIntAttributes) + +CGLPixelFormatAttribs = AttribArray(CGLPixelFormatAttribute, + [(a, None) for a in CGLPixelFormatBoolAttributes] + + [(a, Int) for a in CGLPixelFormatIntAttributes]) CGLRendererProperty = Enum("CGLRendererProperty", [ "kCGLRPOffScreen", @@ -188,7 +196,7 @@ cglapi.addFunctions([ Function(CGLContextObj, "CGLGetCurrentContext", []), # OpenGL.h, OpenGL framework - Function(CGLError, "CGLChoosePixelFormat", [(Array(Const(CGLPixelFormatAttribute), "_AttribList_size(attribs)"), "attribs"), Out(Pointer(CGLPixelFormatObj), "pix"), Out(Pointer(GLint), "npix")]), + Function(CGLError, "CGLChoosePixelFormat", [(CGLPixelFormatAttribs, "attribs"), Out(Pointer(CGLPixelFormatObj), "pix"), Out(Pointer(GLint), "npix")]), Function(CGLError, "CGLDestroyPixelFormat", [(CGLPixelFormatObj, "pix")]), Function(CGLError, "CGLDescribePixelFormat", [(CGLPixelFormatObj, "pix"), (GLint, "pix_num"), (CGLPixelFormatAttribute, "attrib"), Out(Pointer(GLint), "value")]), Function(Void, "CGLReleasePixelFormat", [(CGLPixelFormatObj, "pix")]),