# This .cfg file provides common options used by the desktop OpenGL
# implementation on all platforms.

# Inform the glue code generator of the association between #defines
# and functions and the extensions in which they are defined
GLHeader GL/gl.h
GLHeader GL/glext.h

#Include gl-desktop-tracker.cfg


#
# Directives needed when processing wglext.h on Windows and other platforms
#
Opaque boolean BOOL
Opaque long HANDLE
Opaque long PROC
Opaque long HINSTANCE
Opaque long HWND
Opaque long HBITMAP
Opaque long HDC
Opaque long HGDIOBJ
Opaque long HGLRC
Opaque long HPBUFFERARB
Opaque long HPBUFFEREXT
Opaque long void **
ReturnsString wglGetExtensionsStringARB
ReturnsString wglGetExtensionsStringEXT

# XID needs to be treated as a long for 32/64 bit compatibility
Opaque long XID

#
# Directives needed when processing cglext.h on MacOSX and other platforms
#
Opaque long CGContextRef
Opaque long void **
# Implement the first argument to cglGetProcAddress as String instead
# of byte[]
ArgumentIsString cglGetProcAddress 0

#
# Directives needed when processing glxext.h on X11 and other platforms
#
Opaque long __GLXextFuncPtr
Opaque boolean Bool
Opaque long Display *
Opaque long GLXContext
Opaque long Visual *
# Ignore the empty Display and Visual data structures (though made
# opaque, the references from XVisualInfo and elsewhere are still
# traversed)
Ignore Display
Ignore Visual
ArgumentIsString glXGetProcAddress 0
ArgumentIsString glXGetProcAddressARB 0
ReturnsString glXQueryExtensionsString
ReturnsString glXQueryServerString
ReturnsString glXGetClientString
TemporaryCVariableDeclaration glXGetFBConfigs       int count;
TemporaryCVariableAssignment  glXGetFBConfigs       count = _nelements_ptr[0];
ReturnValueCapacity           glXGetFBConfigs       count * sizeof(GLXFBConfig)