'''OpenGL extension SGIX.fbconfig This module customises the behaviour of the OpenGL.raw.GLX.SGIX.fbconfig to provide a more Python-friendly API Overview (from the spec) This extension introduces a new way to describe the capabilities of a GLX drawable (i.e., to describe the depth of color buffer components and the type and size of ancillary buffers), removes the "similarity" requirement when making a context current to a drawable, and supports RGBA rendering to one- and two-component Windows and GLX Pixmaps. Currently GLX overloads X Visuals with information on GLX drawable capabilities. This extension defines a new construct, a GLXFBConfigSGIX, that encapsulates GLX drawable capabilities and has the following properties: - It may or may not have an associated X visual. If it does have an associated X visual then it is possible to create Windows that have the capabilities described by the GLXFBConfig. - A particular GLXFBConfig does not need to work with all GLX drawables. For example, it is possible for implementations to export GLXFBConfigs that only work with GLX pixmaps. This extension also removes the "similarity" restriction when making a context and drawable current. Instead a less restrictive requirement of "compatibility" (see definition below) is imposed. Note that when a context is created it has an associated rendering type which is either RGBA or color index. In the future we may want to remove all "similarity" and "compatibility" restrictions and allow a context to be bound to any drawable that supports its rendering type. Finally the current GLX specification requires that the GLX_RGBA visual attribute be associated only with X visual types TrueColor and DirectColor. This extension defines the semantics for doing RGBA rendering to Windows created with visuals of type PseudoColor, StaticColor, GrayScale, and StaticGray. In each of these cases, the red component is used to generate the display, and the green and blue components, if present, are ignored for display purposes. The OpenGL RGBA rendering semantics are more powerful than the OpenGL index rendering semantics. By extending the number of X visual types that can be associated with an RGBA color buffer, this extension allows RGBA rendering semantics to be used with pseudo color and gray scale displays. An especially useful application of this extension is support of one- and two-component RGBA drawables; drawables whose green, blue, and sometimes alpha components have no bitplanes. The official definition of this extension is available here: http://www.opengl.org/registry/specs/SGIX/fbconfig.txt ''' from OpenGL import platform, constant, arrays from OpenGL import extensions, wrapper import ctypes from OpenGL.raw.GLX import _types, _glgets from OpenGL.raw.GLX.SGIX.fbconfig import * from OpenGL.raw.GLX.SGIX.fbconfig import _EXTENSION_NAME def glInitFbconfigSGIX(): '''Return boolean indicating whether this extension is available''' from OpenGL import extensions return extensions.hasGLExtension( _EXTENSION_NAME ) ### END AUTOGENERATED SECTION