]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/modules/glcanvas/msw/glcanvas.cpp
Adding new SWIGified sources for wxPython modules
[wxWidgets.git] / utils / wxPython / modules / glcanvas / msw / glcanvas.cpp
diff --git a/utils/wxPython/modules/glcanvas/msw/glcanvas.cpp b/utils/wxPython/modules/glcanvas/msw/glcanvas.cpp
new file mode 100644 (file)
index 0000000..4518b46
--- /dev/null
@@ -0,0 +1,9963 @@
+/*
+ * FILE : msw/glcanvas.cpp
+ * 
+ * This file was automatically generated by :
+ * Simplified Wrapper and Interface Generator (SWIG)
+ * Version 1.1 (Patch 6)
+ * 
+ * Portions Copyright (c) 1995-1998
+ * The University of Utah and The Regents of the University of California.
+ * Permission is granted to distribute this file in any manner provided
+ * this notice remains intact.
+ * 
+ * Do not make changes to this file--changes will be lost!
+ *
+ */
+
+
+#define SWIGCODE
+/* Implementation : PYTHON */
+
+#define SWIGPYTHON
+#include <string.h>
+#include <stdlib.h>
+/* Definitions for Windows/Unix exporting */
+#if defined(__WIN32__)
+#   if defined(_MSC_VER)
+#      define SWIGEXPORT(a) __declspec(dllexport) a
+#   else
+#      if defined(__BORLANDC__)
+#          define SWIGEXPORT(a) a _export 
+#      else
+#          define SWIGEXPORT(a) a 
+#      endif
+#   endif
+#else
+#   define SWIGEXPORT(a) a 
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include "Python.h"
+extern void SWIG_MakePtr(char *, void *, char *);
+extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *));
+extern char *SWIG_GetPtr(char *, void **, char *);
+extern char *SWIG_GetPtrObj(PyObject *, void **, char *);
+extern void SWIG_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
+extern PyObject *SWIG_newvarlink(void);
+#ifdef __cplusplus
+}
+#endif
+#define SWIG_init    initglcanvasc
+
+#define SWIG_name    "glcanvasc"
+
+#include "helpers.h"
+#include <glcanvas.h>
+
+static PyObject* l_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyList_Check(target)) {
+            o2 = target;
+            target = PyList_New(0);
+            PyList_Append(target, o2);
+           Py_XDECREF(o2);
+        }
+        PyList_Append(target,o);
+       Py_XDECREF(o);
+    }
+    return target;
+}
+
+static PyObject* t_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyTuple_Check(target)) {
+            o2 = target;
+            target = PyTuple_New(1);
+            PyTuple_SetItem(target, 0, o2);
+        }
+        o3 = PyTuple_New(1);            
+        PyTuple_SetItem(o3, 0, o);      
+
+        o2 = target;
+        target = PySequence_Concat(o2, o3); 
+        Py_DECREF(o2);                      
+        Py_DECREF(o3);
+    }
+    return target;
+}
+
+
+extern byte* byte_LIST_helper(PyObject* source);
+extern int* int_LIST_helper(PyObject* source);
+extern long* long_LIST_helper(PyObject* source);
+extern char** string_LIST_helper(PyObject* source);
+extern wxPoint* wxPoint_LIST_helper(PyObject* source);
+extern wxBitmap** wxBitmap_LIST_helper(PyObject* source);
+extern wxString* wxString_LIST_helper(PyObject* source);
+extern wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
+
+
+static char* wxStringErrorMsg = "string type is required for parameter";
+
+#if defined(__WXMSW__)
+    static wxString wxPyEmptyStr("");
+    static wxPoint  wxPyDefaultPosition(-1, -1);
+    static wxSize   wxPyDefaultSize(-1, -1);
+#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_glArrayElementEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glArrayElementEXT",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glArrayElementEXT(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColorPointerEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLenum  _arg1;
+    GLsizei  _arg2;
+    GLsizei  _arg3;
+    GLvoid * _arg4;
+    PyObject * _argo4 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiO:glColorPointerEXT",&_arg0,&_arg1,&_arg2,&_arg3,&_argo4)) 
+        return NULL;
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of glColorPointerEXT. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColorPointerEXT(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDrawArraysEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLsizei  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glDrawArraysEXT",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDrawArraysEXT(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEdgeFlagPointerEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLsizei  _arg0;
+    GLsizei  _arg1;
+    GLboolean * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glEdgeFlagPointerEXT",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLboolean_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glEdgeFlagPointerEXT. Expected _GLboolean_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEdgeFlagPointerEXT(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetPointervEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLvoid ** _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glGetPointervEXT",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glGetPointervEXT. Expected _GLvoid_pp.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetPointervEXT(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexPointerEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLsizei  _arg1;
+    GLsizei  _arg2;
+    GLvoid * _arg3;
+    PyObject * _argo3 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiO:glIndexPointerEXT",&_arg0,&_arg1,&_arg2,&_argo3)) 
+        return NULL;
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of glIndexPointerEXT. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexPointerEXT(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormalPointerEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLsizei  _arg1;
+    GLsizei  _arg2;
+    GLvoid * _arg3;
+    PyObject * _argo3 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiO:glNormalPointerEXT",&_arg0,&_arg1,&_arg2,&_argo3)) 
+        return NULL;
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of glNormalPointerEXT. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormalPointerEXT(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoordPointerEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLenum  _arg1;
+    GLsizei  _arg2;
+    GLsizei  _arg3;
+    GLvoid * _arg4;
+    PyObject * _argo4 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiO:glTexCoordPointerEXT",&_arg0,&_arg1,&_arg2,&_arg3,&_argo4)) 
+        return NULL;
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of glTexCoordPointerEXT. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoordPointerEXT(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertexPointerEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLenum  _arg1;
+    GLsizei  _arg2;
+    GLsizei  _arg3;
+    GLvoid * _arg4;
+    PyObject * _argo4 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiO:glVertexPointerEXT",&_arg0,&_arg1,&_arg2,&_arg3,&_argo4)) 
+        return NULL;
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of glVertexPointerEXT. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertexPointerEXT(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColorSubtableEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLsizei  _arg1;
+    GLsizei  _arg2;
+    GLenum  _arg3;
+    GLenum  _arg4;
+    GLvoid * _arg5;
+    PyObject * _argo5 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiiO:glColorSubtableEXT",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_argo5)) 
+        return NULL;
+    if (_argo5) {
+        if (_argo5 == Py_None) { _arg5 = NULL; }
+        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of glColorSubtableEXT. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColorSubtableEXT(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColorTableEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLsizei  _arg2;
+    GLenum  _arg3;
+    GLenum  _arg4;
+    GLvoid * _arg5;
+    PyObject * _argo5 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiiO:glColorTableEXT",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_argo5)) 
+        return NULL;
+    if (_argo5) {
+        if (_argo5 == Py_None) { _arg5 = NULL; }
+        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of glColorTableEXT. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColorTableEXT(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glCopyColorTableEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint  _arg2;
+    GLint  _arg3;
+    GLsizei  _arg4;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiii:glCopyColorTableEXT",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glCopyColorTableEXT(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetColorTableEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLenum  _arg2;
+    GLvoid * _arg3;
+    PyObject * _argo3 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiO:glGetColorTableEXT",&_arg0,&_arg1,&_arg2,&_argo3)) 
+        return NULL;
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of glGetColorTableEXT. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetColorTableEXT(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetColorTableParamaterfvEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetColorTableParamaterfvEXT",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetColorTableParamaterfvEXT. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetColorTableParamaterfvEXT(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetColorTavleParameterivEXT(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetColorTavleParameterivEXT",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetColorTavleParameterivEXT. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetColorTavleParameterivEXT(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLockArraysSGI(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLsizei  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glLockArraysSGI",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLockArraysSGI(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glUnlockArraysSGI(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glUnlockArraysSGI")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glUnlockArraysSGI();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glCullParameterdvSGI(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLdouble * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glCullParameterdvSGI",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glCullParameterdvSGI. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glCullParameterdvSGI(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glCullParameterfvSGI(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glCullParameterfvSGI",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glCullParameterfvSGI. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glCullParameterfvSGI(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexFuncSGI(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLclampf  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"if:glIndexFuncSGI",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexFuncSGI(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexMaterialSGI(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glIndexMaterialSGI",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexMaterialSGI(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glAddSwapHintRectWin(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLsizei  _arg2;
+    GLsizei  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiii:glAddSwapHintRectWin",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glAddSwapHintRectWin(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glAccum(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"if:glAccum",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glAccum(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glAlphaFunc(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLclampf  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"if:glAlphaFunc",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glAlphaFunc(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glAreTexturesResident(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLboolean  _result;
+    GLsizei  _arg0;
+    GLuint * _arg1;
+    GLboolean * _arg2;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iOO:glAreTexturesResident",&_arg0,&_argo1,&_argo2)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLuint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glAreTexturesResident. Expected _GLuint_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLboolean_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glAreTexturesResident. Expected _GLboolean_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (GLboolean )glAreTexturesResident(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("b",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_glArrayElement(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glArrayElement",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glArrayElement(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glBegin(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glBegin",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glBegin(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glBindTexture(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLuint  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glBindTexture",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glBindTexture(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glBitmap(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLsizei  _arg0;
+    GLsizei  _arg1;
+    GLfloat  _arg2;
+    GLfloat  _arg3;
+    GLfloat  _arg4;
+    GLfloat  _arg5;
+    GLubyte * _arg6;
+    PyObject * _argo6 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiffffO:glBitmap",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_argo6)) 
+        return NULL;
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_GLubyte_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of glBitmap. Expected _GLubyte_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glBitmap(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glBlendFunc(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glBlendFunc",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glBlendFunc(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glCallList(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glCallList",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glCallList(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glCallLists(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLsizei  _arg0;
+    GLenum  _arg1;
+    GLvoid * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glCallLists",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glCallLists. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glCallLists(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glClear(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLbitfield  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glClear",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glClear(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glClearAccum(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+    GLfloat  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ffff:glClearAccum",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glClearAccum(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glClearColor(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLclampf  _arg0;
+    GLclampf  _arg1;
+    GLclampf  _arg2;
+    GLclampf  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ffff:glClearColor",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glClearColor(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glClearDepth(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLclampd  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"d:glClearDepth",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glClearDepth(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glClearIndex(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"f:glClearIndex",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glClearIndex(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glClearStencil(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glClearStencil",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glClearStencil(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glClipPlane(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLdouble * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glClipPlane",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glClipPlane. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glClipPlane(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3b(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLbyte  _arg0;
+    GLbyte  _arg1;
+    GLbyte  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"bbb:glColor3b",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3b(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3bv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLbyte * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor3bv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLbyte_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor3bv. Expected _GLbyte_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3bv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ddd:glColor3d",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3d(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor3dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor3dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"fff:glColor3f",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3f(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor3fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor3fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glColor3i",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3i(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor3iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor3iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+    GLshort  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhh:glColor3s",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3s(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor3sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor3sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3ub(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLubyte  _arg0;
+    GLubyte  _arg1;
+    GLubyte  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"bbb:glColor3ub",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3ub(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3ubv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLubyte * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor3ubv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLubyte_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor3ubv. Expected _GLubyte_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3ubv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3ui(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint  _arg0;
+    GLuint  _arg1;
+    GLuint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glColor3ui",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3ui(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3uiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor3uiv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLuint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor3uiv. Expected _GLuint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3uiv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3us(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLushort  _arg0;
+    GLushort  _arg1;
+    GLushort  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhh:glColor3us",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3us(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor3usv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLushort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor3usv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLushort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor3usv. Expected _GLushort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor3usv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4b(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLbyte  _arg0;
+    GLbyte  _arg1;
+    GLbyte  _arg2;
+    GLbyte  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"bbbb:glColor4b",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4b(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4bv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLbyte * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor4bv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLbyte_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor4bv. Expected _GLbyte_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4bv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+    GLdouble  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dddd:glColor4d",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4d(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor4dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor4dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+    GLfloat  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ffff:glColor4f",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4f(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor4fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor4fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLint  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiii:glColor4i",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4i(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor4iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor4iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+    GLshort  _arg2;
+    GLshort  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhhh:glColor4s",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4s(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor4sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor4sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4ub(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLubyte  _arg0;
+    GLubyte  _arg1;
+    GLubyte  _arg2;
+    GLubyte  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"bbbb:glColor4ub",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4ub(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4ubv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLubyte * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor4ubv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLubyte_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor4ubv. Expected _GLubyte_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4ubv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4ui(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint  _arg0;
+    GLuint  _arg1;
+    GLuint  _arg2;
+    GLuint  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiii:glColor4ui",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4ui(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4uiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor4uiv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLuint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor4uiv. Expected _GLuint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4uiv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4us(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLushort  _arg0;
+    GLushort  _arg1;
+    GLushort  _arg2;
+    GLushort  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhhh:glColor4us",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4us(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColor4usv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLushort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glColor4usv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLushort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glColor4usv. Expected _GLushort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColor4usv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColorMask(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLboolean  _arg0;
+    GLboolean  _arg1;
+    GLboolean  _arg2;
+    GLboolean  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"bbbb:glColorMask",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColorMask(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColorMaterial(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glColorMaterial",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColorMaterial(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glColorPointer(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLenum  _arg1;
+    GLsizei  _arg2;
+    GLvoid * _arg3;
+    PyObject * _argo3 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiO:glColorPointer",&_arg0,&_arg1,&_arg2,&_argo3)) 
+        return NULL;
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of glColorPointer. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glColorPointer(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glCopyPixels(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLsizei  _arg2;
+    GLsizei  _arg3;
+    GLenum  _arg4;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiii:glCopyPixels",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glCopyPixels(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glCopyTexImage1D(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLenum  _arg2;
+    GLint  _arg3;
+    GLint  _arg4;
+    GLsizei  _arg5;
+    GLint  _arg6;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiiii:glCopyTexImage1D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glCopyTexImage1D(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glCopyTexImage2D(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLenum  _arg2;
+    GLint  _arg3;
+    GLint  _arg4;
+    GLsizei  _arg5;
+    GLsizei  _arg6;
+    GLint  _arg7;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiiiii:glCopyTexImage2D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glCopyTexImage2D(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glCopyTexSubImage1D(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLint  _arg3;
+    GLint  _arg4;
+    GLsizei  _arg5;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiii:glCopyTexSubImage1D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glCopyTexSubImage1D(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glCopyTexSubImage2D(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLint  _arg3;
+    GLint  _arg4;
+    GLint  _arg5;
+    GLsizei  _arg6;
+    GLsizei  _arg7;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiiiii:glCopyTexSubImage2D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glCopyTexSubImage2D(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glCullFace(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glCullFace",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glCullFace(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDeleteLists(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint  _arg0;
+    GLsizei  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glDeleteLists",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDeleteLists(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDeleteTextures(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLsizei  _arg0;
+    GLuint * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glDeleteTextures",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLuint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glDeleteTextures. Expected _GLuint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDeleteTextures(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDepthFunc(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glDepthFunc",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDepthFunc(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDepthMask(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLboolean  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"b:glDepthMask",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDepthMask(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDepthRange(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLclampd  _arg0;
+    GLclampd  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dd:glDepthRange",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDepthRange(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDisable(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glDisable",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDisable(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDisableClientState(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glDisableClientState",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDisableClientState(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDrawArrays(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLsizei  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glDrawArrays",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDrawArrays(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDrawBuffer(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glDrawBuffer",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDrawBuffer(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDrawElements(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLsizei  _arg1;
+    GLenum  _arg2;
+    GLvoid * _arg3;
+    PyObject * _argo3 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiO:glDrawElements",&_arg0,&_arg1,&_arg2,&_argo3)) 
+        return NULL;
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of glDrawElements. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDrawElements(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glDrawPixels(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLsizei  _arg0;
+    GLsizei  _arg1;
+    GLenum  _arg2;
+    GLenum  _arg3;
+    GLvoid * _arg4;
+    PyObject * _argo4 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiO:glDrawPixels",&_arg0,&_arg1,&_arg2,&_arg3,&_argo4)) 
+        return NULL;
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of glDrawPixels. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glDrawPixels(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEdgeFlag(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLboolean  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"b:glEdgeFlag",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEdgeFlag(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEdgeFlagPointer(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLsizei  _arg0;
+    GLboolean * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glEdgeFlagPointer",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLboolean_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glEdgeFlagPointer. Expected _GLboolean_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEdgeFlagPointer(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEdgeFlagv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLboolean * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glEdgeFlagv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLboolean_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glEdgeFlagv. Expected _GLboolean_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEdgeFlagv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEnable(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glEnable",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEnable(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEnableClientState(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glEnableClientState",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEnableClientState(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEnd(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glEnd")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEnd();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEndList(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glEndList")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEndList();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalCoord1d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"d:glEvalCoord1d",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalCoord1d(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalCoord1dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glEvalCoord1dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glEvalCoord1dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalCoord1dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalCoord1f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"f:glEvalCoord1f",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalCoord1f(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalCoord1fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glEvalCoord1fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glEvalCoord1fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalCoord1fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalCoord2d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dd:glEvalCoord2d",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalCoord2d(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalCoord2dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glEvalCoord2dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glEvalCoord2dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalCoord2dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalCoord2f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ff:glEvalCoord2f",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalCoord2f(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalCoord2fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glEvalCoord2fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glEvalCoord2fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalCoord2fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalMesh1(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glEvalMesh1",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalMesh1(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalMesh2(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLint  _arg3;
+    GLint  _arg4;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiii:glEvalMesh2",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalMesh2(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalPoint1(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glEvalPoint1",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalPoint1(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glEvalPoint2(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glEvalPoint2",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glEvalPoint2(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glFeedbackBuffer(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLsizei  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glFeedbackBuffer",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glFeedbackBuffer. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glFeedbackBuffer(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glFinish(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glFinish")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glFinish();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glFlush(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glFlush")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glFlush();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glFogf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"if:glFogf",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glFogf(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glFogfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glFogfv",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glFogfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glFogfv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glFogi(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glFogi",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glFogi(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glFogiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glFogiv",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glFogiv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glFogiv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glFrontFace(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glFrontFace",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glFrontFace(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glFrustum(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+    GLdouble  _arg3;
+    GLdouble  _arg4;
+    GLdouble  _arg5;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dddddd:glFrustum",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glFrustum(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGenLists(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint  _result;
+    GLsizei  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glGenLists",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (GLuint )glGenLists(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGenTextures(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLsizei  _arg0;
+    GLuint * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glGenTextures",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLuint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glGenTextures. Expected _GLuint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGenTextures(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetBooleanv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLboolean * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glGetBooleanv",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLboolean_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glGetBooleanv. Expected _GLboolean_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetBooleanv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetClipPlane(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLdouble * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glGetClipPlane",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glGetClipPlane. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetClipPlane(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetDoublev(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLdouble * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glGetDoublev",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glGetDoublev. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetDoublev(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetError(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _result;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glGetError")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (GLenum )glGetError();
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetFloatv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glGetFloatv",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glGetFloatv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetFloatv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetIntegerv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glGetIntegerv",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glGetIntegerv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetIntegerv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetLightfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetLightfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetLightfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetLightfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetLightiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetLightiv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetLightiv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetLightiv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetMapdv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLdouble * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetMapdv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetMapdv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetMapdv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetMapfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetMapfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetMapfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetMapfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetMapiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetMapiv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetMapiv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetMapiv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetMaterialfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetMaterialfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetMaterialfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetMaterialfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetMaterialiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetMaterialiv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetMaterialiv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetMaterialiv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetPixelMapfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glGetPixelMapfv",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glGetPixelMapfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetPixelMapfv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetPixelMapuiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLuint * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glGetPixelMapuiv",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLuint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glGetPixelMapuiv. Expected _GLuint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetPixelMapuiv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetPixelMapusv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLushort * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glGetPixelMapusv",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLushort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glGetPixelMapusv. Expected _GLushort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetPixelMapusv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetPointerv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLvoid ** _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glGetPointerv",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glGetPointerv. Expected _GLvoid_pp.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetPointerv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetPolygonStipple(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLubyte * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glGetPolygonStipple",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLubyte_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glGetPolygonStipple. Expected _GLubyte_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetPolygonStipple(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetString(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLubyte * _result;
+    GLenum  _arg0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glGetString",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (GLubyte *)glGetString(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_GLubyte_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetTexEnvfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetTexEnvfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetTexEnvfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetTexEnvfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetTexEnviv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetTexEnviv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetTexEnviv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetTexEnviv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetTexGendv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLdouble * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetTexGendv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetTexGendv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetTexGendv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetTexGenfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetTexGenfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetTexGenfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetTexGenfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetTexGeniv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetTexGeniv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetTexGeniv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetTexGeniv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetTexImage(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLenum  _arg2;
+    GLenum  _arg3;
+    GLvoid * _arg4;
+    PyObject * _argo4 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiO:glGetTexImage",&_arg0,&_arg1,&_arg2,&_arg3,&_argo4)) 
+        return NULL;
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of glGetTexImage. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetTexImage(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetTexLevelParameterfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLenum  _arg2;
+    GLfloat * _arg3;
+    PyObject * _argo3 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiO:glGetTexLevelParameterfv",&_arg0,&_arg1,&_arg2,&_argo3)) 
+        return NULL;
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of glGetTexLevelParameterfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetTexLevelParameterfv(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetTexLevelParameteriv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLenum  _arg2;
+    GLint * _arg3;
+    PyObject * _argo3 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiO:glGetTexLevelParameteriv",&_arg0,&_arg1,&_arg2,&_argo3)) 
+        return NULL;
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of glGetTexLevelParameteriv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetTexLevelParameteriv(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetTexParameterfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetTexParameterfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetTexParameterfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetTexParameterfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glGetTexParameteriv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glGetTexParameteriv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glGetTexParameteriv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glGetTexParameteriv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glHint(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glHint",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glHint(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexMask(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glIndexMask",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexMask(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexPointer(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLsizei  _arg1;
+    GLvoid * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glIndexPointer",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glIndexPointer. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexPointer(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexd(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"d:glIndexd",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexd(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexdv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glIndexdv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glIndexdv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexdv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"f:glIndexf",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexf(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glIndexfv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glIndexfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexfv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexi(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glIndexi",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexi(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glIndexiv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glIndexiv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexiv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexs(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"h:glIndexs",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexs(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexsv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glIndexsv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glIndexsv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexsv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexub(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLubyte  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"b:glIndexub",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexub(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIndexubv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLubyte * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glIndexubv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLubyte_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glIndexubv. Expected _GLubyte_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glIndexubv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glInitNames(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glInitNames")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glInitNames();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glInterleavedArrays(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLsizei  _arg1;
+    GLvoid * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glInterleavedArrays",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glInterleavedArrays. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glInterleavedArrays(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIsEnabled(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLboolean  _result;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glIsEnabled",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (GLboolean )glIsEnabled(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("b",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIsList(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLboolean  _result;
+    GLuint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glIsList",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (GLboolean )glIsList(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("b",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_glIsTexture(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLboolean  _result;
+    GLuint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glIsTexture",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (GLboolean )glIsTexture(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("b",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLightModelf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"if:glLightModelf",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLightModelf(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLightModelfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glLightModelfv",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glLightModelfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLightModelfv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLightModeli(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glLightModeli",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLightModeli(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLightModeliv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glLightModeliv",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glLightModeliv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLightModeliv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLightf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iif:glLightf",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLightf(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLightfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glLightfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glLightfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLightfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLighti(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glLighti",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLighti(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLightiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glLightiv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glLightiv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLightiv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLineStipple(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLushort  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ih:glLineStipple",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLineStipple(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLineWidth(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"f:glLineWidth",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLineWidth(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glListBase(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glListBase",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glListBase(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLoadIdentity(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glLoadIdentity")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLoadIdentity();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLoadMatrixd(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glLoadMatrixd",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glLoadMatrixd. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLoadMatrixd(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLoadMatrixf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glLoadMatrixf",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glLoadMatrixf. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLoadMatrixf(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLoadName(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glLoadName",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLoadName(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glLogicOp(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glLogicOp",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glLogicOp(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMap1d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+    GLint  _arg3;
+    GLint  _arg4;
+    GLdouble * _arg5;
+    PyObject * _argo5 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iddiiO:glMap1d",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_argo5)) 
+        return NULL;
+    if (_argo5) {
+        if (_argo5 == Py_None) { _arg5 = NULL; }
+        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of glMap1d. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMap1d(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMap1f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+    GLint  _arg3;
+    GLint  _arg4;
+    GLfloat * _arg5;
+    PyObject * _argo5 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iffiiO:glMap1f",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_argo5)) 
+        return NULL;
+    if (_argo5) {
+        if (_argo5 == Py_None) { _arg5 = NULL; }
+        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of glMap1f. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMap1f(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMap2d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+    GLint  _arg3;
+    GLint  _arg4;
+    GLdouble  _arg5;
+    GLdouble  _arg6;
+    GLint  _arg7;
+    GLint  _arg8;
+    GLdouble * _arg9;
+    PyObject * _argo9 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iddiiddiiO:glMap2d",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_arg8,&_argo9)) 
+        return NULL;
+    if (_argo9) {
+        if (_argo9 == Py_None) { _arg9 = NULL; }
+        else if (SWIG_GetPtrObj(_argo9,(void **) &_arg9,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 10 of glMap2d. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMap2d(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8,_arg9);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMap2f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+    GLint  _arg3;
+    GLint  _arg4;
+    GLfloat  _arg5;
+    GLfloat  _arg6;
+    GLint  _arg7;
+    GLint  _arg8;
+    GLfloat * _arg9;
+    PyObject * _argo9 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iffiiffiiO:glMap2f",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_arg8,&_argo9)) 
+        return NULL;
+    if (_argo9) {
+        if (_argo9 == Py_None) { _arg9 = NULL; }
+        else if (SWIG_GetPtrObj(_argo9,(void **) &_arg9,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 10 of glMap2f. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMap2f(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8,_arg9);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMapGrid1d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"idd:glMapGrid1d",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMapGrid1d(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMapGrid1f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iff:glMapGrid1f",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMapGrid1f(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMapGrid2d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+    GLint  _arg3;
+    GLdouble  _arg4;
+    GLdouble  _arg5;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iddidd:glMapGrid2d",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMapGrid2d(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMapGrid2f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+    GLint  _arg3;
+    GLfloat  _arg4;
+    GLfloat  _arg5;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iffiff:glMapGrid2f",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMapGrid2f(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMaterialf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iif:glMaterialf",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMaterialf(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMaterialfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glMaterialfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glMaterialfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMaterialfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMateriali(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glMateriali",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMateriali(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMaterialiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glMaterialiv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glMaterialiv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMaterialiv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMatrixMode(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glMatrixMode",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMatrixMode(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMultMatrixd(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glMultMatrixd",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glMultMatrixd. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMultMatrixd(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glMultMatrixf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glMultMatrixf",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glMultMatrixf. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glMultMatrixf(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNewList(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint  _arg0;
+    GLenum  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glNewList",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNewList(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormal3b(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLbyte  _arg0;
+    GLbyte  _arg1;
+    GLbyte  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"bbb:glNormal3b",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormal3b(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormal3bv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLbyte * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glNormal3bv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLbyte_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glNormal3bv. Expected _GLbyte_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormal3bv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormal3d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ddd:glNormal3d",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormal3d(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormal3dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glNormal3dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glNormal3dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormal3dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormal3f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"fff:glNormal3f",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormal3f(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormal3fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glNormal3fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glNormal3fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormal3fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormal3i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glNormal3i",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormal3i(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormal3iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glNormal3iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glNormal3iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormal3iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormal3s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+    GLshort  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhh:glNormal3s",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormal3s(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormal3sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glNormal3sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glNormal3sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormal3sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glNormalPointer(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLsizei  _arg1;
+    GLvoid * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glNormalPointer",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glNormalPointer. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glNormalPointer(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glOrtho(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+    GLdouble  _arg3;
+    GLdouble  _arg4;
+    GLdouble  _arg5;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dddddd:glOrtho",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glOrtho(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPassThrough(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"f:glPassThrough",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPassThrough(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPixelMapfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLsizei  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glPixelMapfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glPixelMapfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPixelMapfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPixelMapuiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLsizei  _arg1;
+    GLuint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glPixelMapuiv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLuint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glPixelMapuiv. Expected _GLuint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPixelMapuiv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPixelMapusv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLsizei  _arg1;
+    GLushort * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glPixelMapusv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLushort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glPixelMapusv. Expected _GLushort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPixelMapusv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPixelStoref(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"if:glPixelStoref",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPixelStoref(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPixelStorei(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glPixelStorei",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPixelStorei(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPixelTransferf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLfloat  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"if:glPixelTransferf",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPixelTransferf(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPixelTransferi(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glPixelTransferi",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPixelTransferi(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPixelZoom(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ff:glPixelZoom",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPixelZoom(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPointSize(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"f:glPointSize",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPointSize(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPolygonMode(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glPolygonMode",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPolygonMode(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPolygonOffset(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ff:glPolygonOffset",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPolygonOffset(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPolygonStipple(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLubyte * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glPolygonStipple",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLubyte_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glPolygonStipple. Expected _GLubyte_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPolygonStipple(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPopAttrib(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glPopAttrib")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPopAttrib();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPopClientAttrib(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glPopClientAttrib")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPopClientAttrib();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPopMatrix(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glPopMatrix")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPopMatrix();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPopName(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glPopName")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPopName();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPrioritizeTextures(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLsizei  _arg0;
+    GLuint * _arg1;
+    GLclampf * _arg2;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iOO:glPrioritizeTextures",&_arg0,&_argo1,&_argo2)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLuint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glPrioritizeTextures. Expected _GLuint_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLclampf_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glPrioritizeTextures. Expected _GLclampf_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPrioritizeTextures(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPushAttrib(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLbitfield  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glPushAttrib",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPushAttrib(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPushClientAttrib(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLbitfield  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glPushClientAttrib",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPushClientAttrib(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPushMatrix(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":glPushMatrix")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPushMatrix();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glPushName(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glPushName",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glPushName(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos2d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dd:glRasterPos2d",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos2d(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos2dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos2dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos2dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos2dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos2f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ff:glRasterPos2f",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos2f(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos2fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos2fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos2fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos2fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos2i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glRasterPos2i",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos2i(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos2iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos2iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos2iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos2iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos2s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hh:glRasterPos2s",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos2s(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos2sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos2sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos2sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos2sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos3d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ddd:glRasterPos3d",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos3d(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos3dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos3dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos3dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos3dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos3f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"fff:glRasterPos3f",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos3f(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos3fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos3fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos3fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos3fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos3i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glRasterPos3i",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos3i(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos3iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos3iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos3iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos3iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos3s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+    GLshort  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhh:glRasterPos3s",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos3s(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos3sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos3sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos3sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos3sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos4d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+    GLdouble  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dddd:glRasterPos4d",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos4d(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos4dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos4dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos4dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos4dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos4f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+    GLfloat  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ffff:glRasterPos4f",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos4f(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos4fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos4fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos4fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos4fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos4i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLint  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiii:glRasterPos4i",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos4i(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos4iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos4iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos4iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos4iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos4s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+    GLshort  _arg2;
+    GLshort  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhhh:glRasterPos4s",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos4s(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRasterPos4sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glRasterPos4sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRasterPos4sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRasterPos4sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glReadBuffer(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glReadBuffer",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glReadBuffer(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glReadPixels(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLsizei  _arg2;
+    GLsizei  _arg3;
+    GLenum  _arg4;
+    GLenum  _arg5;
+    GLvoid * _arg6;
+    PyObject * _argo6 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiiiO:glReadPixels",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_argo6)) 
+        return NULL;
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of glReadPixels. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glReadPixels(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRectd(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+    GLdouble  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dddd:glRectd",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRectd(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRectdv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    GLdouble * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"OO:glRectdv",&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRectdv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glRectdv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRectdv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRectf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+    GLfloat  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ffff:glRectf",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRectf(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRectfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    GLfloat * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"OO:glRectfv",&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRectfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glRectfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRectfv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRecti(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLint  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiii:glRecti",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRecti(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRectiv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    GLint * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"OO:glRectiv",&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRectiv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glRectiv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRectiv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRects(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+    GLshort  _arg2;
+    GLshort  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhhh:glRects",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRects(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRectsv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    GLshort * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"OO:glRectsv",&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glRectsv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glRectsv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRectsv(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRenderMode(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _result;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glRenderMode",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (GLint )glRenderMode(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRotated(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+    GLdouble  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dddd:glRotated",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRotated(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glRotatef(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+    GLfloat  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ffff:glRotatef",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glRotatef(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glScaled(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ddd:glScaled",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glScaled(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glScalef(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"fff:glScalef",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glScalef(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glScissor(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLsizei  _arg2;
+    GLsizei  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiii:glScissor",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glScissor(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glSelectBuffer(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLsizei  _arg0;
+    GLuint * _arg1;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO:glSelectBuffer",&_arg0,&_argo1)) 
+        return NULL;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_GLuint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glSelectBuffer. Expected _GLuint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glSelectBuffer(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glShadeModel(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glShadeModel",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glShadeModel(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glStencilFunc(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLuint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glStencilFunc",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glStencilFunc(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glStencilMask(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLuint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glStencilMask",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glStencilMask(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glStencilOp(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLenum  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glStencilOp",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glStencilOp(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord1d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"d:glTexCoord1d",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord1d(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord1dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord1dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord1dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord1dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord1f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"f:glTexCoord1f",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord1f(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord1fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord1fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord1fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord1fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord1i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:glTexCoord1i",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord1i(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord1iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord1iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord1iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord1iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord1s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"h:glTexCoord1s",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord1s(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord1sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord1sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord1sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord1sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord2d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dd:glTexCoord2d",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord2d(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord2dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord2dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord2dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord2dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord2f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ff:glTexCoord2f",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord2f(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord2fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord2fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord2fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord2fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord2i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glTexCoord2i",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord2i(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord2iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord2iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord2iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord2iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord2s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hh:glTexCoord2s",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord2s(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord2sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord2sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord2sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord2sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord3d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ddd:glTexCoord3d",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord3d(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord3dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord3dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord3dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord3dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord3f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"fff:glTexCoord3f",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord3f(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord3fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord3fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord3fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord3fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord3i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glTexCoord3i",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord3i(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord3iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord3iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord3iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord3iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord3s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+    GLshort  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhh:glTexCoord3s",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord3s(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord3sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord3sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord3sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord3sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord4d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+    GLdouble  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dddd:glTexCoord4d",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord4d(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord4dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord4dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord4dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord4dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord4f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+    GLfloat  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ffff:glTexCoord4f",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord4f(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord4fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord4fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord4fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord4fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord4i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLint  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiii:glTexCoord4i",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord4i(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord4iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord4iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord4iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord4iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord4s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+    GLshort  _arg2;
+    GLshort  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhhh:glTexCoord4s",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord4s(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoord4sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glTexCoord4sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glTexCoord4sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoord4sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexCoordPointer(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLenum  _arg1;
+    GLsizei  _arg2;
+    GLvoid * _arg3;
+    PyObject * _argo3 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiO:glTexCoordPointer",&_arg0,&_arg1,&_arg2,&_argo3)) 
+        return NULL;
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of glTexCoordPointer. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexCoordPointer(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexEnvf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iif:glTexEnvf",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexEnvf(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexEnvfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glTexEnvfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glTexEnvfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexEnvfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexEnvi(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glTexEnvi",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexEnvi(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexEnviv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glTexEnviv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glTexEnviv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexEnviv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexGend(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLdouble  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iid:glTexGend",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexGend(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexGendv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLdouble * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glTexGendv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glTexGendv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexGendv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexGenf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iif:glTexGenf",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexGenf(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexGenfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glTexGenfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glTexGenfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexGenfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexGeni(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glTexGeni",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexGeni(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexGeniv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glTexGeniv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glTexGeniv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexGeniv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexImage1D(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLsizei  _arg3;
+    GLint  _arg4;
+    GLenum  _arg5;
+    GLenum  _arg6;
+    GLvoid * _arg7;
+    PyObject * _argo7 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiiiiO:glTexImage1D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_argo7)) 
+        return NULL;
+    if (_argo7) {
+        if (_argo7 == Py_None) { _arg7 = NULL; }
+        else if (SWIG_GetPtrObj(_argo7,(void **) &_arg7,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 8 of glTexImage1D. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexImage1D(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexImage2D(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLsizei  _arg3;
+    GLsizei  _arg4;
+    GLint  _arg5;
+    GLenum  _arg6;
+    GLenum  _arg7;
+    GLvoid * _arg8;
+    PyObject * _argo8 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiiiiiO:glTexImage2D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_argo8)) 
+        return NULL;
+    if (_argo8) {
+        if (_argo8 == Py_None) { _arg8 = NULL; }
+        else if (SWIG_GetPtrObj(_argo8,(void **) &_arg8,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 9 of glTexImage2D. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexImage2D(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexParameterf(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iif:glTexParameterf",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexParameterf(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexParameterfv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLfloat * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glTexParameterfv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glTexParameterfv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexParameterfv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexParameteri(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glTexParameteri",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexParameteri(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexParameteriv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLenum  _arg1;
+    GLint * _arg2;
+    PyObject * _argo2 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiO:glTexParameteriv",&_arg0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of glTexParameteriv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexParameteriv(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexSubImage1D(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLsizei  _arg3;
+    GLenum  _arg4;
+    GLenum  _arg5;
+    GLvoid * _arg6;
+    PyObject * _argo6 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiiiO:glTexSubImage1D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_argo6)) 
+        return NULL;
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of glTexSubImage1D. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexSubImage1D(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTexSubImage2D(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLenum  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLint  _arg3;
+    GLsizei  _arg4;
+    GLsizei  _arg5;
+    GLenum  _arg6;
+    GLenum  _arg7;
+    GLvoid * _arg8;
+    PyObject * _argo8 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiiiiiiO:glTexSubImage2D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_argo8)) 
+        return NULL;
+    if (_argo8) {
+        if (_argo8 == Py_None) { _arg8 = NULL; }
+        else if (SWIG_GetPtrObj(_argo8,(void **) &_arg8,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 9 of glTexSubImage2D. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTexSubImage2D(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTranslated(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ddd:glTranslated",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTranslated(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glTranslatef(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"fff:glTranslatef",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glTranslatef(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex2d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dd:glVertex2d",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex2d(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex2dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex2dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex2dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex2dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex2f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ff:glVertex2f",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex2f(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex2fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex2fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex2fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex2fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex2i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ii:glVertex2i",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex2i(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex2iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex2iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex2iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex2iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex2s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hh:glVertex2s",&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex2s(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex2sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex2sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex2sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex2sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex3d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ddd:glVertex3d",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex3d(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex3dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex3dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex3dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex3dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex3f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"fff:glVertex3f",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex3f(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex3fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex3fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex3fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex3fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex3i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iii:glVertex3i",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex3i(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex3iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex3iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex3iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex3iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex3s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+    GLshort  _arg2;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhh:glVertex3s",&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex3s(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex3sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex3sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex3sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex3sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex4d(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble  _arg0;
+    GLdouble  _arg1;
+    GLdouble  _arg2;
+    GLdouble  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"dddd:glVertex4d",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex4d(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex4dv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLdouble * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex4dv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLdouble_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex4dv. Expected _GLdouble_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex4dv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex4f(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat  _arg0;
+    GLfloat  _arg1;
+    GLfloat  _arg2;
+    GLfloat  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"ffff:glVertex4f",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex4f(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex4fv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLfloat * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex4fv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLfloat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex4fv. Expected _GLfloat_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex4fv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex4i(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLint  _arg2;
+    GLint  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiii:glVertex4i",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex4i(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex4iv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex4iv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex4iv. Expected _GLint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex4iv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex4s(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort  _arg0;
+    GLshort  _arg1;
+    GLshort  _arg2;
+    GLshort  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"hhhh:glVertex4s",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex4s(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertex4sv(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLshort * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:glVertex4sv",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_GLshort_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of glVertex4sv. Expected _GLshort_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertex4sv(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glVertexPointer(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLenum  _arg1;
+    GLsizei  _arg2;
+    GLvoid * _arg3;
+    PyObject * _argo3 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiiO:glVertexPointer",&_arg0,&_arg1,&_arg2,&_argo3)) 
+        return NULL;
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of glVertexPointer. Expected _GLvoid_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glVertexPointer(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_glViewport(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    GLint  _arg0;
+    GLint  _arg1;
+    GLsizei  _arg2;
+    GLsizei  _arg3;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iiii:glViewport",&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        glViewport(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define new_wxGLContext(_swigarg0,_swigarg1,_swigarg2) (new wxGLContext(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_new_wxGLContext(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxGLContext * _result;
+    bool  _arg0;
+    wxGLCanvas * _arg1;
+    wxPalette * _arg2 = (wxPalette *) &wxNullPalette;
+    int tempbool0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"iO|O:new_wxGLContext",&tempbool0,&_argo1,&_argo2)) 
+        return NULL;
+    _arg0 = (bool ) tempbool0;
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGLCanvas_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxGLContext. Expected _wxGLCanvas_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPalette_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxGLContext. Expected _wxPalette_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxGLContext *)new_wxGLContext(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGLContext_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define delete_wxGLContext(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxGLContext(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxGLContext * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:delete_wxGLContext",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGLContext_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxGLContext. Expected _wxGLContext_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxGLContext(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxGLContext_SetCurrent(_swigobj)  (_swigobj->SetCurrent())
+static PyObject *_wrap_wxGLContext_SetCurrent(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxGLContext * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxGLContext_SetCurrent",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGLContext_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGLContext_SetCurrent. Expected _wxGLContext_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxGLContext_SetCurrent(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxGLContext_SetColour(_swigobj,_swigarg0)  (_swigobj->SetColour(_swigarg0))
+static PyObject *_wrap_wxGLContext_SetColour(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxGLContext * _arg0;
+    char * _arg1;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"Os:wxGLContext_SetColour",&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGLContext_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGLContext_SetColour. Expected _wxGLContext_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxGLContext_SetColour(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxGLContext_SwapBuffers(_swigobj)  (_swigobj->SwapBuffers())
+static PyObject *_wrap_wxGLContext_SwapBuffers(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxGLContext * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxGLContext_SwapBuffers",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGLContext_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGLContext_SwapBuffers. Expected _wxGLContext_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxGLContext_SwapBuffers(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxGLContext_GetWindow(_swigobj)  (_swigobj->GetWindow())
+static PyObject *_wrap_wxGLContext_GetWindow(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxWindow * _result;
+    wxGLContext * _arg0;
+    PyObject * _argo0 = 0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxGLContext_GetWindow",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGLContext_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGLContext_GetWindow. Expected _wxGLContext_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxWindow *)wxGLContext_GetWindow(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static void *SwigwxGLCanvasTowxScrolledWindow(void *ptr) {
+    wxGLCanvas *src;
+    wxScrolledWindow *dest;
+    src = (wxGLCanvas *) ptr;
+    dest = (wxScrolledWindow *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxGLCanvasTowxPanel(void *ptr) {
+    wxGLCanvas *src;
+    wxPanel *dest;
+    src = (wxGLCanvas *) ptr;
+    dest = (wxPanel *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxGLCanvasTowxWindow(void *ptr) {
+    wxGLCanvas *src;
+    wxWindow *dest;
+    src = (wxGLCanvas *) ptr;
+    dest = (wxWindow *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxGLCanvasTowxEvtHandler(void *ptr) {
+    wxGLCanvas *src;
+    wxEvtHandler *dest;
+    src = (wxGLCanvas *) ptr;
+    dest = (wxEvtHandler *) src;
+    return (void *) dest;
+}
+
+#define new_wxGLCanvas(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7) (new wxGLCanvas(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7))
+static PyObject *_wrap_new_wxGLCanvas(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxGLCanvas * _result;
+    wxWindow * _arg0;
+    wxWindowID  _arg1 = (wxWindowID ) -1;
+    wxPoint * _arg2 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg3 = (wxSize *) &wxPyDefaultSize;
+    long  _arg4 = (long ) 0;
+    char * _arg5 = (char *) "GLCanvas";
+    int * _arg6 = (int *) 0;
+    wxPalette * _arg7 = (wxPalette *) &wxNullPalette;
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo6 = 0;
+    PyObject * _argo7 = 0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O|iOOlsOO:new_wxGLCanvas",&_argo0,&_arg1,&_argo2,&_argo3,&_arg4,&_arg5,&_argo6,&_argo7)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxGLCanvas. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxGLCanvas. Expected _wxPoint_p.");
+        return NULL;
+        }
+    }
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxSize_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxGLCanvas. Expected _wxSize_p.");
+        return NULL;
+        }
+    }
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_int_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxGLCanvas. Expected _int_p.");
+        return NULL;
+        }
+    }
+    if (_argo7) {
+        if (_argo7 == Py_None) { _arg7 = NULL; }
+        else if (SWIG_GetPtrObj(_argo7,(void **) &_arg7,"_wxPalette_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 8 of new_wxGLCanvas. Expected _wxPalette_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxGLCanvas *)new_wxGLCanvas(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6,*_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGLCanvas_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxGLCanvas_SetCurrent(_swigobj)  (_swigobj->SetCurrent())
+static PyObject *_wrap_wxGLCanvas_SetCurrent(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxGLCanvas * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxGLCanvas_SetCurrent",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGLCanvas_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGLCanvas_SetCurrent. Expected _wxGLCanvas_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxGLCanvas_SetCurrent(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxGLCanvas_SetColour(_swigobj,_swigarg0)  (_swigobj->SetColour(_swigarg0))
+static PyObject *_wrap_wxGLCanvas_SetColour(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxGLCanvas * _arg0;
+    char * _arg1;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"Os:wxGLCanvas_SetColour",&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGLCanvas_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGLCanvas_SetColour. Expected _wxGLCanvas_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxGLCanvas_SetColour(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxGLCanvas_SwapBuffers(_swigobj)  (_swigobj->SwapBuffers())
+static PyObject *_wrap_wxGLCanvas_SwapBuffers(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxGLCanvas * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxGLCanvas_SwapBuffers",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGLCanvas_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGLCanvas_SwapBuffers. Expected _wxGLCanvas_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxGLCanvas_SwapBuffers(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxGLCanvas_GetContext(_swigobj)  (_swigobj->GetContext())
+static PyObject *_wrap_wxGLCanvas_GetContext(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxGLContext * _result;
+    wxGLCanvas * _arg0;
+    PyObject * _argo0 = 0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxGLCanvas_GetContext",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGLCanvas_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGLCanvas_GetContext. Expected _wxGLCanvas_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxGLContext *)wxGLCanvas_GetContext(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGLContext_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static PyMethodDef glcanvascMethods[] = {
+        { "wxGLCanvas_GetContext", _wrap_wxGLCanvas_GetContext, METH_VARARGS },
+        { "wxGLCanvas_SwapBuffers", _wrap_wxGLCanvas_SwapBuffers, METH_VARARGS },
+        { "wxGLCanvas_SetColour", _wrap_wxGLCanvas_SetColour, METH_VARARGS },
+        { "wxGLCanvas_SetCurrent", _wrap_wxGLCanvas_SetCurrent, METH_VARARGS },
+        { "new_wxGLCanvas", _wrap_new_wxGLCanvas, METH_VARARGS },
+        { "wxGLContext_GetWindow", _wrap_wxGLContext_GetWindow, METH_VARARGS },
+        { "wxGLContext_SwapBuffers", _wrap_wxGLContext_SwapBuffers, METH_VARARGS },
+        { "wxGLContext_SetColour", _wrap_wxGLContext_SetColour, METH_VARARGS },
+        { "wxGLContext_SetCurrent", _wrap_wxGLContext_SetCurrent, METH_VARARGS },
+        { "delete_wxGLContext", _wrap_delete_wxGLContext, METH_VARARGS },
+        { "new_wxGLContext", _wrap_new_wxGLContext, METH_VARARGS },
+        { "glViewport", _wrap_glViewport, METH_VARARGS },
+        { "glVertexPointer", _wrap_glVertexPointer, METH_VARARGS },
+        { "glVertex4sv", _wrap_glVertex4sv, METH_VARARGS },
+        { "glVertex4s", _wrap_glVertex4s, METH_VARARGS },
+        { "glVertex4iv", _wrap_glVertex4iv, METH_VARARGS },
+        { "glVertex4i", _wrap_glVertex4i, METH_VARARGS },
+        { "glVertex4fv", _wrap_glVertex4fv, METH_VARARGS },
+        { "glVertex4f", _wrap_glVertex4f, METH_VARARGS },
+        { "glVertex4dv", _wrap_glVertex4dv, METH_VARARGS },
+        { "glVertex4d", _wrap_glVertex4d, METH_VARARGS },
+        { "glVertex3sv", _wrap_glVertex3sv, METH_VARARGS },
+        { "glVertex3s", _wrap_glVertex3s, METH_VARARGS },
+        { "glVertex3iv", _wrap_glVertex3iv, METH_VARARGS },
+        { "glVertex3i", _wrap_glVertex3i, METH_VARARGS },
+        { "glVertex3fv", _wrap_glVertex3fv, METH_VARARGS },
+        { "glVertex3f", _wrap_glVertex3f, METH_VARARGS },
+        { "glVertex3dv", _wrap_glVertex3dv, METH_VARARGS },
+        { "glVertex3d", _wrap_glVertex3d, METH_VARARGS },
+        { "glVertex2sv", _wrap_glVertex2sv, METH_VARARGS },
+        { "glVertex2s", _wrap_glVertex2s, METH_VARARGS },
+        { "glVertex2iv", _wrap_glVertex2iv, METH_VARARGS },
+        { "glVertex2i", _wrap_glVertex2i, METH_VARARGS },
+        { "glVertex2fv", _wrap_glVertex2fv, METH_VARARGS },
+        { "glVertex2f", _wrap_glVertex2f, METH_VARARGS },
+        { "glVertex2dv", _wrap_glVertex2dv, METH_VARARGS },
+        { "glVertex2d", _wrap_glVertex2d, METH_VARARGS },
+        { "glTranslatef", _wrap_glTranslatef, METH_VARARGS },
+        { "glTranslated", _wrap_glTranslated, METH_VARARGS },
+        { "glTexSubImage2D", _wrap_glTexSubImage2D, METH_VARARGS },
+        { "glTexSubImage1D", _wrap_glTexSubImage1D, METH_VARARGS },
+        { "glTexParameteriv", _wrap_glTexParameteriv, METH_VARARGS },
+        { "glTexParameteri", _wrap_glTexParameteri, METH_VARARGS },
+        { "glTexParameterfv", _wrap_glTexParameterfv, METH_VARARGS },
+        { "glTexParameterf", _wrap_glTexParameterf, METH_VARARGS },
+        { "glTexImage2D", _wrap_glTexImage2D, METH_VARARGS },
+        { "glTexImage1D", _wrap_glTexImage1D, METH_VARARGS },
+        { "glTexGeniv", _wrap_glTexGeniv, METH_VARARGS },
+        { "glTexGeni", _wrap_glTexGeni, METH_VARARGS },
+        { "glTexGenfv", _wrap_glTexGenfv, METH_VARARGS },
+        { "glTexGenf", _wrap_glTexGenf, METH_VARARGS },
+        { "glTexGendv", _wrap_glTexGendv, METH_VARARGS },
+        { "glTexGend", _wrap_glTexGend, METH_VARARGS },
+        { "glTexEnviv", _wrap_glTexEnviv, METH_VARARGS },
+        { "glTexEnvi", _wrap_glTexEnvi, METH_VARARGS },
+        { "glTexEnvfv", _wrap_glTexEnvfv, METH_VARARGS },
+        { "glTexEnvf", _wrap_glTexEnvf, METH_VARARGS },
+        { "glTexCoordPointer", _wrap_glTexCoordPointer, METH_VARARGS },
+        { "glTexCoord4sv", _wrap_glTexCoord4sv, METH_VARARGS },
+        { "glTexCoord4s", _wrap_glTexCoord4s, METH_VARARGS },
+        { "glTexCoord4iv", _wrap_glTexCoord4iv, METH_VARARGS },
+        { "glTexCoord4i", _wrap_glTexCoord4i, METH_VARARGS },
+        { "glTexCoord4fv", _wrap_glTexCoord4fv, METH_VARARGS },
+        { "glTexCoord4f", _wrap_glTexCoord4f, METH_VARARGS },
+        { "glTexCoord4dv", _wrap_glTexCoord4dv, METH_VARARGS },
+        { "glTexCoord4d", _wrap_glTexCoord4d, METH_VARARGS },
+        { "glTexCoord3sv", _wrap_glTexCoord3sv, METH_VARARGS },
+        { "glTexCoord3s", _wrap_glTexCoord3s, METH_VARARGS },
+        { "glTexCoord3iv", _wrap_glTexCoord3iv, METH_VARARGS },
+        { "glTexCoord3i", _wrap_glTexCoord3i, METH_VARARGS },
+        { "glTexCoord3fv", _wrap_glTexCoord3fv, METH_VARARGS },
+        { "glTexCoord3f", _wrap_glTexCoord3f, METH_VARARGS },
+        { "glTexCoord3dv", _wrap_glTexCoord3dv, METH_VARARGS },
+        { "glTexCoord3d", _wrap_glTexCoord3d, METH_VARARGS },
+        { "glTexCoord2sv", _wrap_glTexCoord2sv, METH_VARARGS },
+        { "glTexCoord2s", _wrap_glTexCoord2s, METH_VARARGS },
+        { "glTexCoord2iv", _wrap_glTexCoord2iv, METH_VARARGS },
+        { "glTexCoord2i", _wrap_glTexCoord2i, METH_VARARGS },
+        { "glTexCoord2fv", _wrap_glTexCoord2fv, METH_VARARGS },
+        { "glTexCoord2f", _wrap_glTexCoord2f, METH_VARARGS },
+        { "glTexCoord2dv", _wrap_glTexCoord2dv, METH_VARARGS },
+        { "glTexCoord2d", _wrap_glTexCoord2d, METH_VARARGS },
+        { "glTexCoord1sv", _wrap_glTexCoord1sv, METH_VARARGS },
+        { "glTexCoord1s", _wrap_glTexCoord1s, METH_VARARGS },
+        { "glTexCoord1iv", _wrap_glTexCoord1iv, METH_VARARGS },
+        { "glTexCoord1i", _wrap_glTexCoord1i, METH_VARARGS },
+        { "glTexCoord1fv", _wrap_glTexCoord1fv, METH_VARARGS },
+        { "glTexCoord1f", _wrap_glTexCoord1f, METH_VARARGS },
+        { "glTexCoord1dv", _wrap_glTexCoord1dv, METH_VARARGS },
+        { "glTexCoord1d", _wrap_glTexCoord1d, METH_VARARGS },
+        { "glStencilOp", _wrap_glStencilOp, METH_VARARGS },
+        { "glStencilMask", _wrap_glStencilMask, METH_VARARGS },
+        { "glStencilFunc", _wrap_glStencilFunc, METH_VARARGS },
+        { "glShadeModel", _wrap_glShadeModel, METH_VARARGS },
+        { "glSelectBuffer", _wrap_glSelectBuffer, METH_VARARGS },
+        { "glScissor", _wrap_glScissor, METH_VARARGS },
+        { "glScalef", _wrap_glScalef, METH_VARARGS },
+        { "glScaled", _wrap_glScaled, METH_VARARGS },
+        { "glRotatef", _wrap_glRotatef, METH_VARARGS },
+        { "glRotated", _wrap_glRotated, METH_VARARGS },
+        { "glRenderMode", _wrap_glRenderMode, METH_VARARGS },
+        { "glRectsv", _wrap_glRectsv, METH_VARARGS },
+        { "glRects", _wrap_glRects, METH_VARARGS },
+        { "glRectiv", _wrap_glRectiv, METH_VARARGS },
+        { "glRecti", _wrap_glRecti, METH_VARARGS },
+        { "glRectfv", _wrap_glRectfv, METH_VARARGS },
+        { "glRectf", _wrap_glRectf, METH_VARARGS },
+        { "glRectdv", _wrap_glRectdv, METH_VARARGS },
+        { "glRectd", _wrap_glRectd, METH_VARARGS },
+        { "glReadPixels", _wrap_glReadPixels, METH_VARARGS },
+        { "glReadBuffer", _wrap_glReadBuffer, METH_VARARGS },
+        { "glRasterPos4sv", _wrap_glRasterPos4sv, METH_VARARGS },
+        { "glRasterPos4s", _wrap_glRasterPos4s, METH_VARARGS },
+        { "glRasterPos4iv", _wrap_glRasterPos4iv, METH_VARARGS },
+        { "glRasterPos4i", _wrap_glRasterPos4i, METH_VARARGS },
+        { "glRasterPos4fv", _wrap_glRasterPos4fv, METH_VARARGS },
+        { "glRasterPos4f", _wrap_glRasterPos4f, METH_VARARGS },
+        { "glRasterPos4dv", _wrap_glRasterPos4dv, METH_VARARGS },
+        { "glRasterPos4d", _wrap_glRasterPos4d, METH_VARARGS },
+        { "glRasterPos3sv", _wrap_glRasterPos3sv, METH_VARARGS },
+        { "glRasterPos3s", _wrap_glRasterPos3s, METH_VARARGS },
+        { "glRasterPos3iv", _wrap_glRasterPos3iv, METH_VARARGS },
+        { "glRasterPos3i", _wrap_glRasterPos3i, METH_VARARGS },
+        { "glRasterPos3fv", _wrap_glRasterPos3fv, METH_VARARGS },
+        { "glRasterPos3f", _wrap_glRasterPos3f, METH_VARARGS },
+        { "glRasterPos3dv", _wrap_glRasterPos3dv, METH_VARARGS },
+        { "glRasterPos3d", _wrap_glRasterPos3d, METH_VARARGS },
+        { "glRasterPos2sv", _wrap_glRasterPos2sv, METH_VARARGS },
+        { "glRasterPos2s", _wrap_glRasterPos2s, METH_VARARGS },
+        { "glRasterPos2iv", _wrap_glRasterPos2iv, METH_VARARGS },
+        { "glRasterPos2i", _wrap_glRasterPos2i, METH_VARARGS },
+        { "glRasterPos2fv", _wrap_glRasterPos2fv, METH_VARARGS },
+        { "glRasterPos2f", _wrap_glRasterPos2f, METH_VARARGS },
+        { "glRasterPos2dv", _wrap_glRasterPos2dv, METH_VARARGS },
+        { "glRasterPos2d", _wrap_glRasterPos2d, METH_VARARGS },
+        { "glPushName", _wrap_glPushName, METH_VARARGS },
+        { "glPushMatrix", _wrap_glPushMatrix, METH_VARARGS },
+        { "glPushClientAttrib", _wrap_glPushClientAttrib, METH_VARARGS },
+        { "glPushAttrib", _wrap_glPushAttrib, METH_VARARGS },
+        { "glPrioritizeTextures", _wrap_glPrioritizeTextures, METH_VARARGS },
+        { "glPopName", _wrap_glPopName, METH_VARARGS },
+        { "glPopMatrix", _wrap_glPopMatrix, METH_VARARGS },
+        { "glPopClientAttrib", _wrap_glPopClientAttrib, METH_VARARGS },
+        { "glPopAttrib", _wrap_glPopAttrib, METH_VARARGS },
+        { "glPolygonStipple", _wrap_glPolygonStipple, METH_VARARGS },
+        { "glPolygonOffset", _wrap_glPolygonOffset, METH_VARARGS },
+        { "glPolygonMode", _wrap_glPolygonMode, METH_VARARGS },
+        { "glPointSize", _wrap_glPointSize, METH_VARARGS },
+        { "glPixelZoom", _wrap_glPixelZoom, METH_VARARGS },
+        { "glPixelTransferi", _wrap_glPixelTransferi, METH_VARARGS },
+        { "glPixelTransferf", _wrap_glPixelTransferf, METH_VARARGS },
+        { "glPixelStorei", _wrap_glPixelStorei, METH_VARARGS },
+        { "glPixelStoref", _wrap_glPixelStoref, METH_VARARGS },
+        { "glPixelMapusv", _wrap_glPixelMapusv, METH_VARARGS },
+        { "glPixelMapuiv", _wrap_glPixelMapuiv, METH_VARARGS },
+        { "glPixelMapfv", _wrap_glPixelMapfv, METH_VARARGS },
+        { "glPassThrough", _wrap_glPassThrough, METH_VARARGS },
+        { "glOrtho", _wrap_glOrtho, METH_VARARGS },
+        { "glNormalPointer", _wrap_glNormalPointer, METH_VARARGS },
+        { "glNormal3sv", _wrap_glNormal3sv, METH_VARARGS },
+        { "glNormal3s", _wrap_glNormal3s, METH_VARARGS },
+        { "glNormal3iv", _wrap_glNormal3iv, METH_VARARGS },
+        { "glNormal3i", _wrap_glNormal3i, METH_VARARGS },
+        { "glNormal3fv", _wrap_glNormal3fv, METH_VARARGS },
+        { "glNormal3f", _wrap_glNormal3f, METH_VARARGS },
+        { "glNormal3dv", _wrap_glNormal3dv, METH_VARARGS },
+        { "glNormal3d", _wrap_glNormal3d, METH_VARARGS },
+        { "glNormal3bv", _wrap_glNormal3bv, METH_VARARGS },
+        { "glNormal3b", _wrap_glNormal3b, METH_VARARGS },
+        { "glNewList", _wrap_glNewList, METH_VARARGS },
+        { "glMultMatrixf", _wrap_glMultMatrixf, METH_VARARGS },
+        { "glMultMatrixd", _wrap_glMultMatrixd, METH_VARARGS },
+        { "glMatrixMode", _wrap_glMatrixMode, METH_VARARGS },
+        { "glMaterialiv", _wrap_glMaterialiv, METH_VARARGS },
+        { "glMateriali", _wrap_glMateriali, METH_VARARGS },
+        { "glMaterialfv", _wrap_glMaterialfv, METH_VARARGS },
+        { "glMaterialf", _wrap_glMaterialf, METH_VARARGS },
+        { "glMapGrid2f", _wrap_glMapGrid2f, METH_VARARGS },
+        { "glMapGrid2d", _wrap_glMapGrid2d, METH_VARARGS },
+        { "glMapGrid1f", _wrap_glMapGrid1f, METH_VARARGS },
+        { "glMapGrid1d", _wrap_glMapGrid1d, METH_VARARGS },
+        { "glMap2f", _wrap_glMap2f, METH_VARARGS },
+        { "glMap2d", _wrap_glMap2d, METH_VARARGS },
+        { "glMap1f", _wrap_glMap1f, METH_VARARGS },
+        { "glMap1d", _wrap_glMap1d, METH_VARARGS },
+        { "glLogicOp", _wrap_glLogicOp, METH_VARARGS },
+        { "glLoadName", _wrap_glLoadName, METH_VARARGS },
+        { "glLoadMatrixf", _wrap_glLoadMatrixf, METH_VARARGS },
+        { "glLoadMatrixd", _wrap_glLoadMatrixd, METH_VARARGS },
+        { "glLoadIdentity", _wrap_glLoadIdentity, METH_VARARGS },
+        { "glListBase", _wrap_glListBase, METH_VARARGS },
+        { "glLineWidth", _wrap_glLineWidth, METH_VARARGS },
+        { "glLineStipple", _wrap_glLineStipple, METH_VARARGS },
+        { "glLightiv", _wrap_glLightiv, METH_VARARGS },
+        { "glLighti", _wrap_glLighti, METH_VARARGS },
+        { "glLightfv", _wrap_glLightfv, METH_VARARGS },
+        { "glLightf", _wrap_glLightf, METH_VARARGS },
+        { "glLightModeliv", _wrap_glLightModeliv, METH_VARARGS },
+        { "glLightModeli", _wrap_glLightModeli, METH_VARARGS },
+        { "glLightModelfv", _wrap_glLightModelfv, METH_VARARGS },
+        { "glLightModelf", _wrap_glLightModelf, METH_VARARGS },
+        { "glIsTexture", _wrap_glIsTexture, METH_VARARGS },
+        { "glIsList", _wrap_glIsList, METH_VARARGS },
+        { "glIsEnabled", _wrap_glIsEnabled, METH_VARARGS },
+        { "glInterleavedArrays", _wrap_glInterleavedArrays, METH_VARARGS },
+        { "glInitNames", _wrap_glInitNames, METH_VARARGS },
+        { "glIndexubv", _wrap_glIndexubv, METH_VARARGS },
+        { "glIndexub", _wrap_glIndexub, METH_VARARGS },
+        { "glIndexsv", _wrap_glIndexsv, METH_VARARGS },
+        { "glIndexs", _wrap_glIndexs, METH_VARARGS },
+        { "glIndexiv", _wrap_glIndexiv, METH_VARARGS },
+        { "glIndexi", _wrap_glIndexi, METH_VARARGS },
+        { "glIndexfv", _wrap_glIndexfv, METH_VARARGS },
+        { "glIndexf", _wrap_glIndexf, METH_VARARGS },
+        { "glIndexdv", _wrap_glIndexdv, METH_VARARGS },
+        { "glIndexd", _wrap_glIndexd, METH_VARARGS },
+        { "glIndexPointer", _wrap_glIndexPointer, METH_VARARGS },
+        { "glIndexMask", _wrap_glIndexMask, METH_VARARGS },
+        { "glHint", _wrap_glHint, METH_VARARGS },
+        { "glGetTexParameteriv", _wrap_glGetTexParameteriv, METH_VARARGS },
+        { "glGetTexParameterfv", _wrap_glGetTexParameterfv, METH_VARARGS },
+        { "glGetTexLevelParameteriv", _wrap_glGetTexLevelParameteriv, METH_VARARGS },
+        { "glGetTexLevelParameterfv", _wrap_glGetTexLevelParameterfv, METH_VARARGS },
+        { "glGetTexImage", _wrap_glGetTexImage, METH_VARARGS },
+        { "glGetTexGeniv", _wrap_glGetTexGeniv, METH_VARARGS },
+        { "glGetTexGenfv", _wrap_glGetTexGenfv, METH_VARARGS },
+        { "glGetTexGendv", _wrap_glGetTexGendv, METH_VARARGS },
+        { "glGetTexEnviv", _wrap_glGetTexEnviv, METH_VARARGS },
+        { "glGetTexEnvfv", _wrap_glGetTexEnvfv, METH_VARARGS },
+        { "glGetString", _wrap_glGetString, METH_VARARGS },
+        { "glGetPolygonStipple", _wrap_glGetPolygonStipple, METH_VARARGS },
+        { "glGetPointerv", _wrap_glGetPointerv, METH_VARARGS },
+        { "glGetPixelMapusv", _wrap_glGetPixelMapusv, METH_VARARGS },
+        { "glGetPixelMapuiv", _wrap_glGetPixelMapuiv, METH_VARARGS },
+        { "glGetPixelMapfv", _wrap_glGetPixelMapfv, METH_VARARGS },
+        { "glGetMaterialiv", _wrap_glGetMaterialiv, METH_VARARGS },
+        { "glGetMaterialfv", _wrap_glGetMaterialfv, METH_VARARGS },
+        { "glGetMapiv", _wrap_glGetMapiv, METH_VARARGS },
+        { "glGetMapfv", _wrap_glGetMapfv, METH_VARARGS },
+        { "glGetMapdv", _wrap_glGetMapdv, METH_VARARGS },
+        { "glGetLightiv", _wrap_glGetLightiv, METH_VARARGS },
+        { "glGetLightfv", _wrap_glGetLightfv, METH_VARARGS },
+        { "glGetIntegerv", _wrap_glGetIntegerv, METH_VARARGS },
+        { "glGetFloatv", _wrap_glGetFloatv, METH_VARARGS },
+        { "glGetError", _wrap_glGetError, METH_VARARGS },
+        { "glGetDoublev", _wrap_glGetDoublev, METH_VARARGS },
+        { "glGetClipPlane", _wrap_glGetClipPlane, METH_VARARGS },
+        { "glGetBooleanv", _wrap_glGetBooleanv, METH_VARARGS },
+        { "glGenTextures", _wrap_glGenTextures, METH_VARARGS },
+        { "glGenLists", _wrap_glGenLists, METH_VARARGS },
+        { "glFrustum", _wrap_glFrustum, METH_VARARGS },
+        { "glFrontFace", _wrap_glFrontFace, METH_VARARGS },
+        { "glFogiv", _wrap_glFogiv, METH_VARARGS },
+        { "glFogi", _wrap_glFogi, METH_VARARGS },
+        { "glFogfv", _wrap_glFogfv, METH_VARARGS },
+        { "glFogf", _wrap_glFogf, METH_VARARGS },
+        { "glFlush", _wrap_glFlush, METH_VARARGS },
+        { "glFinish", _wrap_glFinish, METH_VARARGS },
+        { "glFeedbackBuffer", _wrap_glFeedbackBuffer, METH_VARARGS },
+        { "glEvalPoint2", _wrap_glEvalPoint2, METH_VARARGS },
+        { "glEvalPoint1", _wrap_glEvalPoint1, METH_VARARGS },
+        { "glEvalMesh2", _wrap_glEvalMesh2, METH_VARARGS },
+        { "glEvalMesh1", _wrap_glEvalMesh1, METH_VARARGS },
+        { "glEvalCoord2fv", _wrap_glEvalCoord2fv, METH_VARARGS },
+        { "glEvalCoord2f", _wrap_glEvalCoord2f, METH_VARARGS },
+        { "glEvalCoord2dv", _wrap_glEvalCoord2dv, METH_VARARGS },
+        { "glEvalCoord2d", _wrap_glEvalCoord2d, METH_VARARGS },
+        { "glEvalCoord1fv", _wrap_glEvalCoord1fv, METH_VARARGS },
+        { "glEvalCoord1f", _wrap_glEvalCoord1f, METH_VARARGS },
+        { "glEvalCoord1dv", _wrap_glEvalCoord1dv, METH_VARARGS },
+        { "glEvalCoord1d", _wrap_glEvalCoord1d, METH_VARARGS },
+        { "glEndList", _wrap_glEndList, METH_VARARGS },
+        { "glEnd", _wrap_glEnd, METH_VARARGS },
+        { "glEnableClientState", _wrap_glEnableClientState, METH_VARARGS },
+        { "glEnable", _wrap_glEnable, METH_VARARGS },
+        { "glEdgeFlagv", _wrap_glEdgeFlagv, METH_VARARGS },
+        { "glEdgeFlagPointer", _wrap_glEdgeFlagPointer, METH_VARARGS },
+        { "glEdgeFlag", _wrap_glEdgeFlag, METH_VARARGS },
+        { "glDrawPixels", _wrap_glDrawPixels, METH_VARARGS },
+        { "glDrawElements", _wrap_glDrawElements, METH_VARARGS },
+        { "glDrawBuffer", _wrap_glDrawBuffer, METH_VARARGS },
+        { "glDrawArrays", _wrap_glDrawArrays, METH_VARARGS },
+        { "glDisableClientState", _wrap_glDisableClientState, METH_VARARGS },
+        { "glDisable", _wrap_glDisable, METH_VARARGS },
+        { "glDepthRange", _wrap_glDepthRange, METH_VARARGS },
+        { "glDepthMask", _wrap_glDepthMask, METH_VARARGS },
+        { "glDepthFunc", _wrap_glDepthFunc, METH_VARARGS },
+        { "glDeleteTextures", _wrap_glDeleteTextures, METH_VARARGS },
+        { "glDeleteLists", _wrap_glDeleteLists, METH_VARARGS },
+        { "glCullFace", _wrap_glCullFace, METH_VARARGS },
+        { "glCopyTexSubImage2D", _wrap_glCopyTexSubImage2D, METH_VARARGS },
+        { "glCopyTexSubImage1D", _wrap_glCopyTexSubImage1D, METH_VARARGS },
+        { "glCopyTexImage2D", _wrap_glCopyTexImage2D, METH_VARARGS },
+        { "glCopyTexImage1D", _wrap_glCopyTexImage1D, METH_VARARGS },
+        { "glCopyPixels", _wrap_glCopyPixels, METH_VARARGS },
+        { "glColorPointer", _wrap_glColorPointer, METH_VARARGS },
+        { "glColorMaterial", _wrap_glColorMaterial, METH_VARARGS },
+        { "glColorMask", _wrap_glColorMask, METH_VARARGS },
+        { "glColor4usv", _wrap_glColor4usv, METH_VARARGS },
+        { "glColor4us", _wrap_glColor4us, METH_VARARGS },
+        { "glColor4uiv", _wrap_glColor4uiv, METH_VARARGS },
+        { "glColor4ui", _wrap_glColor4ui, METH_VARARGS },
+        { "glColor4ubv", _wrap_glColor4ubv, METH_VARARGS },
+        { "glColor4ub", _wrap_glColor4ub, METH_VARARGS },
+        { "glColor4sv", _wrap_glColor4sv, METH_VARARGS },
+        { "glColor4s", _wrap_glColor4s, METH_VARARGS },
+        { "glColor4iv", _wrap_glColor4iv, METH_VARARGS },
+        { "glColor4i", _wrap_glColor4i, METH_VARARGS },
+        { "glColor4fv", _wrap_glColor4fv, METH_VARARGS },
+        { "glColor4f", _wrap_glColor4f, METH_VARARGS },
+        { "glColor4dv", _wrap_glColor4dv, METH_VARARGS },
+        { "glColor4d", _wrap_glColor4d, METH_VARARGS },
+        { "glColor4bv", _wrap_glColor4bv, METH_VARARGS },
+        { "glColor4b", _wrap_glColor4b, METH_VARARGS },
+        { "glColor3usv", _wrap_glColor3usv, METH_VARARGS },
+        { "glColor3us", _wrap_glColor3us, METH_VARARGS },
+        { "glColor3uiv", _wrap_glColor3uiv, METH_VARARGS },
+        { "glColor3ui", _wrap_glColor3ui, METH_VARARGS },
+        { "glColor3ubv", _wrap_glColor3ubv, METH_VARARGS },
+        { "glColor3ub", _wrap_glColor3ub, METH_VARARGS },
+        { "glColor3sv", _wrap_glColor3sv, METH_VARARGS },
+        { "glColor3s", _wrap_glColor3s, METH_VARARGS },
+        { "glColor3iv", _wrap_glColor3iv, METH_VARARGS },
+        { "glColor3i", _wrap_glColor3i, METH_VARARGS },
+        { "glColor3fv", _wrap_glColor3fv, METH_VARARGS },
+        { "glColor3f", _wrap_glColor3f, METH_VARARGS },
+        { "glColor3dv", _wrap_glColor3dv, METH_VARARGS },
+        { "glColor3d", _wrap_glColor3d, METH_VARARGS },
+        { "glColor3bv", _wrap_glColor3bv, METH_VARARGS },
+        { "glColor3b", _wrap_glColor3b, METH_VARARGS },
+        { "glClipPlane", _wrap_glClipPlane, METH_VARARGS },
+        { "glClearStencil", _wrap_glClearStencil, METH_VARARGS },
+        { "glClearIndex", _wrap_glClearIndex, METH_VARARGS },
+        { "glClearDepth", _wrap_glClearDepth, METH_VARARGS },
+        { "glClearColor", _wrap_glClearColor, METH_VARARGS },
+        { "glClearAccum", _wrap_glClearAccum, METH_VARARGS },
+        { "glClear", _wrap_glClear, METH_VARARGS },
+        { "glCallLists", _wrap_glCallLists, METH_VARARGS },
+        { "glCallList", _wrap_glCallList, METH_VARARGS },
+        { "glBlendFunc", _wrap_glBlendFunc, METH_VARARGS },
+        { "glBitmap", _wrap_glBitmap, METH_VARARGS },
+        { "glBindTexture", _wrap_glBindTexture, METH_VARARGS },
+        { "glBegin", _wrap_glBegin, METH_VARARGS },
+        { "glArrayElement", _wrap_glArrayElement, METH_VARARGS },
+        { "glAreTexturesResident", _wrap_glAreTexturesResident, METH_VARARGS },
+        { "glAlphaFunc", _wrap_glAlphaFunc, METH_VARARGS },
+        { "glAccum", _wrap_glAccum, METH_VARARGS },
+        { "glAddSwapHintRectWin", _wrap_glAddSwapHintRectWin, METH_VARARGS },
+        { "glIndexMaterialSGI", _wrap_glIndexMaterialSGI, METH_VARARGS },
+        { "glIndexFuncSGI", _wrap_glIndexFuncSGI, METH_VARARGS },
+        { "glCullParameterfvSGI", _wrap_glCullParameterfvSGI, METH_VARARGS },
+        { "glCullParameterdvSGI", _wrap_glCullParameterdvSGI, METH_VARARGS },
+        { "glUnlockArraysSGI", _wrap_glUnlockArraysSGI, METH_VARARGS },
+        { "glLockArraysSGI", _wrap_glLockArraysSGI, METH_VARARGS },
+        { "glGetColorTavleParameterivEXT", _wrap_glGetColorTavleParameterivEXT, METH_VARARGS },
+        { "glGetColorTableParamaterfvEXT", _wrap_glGetColorTableParamaterfvEXT, METH_VARARGS },
+        { "glGetColorTableEXT", _wrap_glGetColorTableEXT, METH_VARARGS },
+        { "glCopyColorTableEXT", _wrap_glCopyColorTableEXT, METH_VARARGS },
+        { "glColorTableEXT", _wrap_glColorTableEXT, METH_VARARGS },
+        { "glColorSubtableEXT", _wrap_glColorSubtableEXT, METH_VARARGS },
+        { "glVertexPointerEXT", _wrap_glVertexPointerEXT, METH_VARARGS },
+        { "glTexCoordPointerEXT", _wrap_glTexCoordPointerEXT, METH_VARARGS },
+        { "glNormalPointerEXT", _wrap_glNormalPointerEXT, METH_VARARGS },
+        { "glIndexPointerEXT", _wrap_glIndexPointerEXT, METH_VARARGS },
+        { "glGetPointervEXT", _wrap_glGetPointervEXT, METH_VARARGS },
+        { "glEdgeFlagPointerEXT", _wrap_glEdgeFlagPointerEXT, METH_VARARGS },
+        { "glDrawArraysEXT", _wrap_glDrawArraysEXT, METH_VARARGS },
+        { "glColorPointerEXT", _wrap_glColorPointerEXT, METH_VARARGS },
+        { "glArrayElementEXT", _wrap_glArrayElementEXT, METH_VARARGS },
+        { NULL, NULL }
+};
+#ifdef __cplusplus
+}
+#endif
+/*
+ * This table is used by the pointer type-checker
+ */
+static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
+    { "_wxAcceleratorTable","_class_wxAcceleratorTable",0},
+    { "_wxEvent","_class_wxEvent",0},
+    { "_class_wxActivateEvent","_wxActivateEvent",0},
+    { "_GLfloat","_GLclampf",0},
+    { "_GLfloat","_float",0},
+    { "_signed_long","_long",0},
+    { "_wxMenuEvent","_class_wxMenuEvent",0},
+    { "_class_wxJPEGHandler","_wxJPEGHandler",0},
+    { "_wxBMPHandler","_class_wxBMPHandler",0},
+    { "_wxImage","_class_wxImage",0},
+    { "_double","_GLclampd",0},
+    { "_double","_GLdouble",0},
+    { "_wxPrintQuality","_GLuint",0},
+    { "_wxPrintQuality","_GLsizei",0},
+    { "_wxPrintQuality","_GLint",0},
+    { "_wxPrintQuality","_GLbitfield",0},
+    { "_wxPrintQuality","_GLenum",0},
+    { "_wxPrintQuality","_int",0},
+    { "_wxPrintQuality","_signed_int",0},
+    { "_wxPrintQuality","_unsigned_int",0},
+    { "_wxPrintQuality","_wxWindowID",0},
+    { "_wxPrintQuality","_uint",0},
+    { "_wxPrintQuality","_EBool",0},
+    { "_wxPrintQuality","_size_t",0},
+    { "_wxFontData","_class_wxFontData",0},
+    { "___wxPyCleanup","_class___wxPyCleanup",0},
+    { "_class_wxRegionIterator","_wxRegionIterator",0},
+    { "_class_wxMenuBar","_wxMenuBar",0},
+    { "_class_wxPyTreeItemData","_wxPyTreeItemData",0},
+    { "_class_wxEvtHandler","_class_wxGLCanvas",SwigwxGLCanvasTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxGLCanvas",SwigwxGLCanvasTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxEvtHandler",0},
+    { "_wxPaintEvent","_class_wxPaintEvent",0},
+    { "_wxGIFHandler","_class_wxGIFHandler",0},
+    { "_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0},
+    { "_wxCursor","_class_wxCursor",0},
+    { "_wxNotifyEvent","_class_wxNotifyEvent",0},
+    { "_wxImageHandler","_class_wxImageHandler",0},
+    { "_GLsizei","_GLuint",0},
+    { "_GLsizei","_int",0},
+    { "_GLsizei","_signed_int",0},
+    { "_GLsizei","_unsigned_int",0},
+    { "_GLsizei","_wxWindowID",0},
+    { "_GLsizei","_uint",0},
+    { "_GLsizei","_EBool",0},
+    { "_GLsizei","_size_t",0},
+    { "_GLsizei","_wxPrintQuality",0},
+    { "_GLsizei","_GLenum",0},
+    { "_GLsizei","_GLbitfield",0},
+    { "_GLsizei","_GLint",0},
+    { "_class_wxTreeCtrl","_wxTreeCtrl",0},
+    { "_wxMask","_class_wxMask",0},
+    { "_wxToolTip","_class_wxToolTip",0},
+    { "_wxGrid","_class_wxGrid",0},
+    { "_wxPNGHandler","_class_wxPNGHandler",0},
+    { "_class_wxColourData","_wxColourData",0},
+    { "_class_wxPageSetupDialogData","_wxPageSetupDialogData",0},
+    { "_wxPrinter","_class_wxPrinter",0},
+    { "_GLbyte","_signed_char",0},
+    { "_wxPen","_class_wxPen",0},
+    { "_wxUpdateUIEvent","_class_wxUpdateUIEvent",0},
+    { "_byte","_GLubyte",0},
+    { "_byte","_GLboolean",0},
+    { "_byte","_unsigned_char",0},
+    { "_wxStaticBox","_class_wxStaticBox",0},
+    { "_wxChoice","_class_wxChoice",0},
+    { "_wxSlider","_class_wxSlider",0},
+    { "_wxNotebookEvent","_class_wxNotebookEvent",0},
+    { "_wxPyPrintout","_class_wxPyPrintout",0},
+    { "_long","_wxDash",0},
+    { "_long","_unsigned_long",0},
+    { "_long","_signed_long",0},
+    { "_wxImageList","_class_wxImageList",0},
+    { "_wxDropFilesEvent","_class_wxDropFilesEvent",0},
+    { "_wxBitmapButton","_class_wxBitmapButton",0},
+    { "_wxSashWindow","_class_wxSashWindow",0},
+    { "_GLenum","_GLuint",0},
+    { "_GLenum","_GLsizei",0},
+    { "_GLenum","_GLint",0},
+    { "_GLenum","_GLbitfield",0},
+    { "_GLenum","_unsigned_int",0},
+    { "_GLenum","_int",0},
+    { "_GLenum","_wxWindowID",0},
+    { "_GLenum","_uint",0},
+    { "_GLenum","_size_t",0},
+    { "_GLenum","_wxPrintQuality",0},
+    { "_class_wxPrintDialogData","_wxPrintDialogData",0},
+    { "_wxGLContext","_class_wxGLContext",0},
+    { "_class_wxAcceleratorTable","_wxAcceleratorTable",0},
+    { "_class_wxGauge","_wxGauge",0},
+    { "_class_wxSashEvent","_wxSashEvent",0},
+    { "_float","_GLclampf",0},
+    { "_float","_GLfloat",0},
+    { "_wxDC","_class_wxDC",0},
+    { "_wxListEvent","_class_wxListEvent",0},
+    { "_class_wxSingleChoiceDialog","_wxSingleChoiceDialog",0},
+    { "_wxProgressDialog","_class_wxProgressDialog",0},
+    { "_class_wxBMPHandler","_wxBMPHandler",0},
+    { "_wxPrintPreview","_class_wxPrintPreview",0},
+    { "_wxSpinEvent","_class_wxSpinEvent",0},
+    { "_wxSashLayoutWindow","_class_wxSashLayoutWindow",0},
+    { "_size_t","_GLuint",0},
+    { "_size_t","_GLsizei",0},
+    { "_size_t","_GLint",0},
+    { "_size_t","_GLbitfield",0},
+    { "_size_t","_GLenum",0},
+    { "_size_t","_wxPrintQuality",0},
+    { "_size_t","_unsigned_int",0},
+    { "_size_t","_int",0},
+    { "_size_t","_wxWindowID",0},
+    { "_size_t","_uint",0},
+    { "_class_wxRealPoint","_wxRealPoint",0},
+    { "_wxPrinterDC","_class_wxPrinterDC",0},
+    { "_class_wxMenuItem","_wxMenuItem",0},
+    { "_class_wxPaintEvent","_wxPaintEvent",0},
+    { "_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0},
+    { "_class_wxStatusBar","_wxStatusBar",0},
+    { "_class_wxGIFHandler","_wxGIFHandler",0},
+    { "_wxPanel","_class_wxGLCanvas",SwigwxGLCanvasTowxPanel},
+    { "_wxPanel","_wxGLCanvas",SwigwxGLCanvasTowxPanel},
+    { "_wxPanel","_class_wxPanel",0},
+    { "_wxInitDialogEvent","_class_wxInitDialogEvent",0},
+    { "_wxCheckBox","_class_wxCheckBox",0},
+    { "_wxPyEvent","_class_wxPyEvent",0},
+    { "_wxTextCtrl","_class_wxTextCtrl",0},
+    { "_signed_char","_GLbyte",0},
+    { "_class_wxMask","_wxMask",0},
+    { "_class_wxToolTip","_wxToolTip",0},
+    { "_class_wxKeyEvent","_wxKeyEvent",0},
+    { "_class_wxGrid","_wxGrid",0},
+    { "_class_wxPNGHandler","_wxPNGHandler",0},
+    { "_wxColour","_class_wxColour",0},
+    { "_class_wxDialog","_wxDialog",0},
+    { "_wxPageSetupDialog","_class_wxPageSetupDialog",0},
+    { "_class_wxPrinter","_wxPrinter",0},
+    { "_wxIdleEvent","_class_wxIdleEvent",0},
+    { "_class_wxUpdateUIEvent","_wxUpdateUIEvent",0},
+    { "_wxToolBar","_class_wxToolBar",0},
+    { "_wxStaticLine","_class_wxStaticLine",0},
+    { "_class_wxLayoutAlgorithm","_wxLayoutAlgorithm",0},
+    { "_wxBrush","_class_wxBrush",0},
+    { "_wxMiniFrame","_class_wxMiniFrame",0},
+    { "_class_wxNotebookEvent","_wxNotebookEvent",0},
+    { "_class_wxPyPrintout","_wxPyPrintout",0},
+    { "_class_wxSashWindow","_wxSashWindow",0},
+    { "_GLuint","_unsigned_int",0},
+    { "_GLuint","_int",0},
+    { "_GLuint","_wxWindowID",0},
+    { "_GLuint","_uint",0},
+    { "_GLuint","_size_t",0},
+    { "_GLuint","_wxPrintQuality",0},
+    { "_GLuint","_GLenum",0},
+    { "_GLuint","_GLbitfield",0},
+    { "_GLuint","_GLint",0},
+    { "_GLuint","_GLsizei",0},
+    { "_wxShowEvent","_class_wxShowEvent",0},
+    { "_uint","_GLuint",0},
+    { "_uint","_GLsizei",0},
+    { "_uint","_GLint",0},
+    { "_uint","_GLbitfield",0},
+    { "_uint","_GLenum",0},
+    { "_uint","_wxPrintQuality",0},
+    { "_uint","_size_t",0},
+    { "_uint","_unsigned_int",0},
+    { "_uint","_int",0},
+    { "_uint","_wxWindowID",0},
+    { "_class_wxEvent","_wxEvent",0},
+    { "_wxCheckListBox","_class_wxCheckListBox",0},
+    { "_wxSplitterEvent","_class_wxSplitterEvent",0},
+    { "_wxGridEvent","_class_wxGridEvent",0},
+    { "_wxRect","_class_wxRect",0},
+    { "_wxCommandEvent","_class_wxCommandEvent",0},
+    { "_wxSizeEvent","_class_wxSizeEvent",0},
+    { "_class_wxImage","_wxImage",0},
+    { "_GLclampd","_double",0},
+    { "_GLclampd","_GLdouble",0},
+    { "_wxPoint","_class_wxPoint",0},
+    { "_class_wxSashLayoutWindow","_wxSashLayoutWindow",0},
+    { "_class_wxButton","_wxButton",0},
+    { "_wxRadioBox","_class_wxRadioBox",0},
+    { "_class_wxFontData","_wxFontData",0},
+    { "_class___wxPyCleanup","___wxPyCleanup",0},
+    { "_GLclampf","_float",0},
+    { "_GLclampf","_GLfloat",0},
+    { "_wxBitmap","_class_wxBitmap",0},
+    { "_wxTaskBarIcon","_class_wxTaskBarIcon",0},
+    { "_wxPrintDialog","_class_wxPrintDialog",0},
+    { "_wxPyTimer","_class_wxPyTimer",0},
+    { "_wxWindowDC","_class_wxWindowDC",0},
+    { "_wxScrollBar","_class_wxScrollBar",0},
+    { "_wxSpinButton","_class_wxSpinButton",0},
+    { "_wxToolBarTool","_class_wxToolBarTool",0},
+    { "_wxColourDialog","_class_wxColourDialog",0},
+    { "_wxPrintData","_class_wxPrintData",0},
+    { "_class_wxIndividualLayoutConstraint","_wxIndividualLayoutConstraint",0},
+    { "_class_wxNotifyEvent","_wxNotifyEvent",0},
+    { "_wxMessageDialog","_class_wxMessageDialog",0},
+    { "_GLbitfield","_GLuint",0},
+    { "_GLbitfield","_GLsizei",0},
+    { "_GLbitfield","_GLint",0},
+    { "_GLbitfield","_unsigned_int",0},
+    { "_GLbitfield","_int",0},
+    { "_GLbitfield","_wxWindowID",0},
+    { "_GLbitfield","_uint",0},
+    { "_GLbitfield","_size_t",0},
+    { "_GLbitfield","_wxPrintQuality",0},
+    { "_GLbitfield","_GLenum",0},
+    { "_class_wxPyEvent","_wxPyEvent",0},
+    { "_wxTextEntryDialog","_class_wxTextEntryDialog",0},
+    { "_class_wxIconizeEvent","_wxIconizeEvent",0},
+    { "_class_wxStaticBitmap","_wxStaticBitmap",0},
+    { "_wxMDIChildFrame","_class_wxMDIChildFrame",0},
+    { "_wxListItem","_class_wxListItem",0},
+    { "_class_wxToolBar","_wxToolBar",0},
+    { "_class_wxStaticLine","_wxStaticLine",0},
+    { "_wxScrollEvent","_class_wxScrollEvent",0},
+    { "_wxCalculateLayoutEvent","_class_wxCalculateLayoutEvent",0},
+    { "_EBool","_GLsizei",0},
+    { "_EBool","_GLint",0},
+    { "_EBool","_wxPrintQuality",0},
+    { "_EBool","_signed_int",0},
+    { "_EBool","_int",0},
+    { "_EBool","_wxWindowID",0},
+    { "_class_wxRegion","_wxRegion",0},
+    { "_class_wxDropFilesEvent","_wxDropFilesEvent",0},
+    { "_class_wxPreviewFrame","_wxPreviewFrame",0},
+    { "_wxStaticText","_class_wxStaticText",0},
+    { "_wxFont","_class_wxFont",0},
+    { "_wxCloseEvent","_class_wxCloseEvent",0},
+    { "_class_wxSplitterEvent","_wxSplitterEvent",0},
+    { "_wxNotebook","_class_wxNotebook",0},
+    { "_unsigned_long","_wxDash",0},
+    { "_unsigned_long","_long",0},
+    { "_class_wxRect","_wxRect",0},
+    { "_class_wxDC","_wxDC",0},
+    { "_class_wxProgressDialog","_wxProgressDialog",0},
+    { "_wxPyApp","_class_wxPyApp",0},
+    { "_wxMDIParentFrame","_class_wxMDIParentFrame",0},
+    { "_class_wxTreeEvent","_wxTreeEvent",0},
+    { "_class_wxDirDialog","_wxDirDialog",0},
+    { "_class_wxPyTimer","_wxPyTimer",0},
+    { "_wxFocusEvent","_class_wxFocusEvent",0},
+    { "_wxMaximizeEvent","_class_wxMaximizeEvent",0},
+    { "_class_wxSpinButton","_wxSpinButton",0},
+    { "_wxAcceleratorEntry","_class_wxAcceleratorEntry",0},
+    { "_class_wxPanel","_class_wxGLCanvas",SwigwxGLCanvasTowxPanel},
+    { "_class_wxPanel","_wxGLCanvas",SwigwxGLCanvasTowxPanel},
+    { "_class_wxPanel","_wxPanel",0},
+    { "_class_wxCheckBox","_wxCheckBox",0},
+    { "_wxComboBox","_class_wxComboBox",0},
+    { "_wxRadioButton","_class_wxRadioButton",0},
+    { "_class_wxMessageDialog","_wxMessageDialog",0},
+    { "_signed_int","_GLsizei",0},
+    { "_signed_int","_GLint",0},
+    { "_signed_int","_wxPrintQuality",0},
+    { "_signed_int","_EBool",0},
+    { "_signed_int","_wxWindowID",0},
+    { "_signed_int","_int",0},
+    { "_class_wxTextCtrl","_wxTextCtrl",0},
+    { "_GLboolean","_GLubyte",0},
+    { "_GLboolean","_unsigned_char",0},
+    { "_GLboolean","_byte",0},
+    { "_wxLayoutConstraints","_class_wxLayoutConstraints",0},
+    { "_wxMetaFileDC","_class_wxMetaFileDC",0},
+    { "_wxMenu","_class_wxMenu",0},
+    { "_class_wxMoveEvent","_wxMoveEvent",0},
+    { "_wxListBox","_class_wxListBox",0},
+    { "_wxScreenDC","_class_wxScreenDC",0},
+    { "_class_wxMDIChildFrame","_wxMDIChildFrame",0},
+    { "_WXTYPE","_GLushort",0},
+    { "_WXTYPE","_GLshort",0},
+    { "_WXTYPE","_short",0},
+    { "_WXTYPE","_signed_short",0},
+    { "_WXTYPE","_unsigned_short",0},
+    { "_wxFileDialog","_class_wxFileDialog",0},
+    { "_GLshort","_GLushort",0},
+    { "_GLshort","_short",0},
+    { "_GLshort","_signed_short",0},
+    { "_GLshort","_unsigned_short",0},
+    { "_GLshort","_WXTYPE",0},
+    { "_class_wxMDIClientWindow","_wxMDIClientWindow",0},
+    { "_class_wxBrush","_wxBrush",0},
+    { "_unsigned_short","_GLushort",0},
+    { "_unsigned_short","_GLshort",0},
+    { "_unsigned_short","_WXTYPE",0},
+    { "_unsigned_short","_short",0},
+    { "_class_wxWindow","_class_wxGLCanvas",SwigwxGLCanvasTowxWindow},
+    { "_class_wxWindow","_wxGLCanvas",SwigwxGLCanvasTowxWindow},
+    { "_class_wxWindow","_wxWindow",0},
+    { "_wxSplitterWindow","_class_wxSplitterWindow",0},
+    { "_class_wxStaticText","_wxStaticText",0},
+    { "_wxPrintDialogData","_class_wxPrintDialogData",0},
+    { "_GLushort","_unsigned_short",0},
+    { "_GLushort","_short",0},
+    { "_GLushort","_WXTYPE",0},
+    { "_GLushort","_GLshort",0},
+    { "_class_wxFont","_wxFont",0},
+    { "_class_wxCloseEvent","_wxCloseEvent",0},
+    { "_wxSashEvent","_class_wxSashEvent",0},
+    { "_class_wxMenuEvent","_wxMenuEvent",0},
+    { "_wxClientDC","_class_wxClientDC",0},
+    { "_wxMouseEvent","_class_wxMouseEvent",0},
+    { "_wxListCtrl","_class_wxListCtrl",0},
+    { "_wxSingleChoiceDialog","_class_wxSingleChoiceDialog",0},
+    { "_wxGLCanvas","_class_wxGLCanvas",0},
+    { "_class_wxPoint","_wxPoint",0},
+    { "_wxRealPoint","_class_wxRealPoint",0},
+    { "_class_wxRadioBox","_wxRadioBox",0},
+    { "_wxGridCell","_class_wxGridCell",0},
+    { "_signed_short","_GLshort",0},
+    { "_signed_short","_WXTYPE",0},
+    { "_signed_short","_short",0},
+    { "_wxMemoryDC","_class_wxMemoryDC",0},
+    { "_class_wxTaskBarIcon","_wxTaskBarIcon",0},
+    { "_class_wxPrintDialog","_wxPrintDialog",0},
+    { "_wxPaintDC","_class_wxPaintDC",0},
+    { "_class_wxWindowDC","_wxWindowDC",0},
+    { "_class_wxFocusEvent","_wxFocusEvent",0},
+    { "_class_wxMaximizeEvent","_wxMaximizeEvent",0},
+    { "_wxStatusBar","_class_wxStatusBar",0},
+    { "_class_wxToolBarTool","_wxToolBarTool",0},
+    { "_class_wxAcceleratorEntry","_wxAcceleratorEntry",0},
+    { "_class_wxCursor","_wxCursor",0},
+    { "_class_wxImageHandler","_wxImageHandler",0},
+    { "_wxScrolledWindow","_class_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow},
+    { "_wxScrolledWindow","_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow},
+    { "_wxScrolledWindow","_class_wxScrolledWindow",0},
+    { "_wxTreeItemId","_class_wxTreeItemId",0},
+    { "_unsigned_char","_GLubyte",0},
+    { "_unsigned_char","_GLboolean",0},
+    { "_unsigned_char","_byte",0},
+    { "_class_wxMetaFileDC","_wxMetaFileDC",0},
+    { "_class_wxMenu","_wxMenu",0},
+    { "_wxControl","_class_wxControl",0},
+    { "_class_wxListBox","_wxListBox",0},
+    { "_unsigned_int","_GLuint",0},
+    { "_unsigned_int","_GLsizei",0},
+    { "_unsigned_int","_GLint",0},
+    { "_unsigned_int","_GLbitfield",0},
+    { "_unsigned_int","_GLenum",0},
+    { "_unsigned_int","_wxPrintQuality",0},
+    { "_unsigned_int","_size_t",0},
+    { "_unsigned_int","_uint",0},
+    { "_unsigned_int","_wxWindowID",0},
+    { "_unsigned_int","_int",0},
+    { "_wxIcon","_class_wxIcon",0},
+    { "_wxDialog","_class_wxDialog",0},
+    { "_class_wxListItem","_wxListItem",0},
+    { "_GLdouble","_GLclampd",0},
+    { "_GLdouble","_double",0},
+    { "_class_wxPen","_wxPen",0},
+    { "_class_wxFileDialog","_wxFileDialog",0},
+    { "_wxQueryLayoutInfoEvent","_class_wxQueryLayoutInfoEvent",0},
+    { "_short","_GLushort",0},
+    { "_short","_GLshort",0},
+    { "_short","_WXTYPE",0},
+    { "_short","_unsigned_short",0},
+    { "_short","_signed_short",0},
+    { "_class_wxStaticBox","_wxStaticBox",0},
+    { "_wxLayoutAlgorithm","_class_wxLayoutAlgorithm",0},
+    { "_class_wxScrollEvent","_wxScrollEvent",0},
+    { "_wxJoystickEvent","_class_wxJoystickEvent",0},
+    { "_class_wxChoice","_wxChoice",0},
+    { "_class_wxSlider","_wxSlider",0},
+    { "_class_wxCalculateLayoutEvent","_wxCalculateLayoutEvent",0},
+    { "_class_wxImageList","_wxImageList",0},
+    { "_class_wxBitmapButton","_wxBitmapButton",0},
+    { "_wxFrame","_class_wxFrame",0},
+    { "_class_wxGLContext","_wxGLContext",0},
+    { "_class_wxNotebook","_wxNotebook",0},
+    { "_wxJPEGHandler","_class_wxJPEGHandler",0},
+    { "_wxWindowID","_GLuint",0},
+    { "_wxWindowID","_GLsizei",0},
+    { "_wxWindowID","_GLint",0},
+    { "_wxWindowID","_GLbitfield",0},
+    { "_wxWindowID","_GLenum",0},
+    { "_wxWindowID","_wxPrintQuality",0},
+    { "_wxWindowID","_size_t",0},
+    { "_wxWindowID","_EBool",0},
+    { "_wxWindowID","_uint",0},
+    { "_wxWindowID","_int",0},
+    { "_wxWindowID","_signed_int",0},
+    { "_wxWindowID","_unsigned_int",0},
+    { "_int","_GLuint",0},
+    { "_int","_GLsizei",0},
+    { "_int","_GLint",0},
+    { "_int","_GLbitfield",0},
+    { "_int","_GLenum",0},
+    { "_int","_wxPrintQuality",0},
+    { "_int","_size_t",0},
+    { "_int","_EBool",0},
+    { "_int","_uint",0},
+    { "_int","_wxWindowID",0},
+    { "_int","_unsigned_int",0},
+    { "_int","_signed_int",0},
+    { "_class_wxMouseEvent","_wxMouseEvent",0},
+    { "_class_wxListEvent","_wxListEvent",0},
+    { "_class_wxPrintPreview","_wxPrintPreview",0},
+    { "_class_wxSpinEvent","_wxSpinEvent",0},
+    { "_wxButton","_class_wxButton",0},
+    { "_class_wxPyApp","_wxPyApp",0},
+    { "_wxSize","_class_wxSize",0},
+    { "_wxRegionIterator","_class_wxRegionIterator",0},
+    { "_class_wxPrinterDC","_wxPrinterDC",0},
+    { "_class_wxMDIParentFrame","_wxMDIParentFrame",0},
+    { "_wxPyTreeItemData","_class_wxPyTreeItemData",0},
+    { "_class_wxPaintDC","_wxPaintDC",0},
+    { "_class_wxSysColourChangedEvent","_wxSysColourChangedEvent",0},
+    { "_class_wxInitDialogEvent","_wxInitDialogEvent",0},
+    { "_class_wxComboBox","_wxComboBox",0},
+    { "_class_wxRadioButton","_wxRadioButton",0},
+    { "_class_wxTreeItemId","_wxTreeItemId",0},
+    { "_wxTreeCtrl","_class_wxTreeCtrl",0},
+    { "_class_wxLayoutConstraints","_wxLayoutConstraints",0},
+    { "_wxIconizeEvent","_class_wxIconizeEvent",0},
+    { "_class_wxControl","_wxControl",0},
+    { "_wxStaticBitmap","_class_wxStaticBitmap",0},
+    { "_class_wxIcon","_wxIcon",0},
+    { "_class_wxColour","_wxColour",0},
+    { "_class_wxScreenDC","_wxScreenDC",0},
+    { "_class_wxPageSetupDialog","_wxPageSetupDialog",0},
+    { "_wxPalette","_class_wxPalette",0},
+    { "_class_wxIdleEvent","_wxIdleEvent",0},
+    { "_wxEraseEvent","_class_wxEraseEvent",0},
+    { "_class_wxJoystickEvent","_wxJoystickEvent",0},
+    { "_class_wxMiniFrame","_wxMiniFrame",0},
+    { "_wxFontDialog","_class_wxFontDialog",0},
+    { "_wxRegion","_class_wxRegion",0},
+    { "_class_wxSplitterWindow","_wxSplitterWindow",0},
+    { "_wxPreviewFrame","_class_wxPreviewFrame",0},
+    { "_class_wxShowEvent","_wxShowEvent",0},
+    { "_GLint","_GLuint",0},
+    { "_GLint","_GLsizei",0},
+    { "_GLint","_int",0},
+    { "_GLint","_signed_int",0},
+    { "_GLint","_unsigned_int",0},
+    { "_GLint","_wxWindowID",0},
+    { "_GLint","_uint",0},
+    { "_GLint","_EBool",0},
+    { "_GLint","_size_t",0},
+    { "_GLint","_wxPrintQuality",0},
+    { "_GLint","_GLenum",0},
+    { "_GLint","_GLbitfield",0},
+    { "_wxActivateEvent","_class_wxActivateEvent",0},
+    { "_wxGauge","_class_wxGauge",0},
+    { "_class_wxCheckListBox","_wxCheckListBox",0},
+    { "_class_wxGridEvent","_wxGridEvent",0},
+    { "_class_wxCommandEvent","_wxCommandEvent",0},
+    { "_GLubyte","_unsigned_char",0},
+    { "_GLubyte","_byte",0},
+    { "_GLubyte","_GLboolean",0},
+    { "_class_wxClientDC","_wxClientDC",0},
+    { "_class_wxSizeEvent","_wxSizeEvent",0},
+    { "_class_wxListCtrl","_wxListCtrl",0},
+    { "_class_wxGLCanvas","_wxGLCanvas",0},
+    { "_class_wxGridCell","_wxGridCell",0},
+    { "_class_wxSize","_wxSize",0},
+    { "_class_wxBitmap","_wxBitmap",0},
+    { "_class_wxMemoryDC","_wxMemoryDC",0},
+    { "_wxMenuBar","_class_wxMenuBar",0},
+    { "_wxTreeEvent","_class_wxTreeEvent",0},
+    { "_wxDirDialog","_class_wxDirDialog",0},
+    { "_wxEvtHandler","_class_wxGLCanvas",SwigwxGLCanvasTowxEvtHandler},
+    { "_wxEvtHandler","_wxGLCanvas",SwigwxGLCanvasTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxEvtHandler",0},
+    { "_wxMenuItem","_class_wxMenuItem",0},
+    { "_class_wxScrollBar","_wxScrollBar",0},
+    { "_class_wxColourDialog","_wxColourDialog",0},
+    { "_class_wxPrintData","_wxPrintData",0},
+    { "_wxDash","_unsigned_long",0},
+    { "_wxDash","_long",0},
+    { "_class_wxScrolledWindow","_class_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow},
+    { "_class_wxScrolledWindow","_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow},
+    { "_class_wxScrolledWindow","_wxScrolledWindow",0},
+    { "_class_wxTextEntryDialog","_wxTextEntryDialog",0},
+    { "_wxKeyEvent","_class_wxKeyEvent",0},
+    { "_wxMoveEvent","_class_wxMoveEvent",0},
+    { "_wxColourData","_class_wxColourData",0},
+    { "_wxPageSetupDialogData","_class_wxPageSetupDialogData",0},
+    { "_class_wxPalette","_wxPalette",0},
+    { "_class_wxQueryLayoutInfoEvent","_wxQueryLayoutInfoEvent",0},
+    { "_class_wxEraseEvent","_wxEraseEvent",0},
+    { "_wxMDIClientWindow","_class_wxMDIClientWindow",0},
+    { "_class_wxFontDialog","_wxFontDialog",0},
+    { "_wxWindow","_class_wxGLCanvas",SwigwxGLCanvasTowxWindow},
+    { "_wxWindow","_wxGLCanvas",SwigwxGLCanvasTowxWindow},
+    { "_wxWindow","_class_wxWindow",0},
+    { "_class_wxFrame","_wxFrame",0},
+{0,0,0}};
+
+static PyObject *SWIG_globals;
+#ifdef __cplusplus
+extern "C" 
+#endif
+SWIGEXPORT(void) initglcanvasc() {
+        PyObject *m, *d;
+        SWIG_globals = SWIG_newvarlink();
+        m = Py_InitModule("glcanvasc", glcanvascMethods);
+        d = PyModule_GetDict(m);
+        PyDict_SetItemString(d,"GL_2D", PyInt_FromLong((long) GL_2D));
+        PyDict_SetItemString(d,"GL_2_BYTES", PyInt_FromLong((long) GL_2_BYTES));
+        PyDict_SetItemString(d,"GL_3D", PyInt_FromLong((long) GL_3D));
+        PyDict_SetItemString(d,"GL_3D_COLOR", PyInt_FromLong((long) GL_3D_COLOR));
+        PyDict_SetItemString(d,"GL_3D_COLOR_TEXTURE", PyInt_FromLong((long) GL_3D_COLOR_TEXTURE));
+        PyDict_SetItemString(d,"GL_3_BYTES", PyInt_FromLong((long) GL_3_BYTES));
+        PyDict_SetItemString(d,"GL_4D_COLOR_TEXTURE", PyInt_FromLong((long) GL_4D_COLOR_TEXTURE));
+        PyDict_SetItemString(d,"GL_4_BYTES", PyInt_FromLong((long) GL_4_BYTES));
+        PyDict_SetItemString(d,"GL_ACCUM", PyInt_FromLong((long) GL_ACCUM));
+        PyDict_SetItemString(d,"GL_ACCUM_ALPHA_BITS", PyInt_FromLong((long) GL_ACCUM_ALPHA_BITS));
+        PyDict_SetItemString(d,"GL_ACCUM_BLUE_BITS", PyInt_FromLong((long) GL_ACCUM_BLUE_BITS));
+        PyDict_SetItemString(d,"GL_ACCUM_BUFFER_BIT", PyInt_FromLong((long) GL_ACCUM_BUFFER_BIT));
+        PyDict_SetItemString(d,"GL_ACCUM_CLEAR_VALUE", PyInt_FromLong((long) GL_ACCUM_CLEAR_VALUE));
+        PyDict_SetItemString(d,"GL_ACCUM_GREEN_BITS", PyInt_FromLong((long) GL_ACCUM_GREEN_BITS));
+        PyDict_SetItemString(d,"GL_ACCUM_RED_BITS", PyInt_FromLong((long) GL_ACCUM_RED_BITS));
+        PyDict_SetItemString(d,"GL_ADD", PyInt_FromLong((long) GL_ADD));
+        PyDict_SetItemString(d,"GL_ALL_ATTRIB_BITS", PyInt_FromLong((long) GL_ALL_ATTRIB_BITS));
+        PyDict_SetItemString(d,"GL_ALPHA", PyInt_FromLong((long) GL_ALPHA));
+        PyDict_SetItemString(d,"GL_ALPHA12", PyInt_FromLong((long) GL_ALPHA12));
+        PyDict_SetItemString(d,"GL_ALPHA16", PyInt_FromLong((long) GL_ALPHA16));
+        PyDict_SetItemString(d,"GL_ALPHA4", PyInt_FromLong((long) GL_ALPHA4));
+        PyDict_SetItemString(d,"GL_ALPHA8", PyInt_FromLong((long) GL_ALPHA8));
+        PyDict_SetItemString(d,"GL_ALPHA_BIAS", PyInt_FromLong((long) GL_ALPHA_BIAS));
+        PyDict_SetItemString(d,"GL_ALPHA_BITS", PyInt_FromLong((long) GL_ALPHA_BITS));
+        PyDict_SetItemString(d,"GL_ALPHA_SCALE", PyInt_FromLong((long) GL_ALPHA_SCALE));
+        PyDict_SetItemString(d,"GL_ALPHA_TEST", PyInt_FromLong((long) GL_ALPHA_TEST));
+        PyDict_SetItemString(d,"GL_ALPHA_TEST_FUNC", PyInt_FromLong((long) GL_ALPHA_TEST_FUNC));
+        PyDict_SetItemString(d,"GL_ALPHA_TEST_REF", PyInt_FromLong((long) GL_ALPHA_TEST_REF));
+        PyDict_SetItemString(d,"GL_ALWAYS", PyInt_FromLong((long) GL_ALWAYS));
+        PyDict_SetItemString(d,"GL_AMBIENT", PyInt_FromLong((long) GL_AMBIENT));
+        PyDict_SetItemString(d,"GL_AMBIENT_AND_DIFFUSE", PyInt_FromLong((long) GL_AMBIENT_AND_DIFFUSE));
+        PyDict_SetItemString(d,"GL_AND", PyInt_FromLong((long) GL_AND));
+        PyDict_SetItemString(d,"GL_AND_INVERTED", PyInt_FromLong((long) GL_AND_INVERTED));
+        PyDict_SetItemString(d,"GL_AND_REVERSE", PyInt_FromLong((long) GL_AND_REVERSE));
+        PyDict_SetItemString(d,"GL_ATTRIB_STACK_DEPTH", PyInt_FromLong((long) GL_ATTRIB_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_AUTO_NORMAL", PyInt_FromLong((long) GL_AUTO_NORMAL));
+        PyDict_SetItemString(d,"GL_AUX0", PyInt_FromLong((long) GL_AUX0));
+        PyDict_SetItemString(d,"GL_AUX1", PyInt_FromLong((long) GL_AUX1));
+        PyDict_SetItemString(d,"GL_AUX2", PyInt_FromLong((long) GL_AUX2));
+        PyDict_SetItemString(d,"GL_AUX3", PyInt_FromLong((long) GL_AUX3));
+        PyDict_SetItemString(d,"GL_AUX_BUFFERS", PyInt_FromLong((long) GL_AUX_BUFFERS));
+        PyDict_SetItemString(d,"GL_BACK", PyInt_FromLong((long) GL_BACK));
+        PyDict_SetItemString(d,"GL_BACK_LEFT", PyInt_FromLong((long) GL_BACK_LEFT));
+        PyDict_SetItemString(d,"GL_BACK_RIGHT", PyInt_FromLong((long) GL_BACK_RIGHT));
+        PyDict_SetItemString(d,"GL_BGRA_EXT", PyInt_FromLong((long) GL_BGRA_EXT));
+        PyDict_SetItemString(d,"GL_BGR_EXT", PyInt_FromLong((long) GL_BGR_EXT));
+        PyDict_SetItemString(d,"GL_BITMAP", PyInt_FromLong((long) GL_BITMAP));
+        PyDict_SetItemString(d,"GL_BITMAP_TOKEN", PyInt_FromLong((long) GL_BITMAP_TOKEN));
+        PyDict_SetItemString(d,"GL_BLEND", PyInt_FromLong((long) GL_BLEND));
+        PyDict_SetItemString(d,"GL_BLEND_DST", PyInt_FromLong((long) GL_BLEND_DST));
+        PyDict_SetItemString(d,"GL_BLEND_SRC", PyInt_FromLong((long) GL_BLEND_SRC));
+        PyDict_SetItemString(d,"GL_BLUE", PyInt_FromLong((long) GL_BLUE));
+        PyDict_SetItemString(d,"GL_BLUE_BIAS", PyInt_FromLong((long) GL_BLUE_BIAS));
+        PyDict_SetItemString(d,"GL_BLUE_BITS", PyInt_FromLong((long) GL_BLUE_BITS));
+        PyDict_SetItemString(d,"GL_BLUE_SCALE", PyInt_FromLong((long) GL_BLUE_SCALE));
+        PyDict_SetItemString(d,"GL_BYTE", PyInt_FromLong((long) GL_BYTE));
+        PyDict_SetItemString(d,"GL_C3F_V3F", PyInt_FromLong((long) GL_C3F_V3F));
+        PyDict_SetItemString(d,"GL_C4F_N3F_V3F", PyInt_FromLong((long) GL_C4F_N3F_V3F));
+        PyDict_SetItemString(d,"GL_C4UB_V2F", PyInt_FromLong((long) GL_C4UB_V2F));
+        PyDict_SetItemString(d,"GL_C4UB_V3F", PyInt_FromLong((long) GL_C4UB_V3F));
+        PyDict_SetItemString(d,"GL_CCW", PyInt_FromLong((long) GL_CCW));
+        PyDict_SetItemString(d,"GL_CLAMP", PyInt_FromLong((long) GL_CLAMP));
+        PyDict_SetItemString(d,"GL_CLEAR", PyInt_FromLong((long) GL_CLEAR));
+        PyDict_SetItemString(d,"GL_CLIENT_ALL_ATTRIB_BITS", PyInt_FromLong((long) GL_CLIENT_ALL_ATTRIB_BITS));
+        PyDict_SetItemString(d,"GL_CLIENT_ATTRIB_STACK_DEPTH", PyInt_FromLong((long) GL_CLIENT_ATTRIB_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_CLIENT_PIXEL_STORE_BIT", PyInt_FromLong((long) GL_CLIENT_PIXEL_STORE_BIT));
+        PyDict_SetItemString(d,"GL_CLIENT_VERTEX_ARRAY_BIT", PyInt_FromLong((long) GL_CLIENT_VERTEX_ARRAY_BIT));
+        PyDict_SetItemString(d,"GL_CLIP_PLANE0", PyInt_FromLong((long) GL_CLIP_PLANE0));
+        PyDict_SetItemString(d,"GL_CLIP_PLANE1", PyInt_FromLong((long) GL_CLIP_PLANE1));
+        PyDict_SetItemString(d,"GL_CLIP_PLANE2", PyInt_FromLong((long) GL_CLIP_PLANE2));
+        PyDict_SetItemString(d,"GL_CLIP_PLANE3", PyInt_FromLong((long) GL_CLIP_PLANE3));
+        PyDict_SetItemString(d,"GL_CLIP_PLANE4", PyInt_FromLong((long) GL_CLIP_PLANE4));
+        PyDict_SetItemString(d,"GL_CLIP_PLANE5", PyInt_FromLong((long) GL_CLIP_PLANE5));
+        PyDict_SetItemString(d,"GL_COEFF", PyInt_FromLong((long) GL_COEFF));
+        PyDict_SetItemString(d,"GL_COLOR", PyInt_FromLong((long) GL_COLOR));
+        PyDict_SetItemString(d,"GL_COLOR_ARRAY", PyInt_FromLong((long) GL_COLOR_ARRAY));
+        PyDict_SetItemString(d,"GL_COLOR_ARRAY_COUNT_EXT", PyInt_FromLong((long) GL_COLOR_ARRAY_COUNT_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_ARRAY_EXT", PyInt_FromLong((long) GL_COLOR_ARRAY_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_ARRAY_POINTER", PyInt_FromLong((long) GL_COLOR_ARRAY_POINTER));
+        PyDict_SetItemString(d,"GL_COLOR_ARRAY_POINTER_EXT", PyInt_FromLong((long) GL_COLOR_ARRAY_POINTER_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_ARRAY_SIZE", PyInt_FromLong((long) GL_COLOR_ARRAY_SIZE));
+        PyDict_SetItemString(d,"GL_COLOR_ARRAY_SIZE_EXT", PyInt_FromLong((long) GL_COLOR_ARRAY_SIZE_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_ARRAY_STRIDE", PyInt_FromLong((long) GL_COLOR_ARRAY_STRIDE));
+        PyDict_SetItemString(d,"GL_COLOR_ARRAY_STRIDE_EXT", PyInt_FromLong((long) GL_COLOR_ARRAY_STRIDE_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_ARRAY_TYPE", PyInt_FromLong((long) GL_COLOR_ARRAY_TYPE));
+        PyDict_SetItemString(d,"GL_COLOR_ARRAY_TYPE_EXT", PyInt_FromLong((long) GL_COLOR_ARRAY_TYPE_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_BUFFER_BIT", PyInt_FromLong((long) GL_COLOR_BUFFER_BIT));
+        PyDict_SetItemString(d,"GL_COLOR_CLEAR_VALUE", PyInt_FromLong((long) GL_COLOR_CLEAR_VALUE));
+        PyDict_SetItemString(d,"GL_COLOR_INDEX", PyInt_FromLong((long) GL_COLOR_INDEX));
+        PyDict_SetItemString(d,"GL_COLOR_INDEX12_EXT", PyInt_FromLong((long) GL_COLOR_INDEX12_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_INDEX16_EXT", PyInt_FromLong((long) GL_COLOR_INDEX16_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_INDEX1_EXT", PyInt_FromLong((long) GL_COLOR_INDEX1_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_INDEX2_EXT", PyInt_FromLong((long) GL_COLOR_INDEX2_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_INDEX4_EXT", PyInt_FromLong((long) GL_COLOR_INDEX4_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_INDEX8_EXT", PyInt_FromLong((long) GL_COLOR_INDEX8_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_INDEXES", PyInt_FromLong((long) GL_COLOR_INDEXES));
+        PyDict_SetItemString(d,"GL_COLOR_LOGIC_OP", PyInt_FromLong((long) GL_COLOR_LOGIC_OP));
+        PyDict_SetItemString(d,"GL_COLOR_MATERIAL", PyInt_FromLong((long) GL_COLOR_MATERIAL));
+        PyDict_SetItemString(d,"GL_COLOR_MATERIAL_FACE", PyInt_FromLong((long) GL_COLOR_MATERIAL_FACE));
+        PyDict_SetItemString(d,"GL_COLOR_MATERIAL_PARAMETER", PyInt_FromLong((long) GL_COLOR_MATERIAL_PARAMETER));
+        PyDict_SetItemString(d,"GL_COLOR_TABLE_ALPHA_SIZE_EXT", PyInt_FromLong((long) GL_COLOR_TABLE_ALPHA_SIZE_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_TABLE_BLUE_SIZE_EXT", PyInt_FromLong((long) GL_COLOR_TABLE_BLUE_SIZE_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_TABLE_FORMAT_EXT", PyInt_FromLong((long) GL_COLOR_TABLE_FORMAT_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_TABLE_GREEN_SIZE_EXT", PyInt_FromLong((long) GL_COLOR_TABLE_GREEN_SIZE_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_TABLE_INTENSITY_SIZE_EXT", PyInt_FromLong((long) GL_COLOR_TABLE_INTENSITY_SIZE_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_TABLE_LUMINANCE_SIZE_EXT", PyInt_FromLong((long) GL_COLOR_TABLE_LUMINANCE_SIZE_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_TABLE_RED_SIZE_EXT", PyInt_FromLong((long) GL_COLOR_TABLE_RED_SIZE_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_TABLE_WIDTH_EXT", PyInt_FromLong((long) GL_COLOR_TABLE_WIDTH_EXT));
+        PyDict_SetItemString(d,"GL_COLOR_WRITEMASK", PyInt_FromLong((long) GL_COLOR_WRITEMASK));
+        PyDict_SetItemString(d,"GL_COMPILE", PyInt_FromLong((long) GL_COMPILE));
+        PyDict_SetItemString(d,"GL_COMPILE_AND_EXECUTE", PyInt_FromLong((long) GL_COMPILE_AND_EXECUTE));
+        PyDict_SetItemString(d,"GL_CONSTANT_ATTENUATION", PyInt_FromLong((long) GL_CONSTANT_ATTENUATION));
+        PyDict_SetItemString(d,"GL_COPY", PyInt_FromLong((long) GL_COPY));
+        PyDict_SetItemString(d,"GL_COPY_INVERTED", PyInt_FromLong((long) GL_COPY_INVERTED));
+        PyDict_SetItemString(d,"GL_COPY_PIXEL_TOKEN", PyInt_FromLong((long) GL_COPY_PIXEL_TOKEN));
+        PyDict_SetItemString(d,"GL_CULL_FACE", PyInt_FromLong((long) GL_CULL_FACE));
+        PyDict_SetItemString(d,"GL_CULL_FACE_MODE", PyInt_FromLong((long) GL_CULL_FACE_MODE));
+        PyDict_SetItemString(d,"GL_CURRENT_BIT", PyInt_FromLong((long) GL_CURRENT_BIT));
+        PyDict_SetItemString(d,"GL_CURRENT_COLOR", PyInt_FromLong((long) GL_CURRENT_COLOR));
+        PyDict_SetItemString(d,"GL_CURRENT_INDEX", PyInt_FromLong((long) GL_CURRENT_INDEX));
+        PyDict_SetItemString(d,"GL_CURRENT_NORMAL", PyInt_FromLong((long) GL_CURRENT_NORMAL));
+        PyDict_SetItemString(d,"GL_CURRENT_RASTER_COLOR", PyInt_FromLong((long) GL_CURRENT_RASTER_COLOR));
+        PyDict_SetItemString(d,"GL_CURRENT_RASTER_DISTANCE", PyInt_FromLong((long) GL_CURRENT_RASTER_DISTANCE));
+        PyDict_SetItemString(d,"GL_CURRENT_RASTER_INDEX", PyInt_FromLong((long) GL_CURRENT_RASTER_INDEX));
+        PyDict_SetItemString(d,"GL_CURRENT_RASTER_POSITION", PyInt_FromLong((long) GL_CURRENT_RASTER_POSITION));
+        PyDict_SetItemString(d,"GL_CURRENT_RASTER_POSITION_VALID", PyInt_FromLong((long) GL_CURRENT_RASTER_POSITION_VALID));
+        PyDict_SetItemString(d,"GL_CURRENT_RASTER_TEXTURE_COORDS", PyInt_FromLong((long) GL_CURRENT_RASTER_TEXTURE_COORDS));
+        PyDict_SetItemString(d,"GL_CURRENT_TEXTURE_COORDS", PyInt_FromLong((long) GL_CURRENT_TEXTURE_COORDS));
+        PyDict_SetItemString(d,"GL_CW", PyInt_FromLong((long) GL_CW));
+        PyDict_SetItemString(d,"GL_DECAL", PyInt_FromLong((long) GL_DECAL));
+        PyDict_SetItemString(d,"GL_DECR", PyInt_FromLong((long) GL_DECR));
+        PyDict_SetItemString(d,"GL_DEPTH", PyInt_FromLong((long) GL_DEPTH));
+        PyDict_SetItemString(d,"GL_DEPTH_BIAS", PyInt_FromLong((long) GL_DEPTH_BIAS));
+        PyDict_SetItemString(d,"GL_DEPTH_BITS", PyInt_FromLong((long) GL_DEPTH_BITS));
+        PyDict_SetItemString(d,"GL_DEPTH_BUFFER_BIT", PyInt_FromLong((long) GL_DEPTH_BUFFER_BIT));
+        PyDict_SetItemString(d,"GL_DEPTH_CLEAR_VALUE", PyInt_FromLong((long) GL_DEPTH_CLEAR_VALUE));
+        PyDict_SetItemString(d,"GL_DEPTH_COMPONENT", PyInt_FromLong((long) GL_DEPTH_COMPONENT));
+        PyDict_SetItemString(d,"GL_DEPTH_FUNC", PyInt_FromLong((long) GL_DEPTH_FUNC));
+        PyDict_SetItemString(d,"GL_DEPTH_RANGE", PyInt_FromLong((long) GL_DEPTH_RANGE));
+        PyDict_SetItemString(d,"GL_DEPTH_SCALE", PyInt_FromLong((long) GL_DEPTH_SCALE));
+        PyDict_SetItemString(d,"GL_DEPTH_TEST", PyInt_FromLong((long) GL_DEPTH_TEST));
+        PyDict_SetItemString(d,"GL_DEPTH_WRITEMASK", PyInt_FromLong((long) GL_DEPTH_WRITEMASK));
+        PyDict_SetItemString(d,"GL_DIFFUSE", PyInt_FromLong((long) GL_DIFFUSE));
+        PyDict_SetItemString(d,"GL_DITHER", PyInt_FromLong((long) GL_DITHER));
+        PyDict_SetItemString(d,"GL_DOMAIN", PyInt_FromLong((long) GL_DOMAIN));
+        PyDict_SetItemString(d,"GL_DONT_CARE", PyInt_FromLong((long) GL_DONT_CARE));
+        PyDict_SetItemString(d,"GL_DOUBLE", PyInt_FromLong((long) GL_DOUBLE));
+        PyDict_SetItemString(d,"GL_DOUBLEBUFFER", PyInt_FromLong((long) GL_DOUBLEBUFFER));
+        PyDict_SetItemString(d,"GL_DOUBLE_EXT", PyInt_FromLong((long) GL_DOUBLE_EXT));
+        PyDict_SetItemString(d,"GL_DRAW_BUFFER", PyInt_FromLong((long) GL_DRAW_BUFFER));
+        PyDict_SetItemString(d,"GL_DRAW_PIXEL_TOKEN", PyInt_FromLong((long) GL_DRAW_PIXEL_TOKEN));
+        PyDict_SetItemString(d,"GL_DST_ALPHA", PyInt_FromLong((long) GL_DST_ALPHA));
+        PyDict_SetItemString(d,"GL_DST_COLOR", PyInt_FromLong((long) GL_DST_COLOR));
+        PyDict_SetItemString(d,"GL_EDGE_FLAG", PyInt_FromLong((long) GL_EDGE_FLAG));
+        PyDict_SetItemString(d,"GL_EDGE_FLAG_ARRAY", PyInt_FromLong((long) GL_EDGE_FLAG_ARRAY));
+        PyDict_SetItemString(d,"GL_EDGE_FLAG_ARRAY_COUNT_EXT", PyInt_FromLong((long) GL_EDGE_FLAG_ARRAY_COUNT_EXT));
+        PyDict_SetItemString(d,"GL_EDGE_FLAG_ARRAY_EXT", PyInt_FromLong((long) GL_EDGE_FLAG_ARRAY_EXT));
+        PyDict_SetItemString(d,"GL_EDGE_FLAG_ARRAY_POINTER", PyInt_FromLong((long) GL_EDGE_FLAG_ARRAY_POINTER));
+        PyDict_SetItemString(d,"GL_EDGE_FLAG_ARRAY_POINTER_EXT", PyInt_FromLong((long) GL_EDGE_FLAG_ARRAY_POINTER_EXT));
+        PyDict_SetItemString(d,"GL_EDGE_FLAG_ARRAY_STRIDE", PyInt_FromLong((long) GL_EDGE_FLAG_ARRAY_STRIDE));
+        PyDict_SetItemString(d,"GL_EDGE_FLAG_ARRAY_STRIDE_EXT", PyInt_FromLong((long) GL_EDGE_FLAG_ARRAY_STRIDE_EXT));
+        PyDict_SetItemString(d,"GL_EMISSION", PyInt_FromLong((long) GL_EMISSION));
+        PyDict_SetItemString(d,"GL_ENABLE_BIT", PyInt_FromLong((long) GL_ENABLE_BIT));
+        PyDict_SetItemString(d,"GL_EQUAL", PyInt_FromLong((long) GL_EQUAL));
+        PyDict_SetItemString(d,"GL_EQUIV", PyInt_FromLong((long) GL_EQUIV));
+        PyDict_SetItemString(d,"GL_EVAL_BIT", PyInt_FromLong((long) GL_EVAL_BIT));
+        PyDict_SetItemString(d,"GL_EXP", PyInt_FromLong((long) GL_EXP));
+        PyDict_SetItemString(d,"GL_EXP2", PyInt_FromLong((long) GL_EXP2));
+        PyDict_SetItemString(d,"GL_EXTENSIONS", PyInt_FromLong((long) GL_EXTENSIONS));
+        PyDict_SetItemString(d,"GL_EXT_bgra", PyInt_FromLong((long) GL_EXT_bgra));
+        PyDict_SetItemString(d,"GL_EXT_paletted_texture", PyInt_FromLong((long) GL_EXT_paletted_texture));
+        PyDict_SetItemString(d,"GL_EXT_vertex_array", PyInt_FromLong((long) GL_EXT_vertex_array));
+        PyDict_SetItemString(d,"GL_EYE_LINEAR", PyInt_FromLong((long) GL_EYE_LINEAR));
+        PyDict_SetItemString(d,"GL_EYE_PLANE", PyInt_FromLong((long) GL_EYE_PLANE));
+        PyDict_SetItemString(d,"GL_FALSE", PyInt_FromLong((long) GL_FALSE));
+        PyDict_SetItemString(d,"GL_FASTEST", PyInt_FromLong((long) GL_FASTEST));
+        PyDict_SetItemString(d,"GL_FEEDBACK", PyInt_FromLong((long) GL_FEEDBACK));
+        PyDict_SetItemString(d,"GL_FEEDBACK_BUFFER_POINTER", PyInt_FromLong((long) GL_FEEDBACK_BUFFER_POINTER));
+        PyDict_SetItemString(d,"GL_FEEDBACK_BUFFER_SIZE", PyInt_FromLong((long) GL_FEEDBACK_BUFFER_SIZE));
+        PyDict_SetItemString(d,"GL_FEEDBACK_BUFFER_TYPE", PyInt_FromLong((long) GL_FEEDBACK_BUFFER_TYPE));
+        PyDict_SetItemString(d,"GL_FILL", PyInt_FromLong((long) GL_FILL));
+        PyDict_SetItemString(d,"GL_FLAT", PyInt_FromLong((long) GL_FLAT));
+        PyDict_SetItemString(d,"GL_FLOAT", PyInt_FromLong((long) GL_FLOAT));
+        PyDict_SetItemString(d,"GL_FOG", PyInt_FromLong((long) GL_FOG));
+        PyDict_SetItemString(d,"GL_FOG_BIT", PyInt_FromLong((long) GL_FOG_BIT));
+        PyDict_SetItemString(d,"GL_FOG_COLOR", PyInt_FromLong((long) GL_FOG_COLOR));
+        PyDict_SetItemString(d,"GL_FOG_DENSITY", PyInt_FromLong((long) GL_FOG_DENSITY));
+        PyDict_SetItemString(d,"GL_FOG_END", PyInt_FromLong((long) GL_FOG_END));
+        PyDict_SetItemString(d,"GL_FOG_HINT", PyInt_FromLong((long) GL_FOG_HINT));
+        PyDict_SetItemString(d,"GL_FOG_INDEX", PyInt_FromLong((long) GL_FOG_INDEX));
+        PyDict_SetItemString(d,"GL_FOG_MODE", PyInt_FromLong((long) GL_FOG_MODE));
+        PyDict_SetItemString(d,"GL_FOG_START", PyInt_FromLong((long) GL_FOG_START));
+        PyDict_SetItemString(d,"GL_FRONT", PyInt_FromLong((long) GL_FRONT));
+        PyDict_SetItemString(d,"GL_FRONT_AND_BACK", PyInt_FromLong((long) GL_FRONT_AND_BACK));
+        PyDict_SetItemString(d,"GL_FRONT_FACE", PyInt_FromLong((long) GL_FRONT_FACE));
+        PyDict_SetItemString(d,"GL_FRONT_LEFT", PyInt_FromLong((long) GL_FRONT_LEFT));
+        PyDict_SetItemString(d,"GL_FRONT_RIGHT", PyInt_FromLong((long) GL_FRONT_RIGHT));
+        PyDict_SetItemString(d,"GL_GEQUAL", PyInt_FromLong((long) GL_GEQUAL));
+        PyDict_SetItemString(d,"GL_GREATER", PyInt_FromLong((long) GL_GREATER));
+        PyDict_SetItemString(d,"GL_GREEN", PyInt_FromLong((long) GL_GREEN));
+        PyDict_SetItemString(d,"GL_GREEN_BIAS", PyInt_FromLong((long) GL_GREEN_BIAS));
+        PyDict_SetItemString(d,"GL_GREEN_BITS", PyInt_FromLong((long) GL_GREEN_BITS));
+        PyDict_SetItemString(d,"GL_GREEN_SCALE", PyInt_FromLong((long) GL_GREEN_SCALE));
+        PyDict_SetItemString(d,"GL_HINT_BIT", PyInt_FromLong((long) GL_HINT_BIT));
+        PyDict_SetItemString(d,"GL_INCR", PyInt_FromLong((long) GL_INCR));
+        PyDict_SetItemString(d,"GL_INDEX_ARRAY", PyInt_FromLong((long) GL_INDEX_ARRAY));
+        PyDict_SetItemString(d,"GL_INDEX_ARRAY_COUNT_EXT", PyInt_FromLong((long) GL_INDEX_ARRAY_COUNT_EXT));
+        PyDict_SetItemString(d,"GL_INDEX_ARRAY_EXT", PyInt_FromLong((long) GL_INDEX_ARRAY_EXT));
+        PyDict_SetItemString(d,"GL_INDEX_ARRAY_POINTER", PyInt_FromLong((long) GL_INDEX_ARRAY_POINTER));
+        PyDict_SetItemString(d,"GL_INDEX_ARRAY_POINTER_EXT", PyInt_FromLong((long) GL_INDEX_ARRAY_POINTER_EXT));
+        PyDict_SetItemString(d,"GL_INDEX_ARRAY_STRIDE", PyInt_FromLong((long) GL_INDEX_ARRAY_STRIDE));
+        PyDict_SetItemString(d,"GL_INDEX_ARRAY_STRIDE_EXT", PyInt_FromLong((long) GL_INDEX_ARRAY_STRIDE_EXT));
+        PyDict_SetItemString(d,"GL_INDEX_ARRAY_TYPE", PyInt_FromLong((long) GL_INDEX_ARRAY_TYPE));
+        PyDict_SetItemString(d,"GL_INDEX_ARRAY_TYPE_EXT", PyInt_FromLong((long) GL_INDEX_ARRAY_TYPE_EXT));
+        PyDict_SetItemString(d,"GL_INDEX_BITS", PyInt_FromLong((long) GL_INDEX_BITS));
+        PyDict_SetItemString(d,"GL_INDEX_CLEAR_VALUE", PyInt_FromLong((long) GL_INDEX_CLEAR_VALUE));
+        PyDict_SetItemString(d,"GL_INDEX_LOGIC_OP", PyInt_FromLong((long) GL_INDEX_LOGIC_OP));
+        PyDict_SetItemString(d,"GL_INDEX_MODE", PyInt_FromLong((long) GL_INDEX_MODE));
+        PyDict_SetItemString(d,"GL_INDEX_OFFSET", PyInt_FromLong((long) GL_INDEX_OFFSET));
+        PyDict_SetItemString(d,"GL_INDEX_SHIFT", PyInt_FromLong((long) GL_INDEX_SHIFT));
+        PyDict_SetItemString(d,"GL_INDEX_WRITEMASK", PyInt_FromLong((long) GL_INDEX_WRITEMASK));
+        PyDict_SetItemString(d,"GL_INT", PyInt_FromLong((long) GL_INT));
+        PyDict_SetItemString(d,"GL_INTENSITY", PyInt_FromLong((long) GL_INTENSITY));
+        PyDict_SetItemString(d,"GL_INTENSITY12", PyInt_FromLong((long) GL_INTENSITY12));
+        PyDict_SetItemString(d,"GL_INTENSITY16", PyInt_FromLong((long) GL_INTENSITY16));
+        PyDict_SetItemString(d,"GL_INTENSITY4", PyInt_FromLong((long) GL_INTENSITY4));
+        PyDict_SetItemString(d,"GL_INTENSITY8", PyInt_FromLong((long) GL_INTENSITY8));
+        PyDict_SetItemString(d,"GL_INVALID_ENUM", PyInt_FromLong((long) GL_INVALID_ENUM));
+        PyDict_SetItemString(d,"GL_INVALID_OPERATION", PyInt_FromLong((long) GL_INVALID_OPERATION));
+        PyDict_SetItemString(d,"GL_INVALID_VALUE", PyInt_FromLong((long) GL_INVALID_VALUE));
+        PyDict_SetItemString(d,"GL_INVERT", PyInt_FromLong((long) GL_INVERT));
+        PyDict_SetItemString(d,"GL_KEEP", PyInt_FromLong((long) GL_KEEP));
+        PyDict_SetItemString(d,"GL_LEFT", PyInt_FromLong((long) GL_LEFT));
+        PyDict_SetItemString(d,"GL_LEQUAL", PyInt_FromLong((long) GL_LEQUAL));
+        PyDict_SetItemString(d,"GL_LESS", PyInt_FromLong((long) GL_LESS));
+        PyDict_SetItemString(d,"GL_LIGHT0", PyInt_FromLong((long) GL_LIGHT0));
+        PyDict_SetItemString(d,"GL_LIGHT1", PyInt_FromLong((long) GL_LIGHT1));
+        PyDict_SetItemString(d,"GL_LIGHT2", PyInt_FromLong((long) GL_LIGHT2));
+        PyDict_SetItemString(d,"GL_LIGHT3", PyInt_FromLong((long) GL_LIGHT3));
+        PyDict_SetItemString(d,"GL_LIGHT4", PyInt_FromLong((long) GL_LIGHT4));
+        PyDict_SetItemString(d,"GL_LIGHT5", PyInt_FromLong((long) GL_LIGHT5));
+        PyDict_SetItemString(d,"GL_LIGHT6", PyInt_FromLong((long) GL_LIGHT6));
+        PyDict_SetItemString(d,"GL_LIGHT7", PyInt_FromLong((long) GL_LIGHT7));
+        PyDict_SetItemString(d,"GL_LIGHTING", PyInt_FromLong((long) GL_LIGHTING));
+        PyDict_SetItemString(d,"GL_LIGHTING_BIT", PyInt_FromLong((long) GL_LIGHTING_BIT));
+        PyDict_SetItemString(d,"GL_LIGHT_MODEL_AMBIENT", PyInt_FromLong((long) GL_LIGHT_MODEL_AMBIENT));
+        PyDict_SetItemString(d,"GL_LIGHT_MODEL_LOCAL_VIEWER", PyInt_FromLong((long) GL_LIGHT_MODEL_LOCAL_VIEWER));
+        PyDict_SetItemString(d,"GL_LIGHT_MODEL_TWO_SIDE", PyInt_FromLong((long) GL_LIGHT_MODEL_TWO_SIDE));
+        PyDict_SetItemString(d,"GL_LINE", PyInt_FromLong((long) GL_LINE));
+        PyDict_SetItemString(d,"GL_LINEAR", PyInt_FromLong((long) GL_LINEAR));
+        PyDict_SetItemString(d,"GL_LINEAR_ATTENUATION", PyInt_FromLong((long) GL_LINEAR_ATTENUATION));
+        PyDict_SetItemString(d,"GL_LINEAR_MIPMAP_LINEAR", PyInt_FromLong((long) GL_LINEAR_MIPMAP_LINEAR));
+        PyDict_SetItemString(d,"GL_LINEAR_MIPMAP_NEAREST", PyInt_FromLong((long) GL_LINEAR_MIPMAP_NEAREST));
+        PyDict_SetItemString(d,"GL_LINES", PyInt_FromLong((long) GL_LINES));
+        PyDict_SetItemString(d,"GL_LINE_BIT", PyInt_FromLong((long) GL_LINE_BIT));
+        PyDict_SetItemString(d,"GL_LINE_LOOP", PyInt_FromLong((long) GL_LINE_LOOP));
+        PyDict_SetItemString(d,"GL_LINE_RESET_TOKEN", PyInt_FromLong((long) GL_LINE_RESET_TOKEN));
+        PyDict_SetItemString(d,"GL_LINE_SMOOTH", PyInt_FromLong((long) GL_LINE_SMOOTH));
+        PyDict_SetItemString(d,"GL_LINE_SMOOTH_HINT", PyInt_FromLong((long) GL_LINE_SMOOTH_HINT));
+        PyDict_SetItemString(d,"GL_LINE_STIPPLE", PyInt_FromLong((long) GL_LINE_STIPPLE));
+        PyDict_SetItemString(d,"GL_LINE_STIPPLE_PATTERN", PyInt_FromLong((long) GL_LINE_STIPPLE_PATTERN));
+        PyDict_SetItemString(d,"GL_LINE_STIPPLE_REPEAT", PyInt_FromLong((long) GL_LINE_STIPPLE_REPEAT));
+        PyDict_SetItemString(d,"GL_LINE_STRIP", PyInt_FromLong((long) GL_LINE_STRIP));
+        PyDict_SetItemString(d,"GL_LINE_TOKEN", PyInt_FromLong((long) GL_LINE_TOKEN));
+        PyDict_SetItemString(d,"GL_LINE_WIDTH", PyInt_FromLong((long) GL_LINE_WIDTH));
+        PyDict_SetItemString(d,"GL_LINE_WIDTH_GRANULARITY", PyInt_FromLong((long) GL_LINE_WIDTH_GRANULARITY));
+        PyDict_SetItemString(d,"GL_LINE_WIDTH_RANGE", PyInt_FromLong((long) GL_LINE_WIDTH_RANGE));
+        PyDict_SetItemString(d,"GL_LIST_BASE", PyInt_FromLong((long) GL_LIST_BASE));
+        PyDict_SetItemString(d,"GL_LIST_BIT", PyInt_FromLong((long) GL_LIST_BIT));
+        PyDict_SetItemString(d,"GL_LIST_INDEX", PyInt_FromLong((long) GL_LIST_INDEX));
+        PyDict_SetItemString(d,"GL_LIST_MODE", PyInt_FromLong((long) GL_LIST_MODE));
+        PyDict_SetItemString(d,"GL_LOAD", PyInt_FromLong((long) GL_LOAD));
+        PyDict_SetItemString(d,"GL_LOGIC_OP", PyInt_FromLong((long) GL_LOGIC_OP));
+        PyDict_SetItemString(d,"GL_LOGIC_OP_MODE", PyInt_FromLong((long) GL_LOGIC_OP_MODE));
+        PyDict_SetItemString(d,"GL_LUMINANCE", PyInt_FromLong((long) GL_LUMINANCE));
+        PyDict_SetItemString(d,"GL_LUMINANCE12", PyInt_FromLong((long) GL_LUMINANCE12));
+        PyDict_SetItemString(d,"GL_LUMINANCE12_ALPHA12", PyInt_FromLong((long) GL_LUMINANCE12_ALPHA12));
+        PyDict_SetItemString(d,"GL_LUMINANCE12_ALPHA4", PyInt_FromLong((long) GL_LUMINANCE12_ALPHA4));
+        PyDict_SetItemString(d,"GL_LUMINANCE16", PyInt_FromLong((long) GL_LUMINANCE16));
+        PyDict_SetItemString(d,"GL_LUMINANCE16_ALPHA16", PyInt_FromLong((long) GL_LUMINANCE16_ALPHA16));
+        PyDict_SetItemString(d,"GL_LUMINANCE4", PyInt_FromLong((long) GL_LUMINANCE4));
+        PyDict_SetItemString(d,"GL_LUMINANCE4_ALPHA4", PyInt_FromLong((long) GL_LUMINANCE4_ALPHA4));
+        PyDict_SetItemString(d,"GL_LUMINANCE6_ALPHA2", PyInt_FromLong((long) GL_LUMINANCE6_ALPHA2));
+        PyDict_SetItemString(d,"GL_LUMINANCE8", PyInt_FromLong((long) GL_LUMINANCE8));
+        PyDict_SetItemString(d,"GL_LUMINANCE8_ALPHA8", PyInt_FromLong((long) GL_LUMINANCE8_ALPHA8));
+        PyDict_SetItemString(d,"GL_LUMINANCE_ALPHA", PyInt_FromLong((long) GL_LUMINANCE_ALPHA));
+        PyDict_SetItemString(d,"GL_MAP1_COLOR_4", PyInt_FromLong((long) GL_MAP1_COLOR_4));
+        PyDict_SetItemString(d,"GL_MAP1_GRID_DOMAIN", PyInt_FromLong((long) GL_MAP1_GRID_DOMAIN));
+        PyDict_SetItemString(d,"GL_MAP1_GRID_SEGMENTS", PyInt_FromLong((long) GL_MAP1_GRID_SEGMENTS));
+        PyDict_SetItemString(d,"GL_MAP1_INDEX", PyInt_FromLong((long) GL_MAP1_INDEX));
+        PyDict_SetItemString(d,"GL_MAP1_NORMAL", PyInt_FromLong((long) GL_MAP1_NORMAL));
+        PyDict_SetItemString(d,"GL_MAP1_TEXTURE_COORD_1", PyInt_FromLong((long) GL_MAP1_TEXTURE_COORD_1));
+        PyDict_SetItemString(d,"GL_MAP1_TEXTURE_COORD_2", PyInt_FromLong((long) GL_MAP1_TEXTURE_COORD_2));
+        PyDict_SetItemString(d,"GL_MAP1_TEXTURE_COORD_3", PyInt_FromLong((long) GL_MAP1_TEXTURE_COORD_3));
+        PyDict_SetItemString(d,"GL_MAP1_TEXTURE_COORD_4", PyInt_FromLong((long) GL_MAP1_TEXTURE_COORD_4));
+        PyDict_SetItemString(d,"GL_MAP1_VERTEX_3", PyInt_FromLong((long) GL_MAP1_VERTEX_3));
+        PyDict_SetItemString(d,"GL_MAP1_VERTEX_4", PyInt_FromLong((long) GL_MAP1_VERTEX_4));
+        PyDict_SetItemString(d,"GL_MAP2_COLOR_4", PyInt_FromLong((long) GL_MAP2_COLOR_4));
+        PyDict_SetItemString(d,"GL_MAP2_GRID_DOMAIN", PyInt_FromLong((long) GL_MAP2_GRID_DOMAIN));
+        PyDict_SetItemString(d,"GL_MAP2_GRID_SEGMENTS", PyInt_FromLong((long) GL_MAP2_GRID_SEGMENTS));
+        PyDict_SetItemString(d,"GL_MAP2_INDEX", PyInt_FromLong((long) GL_MAP2_INDEX));
+        PyDict_SetItemString(d,"GL_MAP2_NORMAL", PyInt_FromLong((long) GL_MAP2_NORMAL));
+        PyDict_SetItemString(d,"GL_MAP2_TEXTURE_COORD_1", PyInt_FromLong((long) GL_MAP2_TEXTURE_COORD_1));
+        PyDict_SetItemString(d,"GL_MAP2_TEXTURE_COORD_2", PyInt_FromLong((long) GL_MAP2_TEXTURE_COORD_2));
+        PyDict_SetItemString(d,"GL_MAP2_TEXTURE_COORD_3", PyInt_FromLong((long) GL_MAP2_TEXTURE_COORD_3));
+        PyDict_SetItemString(d,"GL_MAP2_TEXTURE_COORD_4", PyInt_FromLong((long) GL_MAP2_TEXTURE_COORD_4));
+        PyDict_SetItemString(d,"GL_MAP2_VERTEX_3", PyInt_FromLong((long) GL_MAP2_VERTEX_3));
+        PyDict_SetItemString(d,"GL_MAP2_VERTEX_4", PyInt_FromLong((long) GL_MAP2_VERTEX_4));
+        PyDict_SetItemString(d,"GL_MAP_COLOR", PyInt_FromLong((long) GL_MAP_COLOR));
+        PyDict_SetItemString(d,"GL_MAP_STENCIL", PyInt_FromLong((long) GL_MAP_STENCIL));
+        PyDict_SetItemString(d,"GL_MATRIX_MODE", PyInt_FromLong((long) GL_MATRIX_MODE));
+        PyDict_SetItemString(d,"GL_MAX_ATTRIB_STACK_DEPTH", PyInt_FromLong((long) GL_MAX_ATTRIB_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_MAX_CLIENT_ATTRIB_STACK_DEPTH", PyInt_FromLong((long) GL_MAX_CLIENT_ATTRIB_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_MAX_CLIP_PLANES", PyInt_FromLong((long) GL_MAX_CLIP_PLANES));
+        PyDict_SetItemString(d,"GL_MAX_EVAL_ORDER", PyInt_FromLong((long) GL_MAX_EVAL_ORDER));
+        PyDict_SetItemString(d,"GL_MAX_LIGHTS", PyInt_FromLong((long) GL_MAX_LIGHTS));
+        PyDict_SetItemString(d,"GL_MAX_LIST_NESTING", PyInt_FromLong((long) GL_MAX_LIST_NESTING));
+        PyDict_SetItemString(d,"GL_MAX_MODELVIEW_STACK_DEPTH", PyInt_FromLong((long) GL_MAX_MODELVIEW_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_MAX_NAME_STACK_DEPTH", PyInt_FromLong((long) GL_MAX_NAME_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_MAX_PIXEL_MAP_TABLE", PyInt_FromLong((long) GL_MAX_PIXEL_MAP_TABLE));
+        PyDict_SetItemString(d,"GL_MAX_PROJECTION_STACK_DEPTH", PyInt_FromLong((long) GL_MAX_PROJECTION_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_MAX_TEXTURE_SIZE", PyInt_FromLong((long) GL_MAX_TEXTURE_SIZE));
+        PyDict_SetItemString(d,"GL_MAX_TEXTURE_STACK_DEPTH", PyInt_FromLong((long) GL_MAX_TEXTURE_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_MAX_VIEWPORT_DIMS", PyInt_FromLong((long) GL_MAX_VIEWPORT_DIMS));
+        PyDict_SetItemString(d,"GL_MODELVIEW", PyInt_FromLong((long) GL_MODELVIEW));
+        PyDict_SetItemString(d,"GL_MODELVIEW_MATRIX", PyInt_FromLong((long) GL_MODELVIEW_MATRIX));
+        PyDict_SetItemString(d,"GL_MODELVIEW_STACK_DEPTH", PyInt_FromLong((long) GL_MODELVIEW_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_MODULATE", PyInt_FromLong((long) GL_MODULATE));
+        PyDict_SetItemString(d,"GL_MULT", PyInt_FromLong((long) GL_MULT));
+        PyDict_SetItemString(d,"GL_N3F_V3F", PyInt_FromLong((long) GL_N3F_V3F));
+        PyDict_SetItemString(d,"GL_NAME_STACK_DEPTH", PyInt_FromLong((long) GL_NAME_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_NAND", PyInt_FromLong((long) GL_NAND));
+        PyDict_SetItemString(d,"GL_NEAREST", PyInt_FromLong((long) GL_NEAREST));
+        PyDict_SetItemString(d,"GL_NEAREST_MIPMAP_LINEAR", PyInt_FromLong((long) GL_NEAREST_MIPMAP_LINEAR));
+        PyDict_SetItemString(d,"GL_NEAREST_MIPMAP_NEAREST", PyInt_FromLong((long) GL_NEAREST_MIPMAP_NEAREST));
+        PyDict_SetItemString(d,"GL_NEVER", PyInt_FromLong((long) GL_NEVER));
+        PyDict_SetItemString(d,"GL_NICEST", PyInt_FromLong((long) GL_NICEST));
+        PyDict_SetItemString(d,"GL_NONE", PyInt_FromLong((long) GL_NONE));
+        PyDict_SetItemString(d,"GL_NOOP", PyInt_FromLong((long) GL_NOOP));
+        PyDict_SetItemString(d,"GL_NOR", PyInt_FromLong((long) GL_NOR));
+        PyDict_SetItemString(d,"GL_NORMALIZE", PyInt_FromLong((long) GL_NORMALIZE));
+        PyDict_SetItemString(d,"GL_NORMAL_ARRAY", PyInt_FromLong((long) GL_NORMAL_ARRAY));
+        PyDict_SetItemString(d,"GL_NORMAL_ARRAY_COUNT_EXT", PyInt_FromLong((long) GL_NORMAL_ARRAY_COUNT_EXT));
+        PyDict_SetItemString(d,"GL_NORMAL_ARRAY_EXT", PyInt_FromLong((long) GL_NORMAL_ARRAY_EXT));
+        PyDict_SetItemString(d,"GL_NORMAL_ARRAY_POINTER", PyInt_FromLong((long) GL_NORMAL_ARRAY_POINTER));
+        PyDict_SetItemString(d,"GL_NORMAL_ARRAY_POINTER_EXT", PyInt_FromLong((long) GL_NORMAL_ARRAY_POINTER_EXT));
+        PyDict_SetItemString(d,"GL_NORMAL_ARRAY_STRIDE", PyInt_FromLong((long) GL_NORMAL_ARRAY_STRIDE));
+        PyDict_SetItemString(d,"GL_NORMAL_ARRAY_STRIDE_EXT", PyInt_FromLong((long) GL_NORMAL_ARRAY_STRIDE_EXT));
+        PyDict_SetItemString(d,"GL_NORMAL_ARRAY_TYPE", PyInt_FromLong((long) GL_NORMAL_ARRAY_TYPE));
+        PyDict_SetItemString(d,"GL_NORMAL_ARRAY_TYPE_EXT", PyInt_FromLong((long) GL_NORMAL_ARRAY_TYPE_EXT));
+        PyDict_SetItemString(d,"GL_NOTEQUAL", PyInt_FromLong((long) GL_NOTEQUAL));
+        PyDict_SetItemString(d,"GL_NO_ERROR", PyInt_FromLong((long) GL_NO_ERROR));
+        PyDict_SetItemString(d,"GL_OBJECT_LINEAR", PyInt_FromLong((long) GL_OBJECT_LINEAR));
+        PyDict_SetItemString(d,"GL_OBJECT_PLANE", PyInt_FromLong((long) GL_OBJECT_PLANE));
+        PyDict_SetItemString(d,"GL_ONE", PyInt_FromLong((long) GL_ONE));
+        PyDict_SetItemString(d,"GL_ONE_MINUS_DST_ALPHA", PyInt_FromLong((long) GL_ONE_MINUS_DST_ALPHA));
+        PyDict_SetItemString(d,"GL_ONE_MINUS_DST_COLOR", PyInt_FromLong((long) GL_ONE_MINUS_DST_COLOR));
+        PyDict_SetItemString(d,"GL_ONE_MINUS_SRC_ALPHA", PyInt_FromLong((long) GL_ONE_MINUS_SRC_ALPHA));
+        PyDict_SetItemString(d,"GL_ONE_MINUS_SRC_COLOR", PyInt_FromLong((long) GL_ONE_MINUS_SRC_COLOR));
+        PyDict_SetItemString(d,"GL_OR", PyInt_FromLong((long) GL_OR));
+        PyDict_SetItemString(d,"GL_ORDER", PyInt_FromLong((long) GL_ORDER));
+        PyDict_SetItemString(d,"GL_OR_INVERTED", PyInt_FromLong((long) GL_OR_INVERTED));
+        PyDict_SetItemString(d,"GL_OR_REVERSE", PyInt_FromLong((long) GL_OR_REVERSE));
+        PyDict_SetItemString(d,"GL_OUT_OF_MEMORY", PyInt_FromLong((long) GL_OUT_OF_MEMORY));
+        PyDict_SetItemString(d,"GL_PACK_ALIGNMENT", PyInt_FromLong((long) GL_PACK_ALIGNMENT));
+        PyDict_SetItemString(d,"GL_PACK_LSB_FIRST", PyInt_FromLong((long) GL_PACK_LSB_FIRST));
+        PyDict_SetItemString(d,"GL_PACK_ROW_LENGTH", PyInt_FromLong((long) GL_PACK_ROW_LENGTH));
+        PyDict_SetItemString(d,"GL_PACK_SKIP_PIXELS", PyInt_FromLong((long) GL_PACK_SKIP_PIXELS));
+        PyDict_SetItemString(d,"GL_PACK_SKIP_ROWS", PyInt_FromLong((long) GL_PACK_SKIP_ROWS));
+        PyDict_SetItemString(d,"GL_PACK_SWAP_BYTES", PyInt_FromLong((long) GL_PACK_SWAP_BYTES));
+        PyDict_SetItemString(d,"GL_PASS_THROUGH_TOKEN", PyInt_FromLong((long) GL_PASS_THROUGH_TOKEN));
+        PyDict_SetItemString(d,"GL_PERSPECTIVE_CORRECTION_HINT", PyInt_FromLong((long) GL_PERSPECTIVE_CORRECTION_HINT));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_A_TO_A", PyInt_FromLong((long) GL_PIXEL_MAP_A_TO_A));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_A_TO_A_SIZE", PyInt_FromLong((long) GL_PIXEL_MAP_A_TO_A_SIZE));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_B_TO_B", PyInt_FromLong((long) GL_PIXEL_MAP_B_TO_B));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_B_TO_B_SIZE", PyInt_FromLong((long) GL_PIXEL_MAP_B_TO_B_SIZE));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_G_TO_G", PyInt_FromLong((long) GL_PIXEL_MAP_G_TO_G));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_G_TO_G_SIZE", PyInt_FromLong((long) GL_PIXEL_MAP_G_TO_G_SIZE));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_I_TO_A", PyInt_FromLong((long) GL_PIXEL_MAP_I_TO_A));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_I_TO_A_SIZE", PyInt_FromLong((long) GL_PIXEL_MAP_I_TO_A_SIZE));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_I_TO_B", PyInt_FromLong((long) GL_PIXEL_MAP_I_TO_B));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_I_TO_B_SIZE", PyInt_FromLong((long) GL_PIXEL_MAP_I_TO_B_SIZE));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_I_TO_G", PyInt_FromLong((long) GL_PIXEL_MAP_I_TO_G));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_I_TO_G_SIZE", PyInt_FromLong((long) GL_PIXEL_MAP_I_TO_G_SIZE));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_I_TO_I", PyInt_FromLong((long) GL_PIXEL_MAP_I_TO_I));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_I_TO_I_SIZE", PyInt_FromLong((long) GL_PIXEL_MAP_I_TO_I_SIZE));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_I_TO_R", PyInt_FromLong((long) GL_PIXEL_MAP_I_TO_R));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_I_TO_R_SIZE", PyInt_FromLong((long) GL_PIXEL_MAP_I_TO_R_SIZE));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_R_TO_R", PyInt_FromLong((long) GL_PIXEL_MAP_R_TO_R));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_R_TO_R_SIZE", PyInt_FromLong((long) GL_PIXEL_MAP_R_TO_R_SIZE));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_S_TO_S", PyInt_FromLong((long) GL_PIXEL_MAP_S_TO_S));
+        PyDict_SetItemString(d,"GL_PIXEL_MAP_S_TO_S_SIZE", PyInt_FromLong((long) GL_PIXEL_MAP_S_TO_S_SIZE));
+        PyDict_SetItemString(d,"GL_PIXEL_MODE_BIT", PyInt_FromLong((long) GL_PIXEL_MODE_BIT));
+        PyDict_SetItemString(d,"GL_POINT", PyInt_FromLong((long) GL_POINT));
+        PyDict_SetItemString(d,"GL_POINTS", PyInt_FromLong((long) GL_POINTS));
+        PyDict_SetItemString(d,"GL_POINT_BIT", PyInt_FromLong((long) GL_POINT_BIT));
+        PyDict_SetItemString(d,"GL_POINT_SIZE", PyInt_FromLong((long) GL_POINT_SIZE));
+        PyDict_SetItemString(d,"GL_POINT_SIZE_GRANULARITY", PyInt_FromLong((long) GL_POINT_SIZE_GRANULARITY));
+        PyDict_SetItemString(d,"GL_POINT_SIZE_RANGE", PyInt_FromLong((long) GL_POINT_SIZE_RANGE));
+        PyDict_SetItemString(d,"GL_POINT_SMOOTH", PyInt_FromLong((long) GL_POINT_SMOOTH));
+        PyDict_SetItemString(d,"GL_POINT_SMOOTH_HINT", PyInt_FromLong((long) GL_POINT_SMOOTH_HINT));
+        PyDict_SetItemString(d,"GL_POINT_TOKEN", PyInt_FromLong((long) GL_POINT_TOKEN));
+        PyDict_SetItemString(d,"GL_POLYGON", PyInt_FromLong((long) GL_POLYGON));
+        PyDict_SetItemString(d,"GL_POLYGON_BIT", PyInt_FromLong((long) GL_POLYGON_BIT));
+        PyDict_SetItemString(d,"GL_POLYGON_MODE", PyInt_FromLong((long) GL_POLYGON_MODE));
+        PyDict_SetItemString(d,"GL_POLYGON_OFFSET_FACTOR", PyInt_FromLong((long) GL_POLYGON_OFFSET_FACTOR));
+        PyDict_SetItemString(d,"GL_POLYGON_OFFSET_FILL", PyInt_FromLong((long) GL_POLYGON_OFFSET_FILL));
+        PyDict_SetItemString(d,"GL_POLYGON_OFFSET_LINE", PyInt_FromLong((long) GL_POLYGON_OFFSET_LINE));
+        PyDict_SetItemString(d,"GL_POLYGON_OFFSET_POINT", PyInt_FromLong((long) GL_POLYGON_OFFSET_POINT));
+        PyDict_SetItemString(d,"GL_POLYGON_OFFSET_UNITS", PyInt_FromLong((long) GL_POLYGON_OFFSET_UNITS));
+        PyDict_SetItemString(d,"GL_POLYGON_SMOOTH", PyInt_FromLong((long) GL_POLYGON_SMOOTH));
+        PyDict_SetItemString(d,"GL_POLYGON_SMOOTH_HINT", PyInt_FromLong((long) GL_POLYGON_SMOOTH_HINT));
+        PyDict_SetItemString(d,"GL_POLYGON_STIPPLE", PyInt_FromLong((long) GL_POLYGON_STIPPLE));
+        PyDict_SetItemString(d,"GL_POLYGON_STIPPLE_BIT", PyInt_FromLong((long) GL_POLYGON_STIPPLE_BIT));
+        PyDict_SetItemString(d,"GL_POLYGON_TOKEN", PyInt_FromLong((long) GL_POLYGON_TOKEN));
+        PyDict_SetItemString(d,"GL_POSITION", PyInt_FromLong((long) GL_POSITION));
+        PyDict_SetItemString(d,"GL_PROJECTION", PyInt_FromLong((long) GL_PROJECTION));
+        PyDict_SetItemString(d,"GL_PROJECTION_MATRIX", PyInt_FromLong((long) GL_PROJECTION_MATRIX));
+        PyDict_SetItemString(d,"GL_PROJECTION_STACK_DEPTH", PyInt_FromLong((long) GL_PROJECTION_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_PROXY_TEXTURE_1D", PyInt_FromLong((long) GL_PROXY_TEXTURE_1D));
+        PyDict_SetItemString(d,"GL_PROXY_TEXTURE_2D", PyInt_FromLong((long) GL_PROXY_TEXTURE_2D));
+        PyDict_SetItemString(d,"GL_Q", PyInt_FromLong((long) GL_Q));
+        PyDict_SetItemString(d,"GL_QUADRATIC_ATTENUATION", PyInt_FromLong((long) GL_QUADRATIC_ATTENUATION));
+        PyDict_SetItemString(d,"GL_QUADS", PyInt_FromLong((long) GL_QUADS));
+        PyDict_SetItemString(d,"GL_QUAD_STRIP", PyInt_FromLong((long) GL_QUAD_STRIP));
+        PyDict_SetItemString(d,"GL_R", PyInt_FromLong((long) GL_R));
+        PyDict_SetItemString(d,"GL_R3_G3_B2", PyInt_FromLong((long) GL_R3_G3_B2));
+        PyDict_SetItemString(d,"GL_READ_BUFFER", PyInt_FromLong((long) GL_READ_BUFFER));
+        PyDict_SetItemString(d,"GL_RED", PyInt_FromLong((long) GL_RED));
+        PyDict_SetItemString(d,"GL_RED_BIAS", PyInt_FromLong((long) GL_RED_BIAS));
+        PyDict_SetItemString(d,"GL_RED_BITS", PyInt_FromLong((long) GL_RED_BITS));
+        PyDict_SetItemString(d,"GL_RED_SCALE", PyInt_FromLong((long) GL_RED_SCALE));
+        PyDict_SetItemString(d,"GL_RENDER", PyInt_FromLong((long) GL_RENDER));
+        PyDict_SetItemString(d,"GL_RENDERER", PyInt_FromLong((long) GL_RENDERER));
+        PyDict_SetItemString(d,"GL_RENDER_MODE", PyInt_FromLong((long) GL_RENDER_MODE));
+        PyDict_SetItemString(d,"GL_REPEAT", PyInt_FromLong((long) GL_REPEAT));
+        PyDict_SetItemString(d,"GL_REPLACE", PyInt_FromLong((long) GL_REPLACE));
+        PyDict_SetItemString(d,"GL_RETURN", PyInt_FromLong((long) GL_RETURN));
+        PyDict_SetItemString(d,"GL_RGB", PyInt_FromLong((long) GL_RGB));
+        PyDict_SetItemString(d,"GL_RGB10", PyInt_FromLong((long) GL_RGB10));
+        PyDict_SetItemString(d,"GL_RGB10_A2", PyInt_FromLong((long) GL_RGB10_A2));
+        PyDict_SetItemString(d,"GL_RGB12", PyInt_FromLong((long) GL_RGB12));
+        PyDict_SetItemString(d,"GL_RGB16", PyInt_FromLong((long) GL_RGB16));
+        PyDict_SetItemString(d,"GL_RGB4", PyInt_FromLong((long) GL_RGB4));
+        PyDict_SetItemString(d,"GL_RGB5", PyInt_FromLong((long) GL_RGB5));
+        PyDict_SetItemString(d,"GL_RGB5_A1", PyInt_FromLong((long) GL_RGB5_A1));
+        PyDict_SetItemString(d,"GL_RGB8", PyInt_FromLong((long) GL_RGB8));
+        PyDict_SetItemString(d,"GL_RGBA", PyInt_FromLong((long) GL_RGBA));
+        PyDict_SetItemString(d,"GL_RGBA12", PyInt_FromLong((long) GL_RGBA12));
+        PyDict_SetItemString(d,"GL_RGBA16", PyInt_FromLong((long) GL_RGBA16));
+        PyDict_SetItemString(d,"GL_RGBA2", PyInt_FromLong((long) GL_RGBA2));
+        PyDict_SetItemString(d,"GL_RGBA4", PyInt_FromLong((long) GL_RGBA4));
+        PyDict_SetItemString(d,"GL_RGBA8", PyInt_FromLong((long) GL_RGBA8));
+        PyDict_SetItemString(d,"GL_RGBA_MODE", PyInt_FromLong((long) GL_RGBA_MODE));
+        PyDict_SetItemString(d,"GL_RIGHT", PyInt_FromLong((long) GL_RIGHT));
+        PyDict_SetItemString(d,"GL_S", PyInt_FromLong((long) GL_S));
+        PyDict_SetItemString(d,"GL_SCISSOR_BIT", PyInt_FromLong((long) GL_SCISSOR_BIT));
+        PyDict_SetItemString(d,"GL_SCISSOR_BOX", PyInt_FromLong((long) GL_SCISSOR_BOX));
+        PyDict_SetItemString(d,"GL_SCISSOR_TEST", PyInt_FromLong((long) GL_SCISSOR_TEST));
+        PyDict_SetItemString(d,"GL_SELECT", PyInt_FromLong((long) GL_SELECT));
+        PyDict_SetItemString(d,"GL_SELECTION_BUFFER_POINTER", PyInt_FromLong((long) GL_SELECTION_BUFFER_POINTER));
+        PyDict_SetItemString(d,"GL_SELECTION_BUFFER_SIZE", PyInt_FromLong((long) GL_SELECTION_BUFFER_SIZE));
+        PyDict_SetItemString(d,"GL_SET", PyInt_FromLong((long) GL_SET));
+        PyDict_SetItemString(d,"GL_SHADE_MODEL", PyInt_FromLong((long) GL_SHADE_MODEL));
+        PyDict_SetItemString(d,"GL_SHININESS", PyInt_FromLong((long) GL_SHININESS));
+        PyDict_SetItemString(d,"GL_SHORT", PyInt_FromLong((long) GL_SHORT));
+        PyDict_SetItemString(d,"GL_SMOOTH", PyInt_FromLong((long) GL_SMOOTH));
+        PyDict_SetItemString(d,"GL_SPECULAR", PyInt_FromLong((long) GL_SPECULAR));
+        PyDict_SetItemString(d,"GL_SPHERE_MAP", PyInt_FromLong((long) GL_SPHERE_MAP));
+        PyDict_SetItemString(d,"GL_SPOT_CUTOFF", PyInt_FromLong((long) GL_SPOT_CUTOFF));
+        PyDict_SetItemString(d,"GL_SPOT_DIRECTION", PyInt_FromLong((long) GL_SPOT_DIRECTION));
+        PyDict_SetItemString(d,"GL_SPOT_EXPONENT", PyInt_FromLong((long) GL_SPOT_EXPONENT));
+        PyDict_SetItemString(d,"GL_SRC_ALPHA", PyInt_FromLong((long) GL_SRC_ALPHA));
+        PyDict_SetItemString(d,"GL_SRC_ALPHA_SATURATE", PyInt_FromLong((long) GL_SRC_ALPHA_SATURATE));
+        PyDict_SetItemString(d,"GL_SRC_COLOR", PyInt_FromLong((long) GL_SRC_COLOR));
+        PyDict_SetItemString(d,"GL_STACK_OVERFLOW", PyInt_FromLong((long) GL_STACK_OVERFLOW));
+        PyDict_SetItemString(d,"GL_STACK_UNDERFLOW", PyInt_FromLong((long) GL_STACK_UNDERFLOW));
+        PyDict_SetItemString(d,"GL_STENCIL", PyInt_FromLong((long) GL_STENCIL));
+        PyDict_SetItemString(d,"GL_STENCIL_BITS", PyInt_FromLong((long) GL_STENCIL_BITS));
+        PyDict_SetItemString(d,"GL_STENCIL_BUFFER_BIT", PyInt_FromLong((long) GL_STENCIL_BUFFER_BIT));
+        PyDict_SetItemString(d,"GL_STENCIL_CLEAR_VALUE", PyInt_FromLong((long) GL_STENCIL_CLEAR_VALUE));
+        PyDict_SetItemString(d,"GL_STENCIL_FAIL", PyInt_FromLong((long) GL_STENCIL_FAIL));
+        PyDict_SetItemString(d,"GL_STENCIL_FUNC", PyInt_FromLong((long) GL_STENCIL_FUNC));
+        PyDict_SetItemString(d,"GL_STENCIL_INDEX", PyInt_FromLong((long) GL_STENCIL_INDEX));
+        PyDict_SetItemString(d,"GL_STENCIL_PASS_DEPTH_FAIL", PyInt_FromLong((long) GL_STENCIL_PASS_DEPTH_FAIL));
+        PyDict_SetItemString(d,"GL_STENCIL_PASS_DEPTH_PASS", PyInt_FromLong((long) GL_STENCIL_PASS_DEPTH_PASS));
+        PyDict_SetItemString(d,"GL_STENCIL_REF", PyInt_FromLong((long) GL_STENCIL_REF));
+        PyDict_SetItemString(d,"GL_STENCIL_TEST", PyInt_FromLong((long) GL_STENCIL_TEST));
+        PyDict_SetItemString(d,"GL_STENCIL_VALUE_MASK", PyInt_FromLong((long) GL_STENCIL_VALUE_MASK));
+        PyDict_SetItemString(d,"GL_STENCIL_WRITEMASK", PyInt_FromLong((long) GL_STENCIL_WRITEMASK));
+        PyDict_SetItemString(d,"GL_STEREO", PyInt_FromLong((long) GL_STEREO));
+        PyDict_SetItemString(d,"GL_SUBPIXEL_BITS", PyInt_FromLong((long) GL_SUBPIXEL_BITS));
+        PyDict_SetItemString(d,"GL_T", PyInt_FromLong((long) GL_T));
+        PyDict_SetItemString(d,"GL_T2F_C3F_V3F", PyInt_FromLong((long) GL_T2F_C3F_V3F));
+        PyDict_SetItemString(d,"GL_T2F_C4F_N3F_V3F", PyInt_FromLong((long) GL_T2F_C4F_N3F_V3F));
+        PyDict_SetItemString(d,"GL_T2F_C4UB_V3F", PyInt_FromLong((long) GL_T2F_C4UB_V3F));
+        PyDict_SetItemString(d,"GL_T2F_N3F_V3F", PyInt_FromLong((long) GL_T2F_N3F_V3F));
+        PyDict_SetItemString(d,"GL_T2F_V3F", PyInt_FromLong((long) GL_T2F_V3F));
+        PyDict_SetItemString(d,"GL_T4F_C4F_N3F_V4F", PyInt_FromLong((long) GL_T4F_C4F_N3F_V4F));
+        PyDict_SetItemString(d,"GL_T4F_V4F", PyInt_FromLong((long) GL_T4F_V4F));
+        PyDict_SetItemString(d,"GL_TEXTURE", PyInt_FromLong((long) GL_TEXTURE));
+        PyDict_SetItemString(d,"GL_TEXTURE_1D", PyInt_FromLong((long) GL_TEXTURE_1D));
+        PyDict_SetItemString(d,"GL_TEXTURE_2D", PyInt_FromLong((long) GL_TEXTURE_2D));
+        PyDict_SetItemString(d,"GL_TEXTURE_ALPHA_SIZE", PyInt_FromLong((long) GL_TEXTURE_ALPHA_SIZE));
+        PyDict_SetItemString(d,"GL_TEXTURE_BINDING_1D", PyInt_FromLong((long) GL_TEXTURE_BINDING_1D));
+        PyDict_SetItemString(d,"GL_TEXTURE_BINDING_2D", PyInt_FromLong((long) GL_TEXTURE_BINDING_2D));
+        PyDict_SetItemString(d,"GL_TEXTURE_BIT", PyInt_FromLong((long) GL_TEXTURE_BIT));
+        PyDict_SetItemString(d,"GL_TEXTURE_BLUE_SIZE", PyInt_FromLong((long) GL_TEXTURE_BLUE_SIZE));
+        PyDict_SetItemString(d,"GL_TEXTURE_BORDER", PyInt_FromLong((long) GL_TEXTURE_BORDER));
+        PyDict_SetItemString(d,"GL_TEXTURE_BORDER_COLOR", PyInt_FromLong((long) GL_TEXTURE_BORDER_COLOR));
+        PyDict_SetItemString(d,"GL_TEXTURE_COMPONENTS", PyInt_FromLong((long) GL_TEXTURE_COMPONENTS));
+        PyDict_SetItemString(d,"GL_TEXTURE_COORD_ARRAY", PyInt_FromLong((long) GL_TEXTURE_COORD_ARRAY));
+        PyDict_SetItemString(d,"GL_TEXTURE_COORD_ARRAY_COUNT_EXT", PyInt_FromLong((long) GL_TEXTURE_COORD_ARRAY_COUNT_EXT));
+        PyDict_SetItemString(d,"GL_TEXTURE_COORD_ARRAY_EXT", PyInt_FromLong((long) GL_TEXTURE_COORD_ARRAY_EXT));
+        PyDict_SetItemString(d,"GL_TEXTURE_COORD_ARRAY_POINTER", PyInt_FromLong((long) GL_TEXTURE_COORD_ARRAY_POINTER));
+        PyDict_SetItemString(d,"GL_TEXTURE_COORD_ARRAY_POINTER_EXT", PyInt_FromLong((long) GL_TEXTURE_COORD_ARRAY_POINTER_EXT));
+        PyDict_SetItemString(d,"GL_TEXTURE_COORD_ARRAY_SIZE", PyInt_FromLong((long) GL_TEXTURE_COORD_ARRAY_SIZE));
+        PyDict_SetItemString(d,"GL_TEXTURE_COORD_ARRAY_SIZE_EXT", PyInt_FromLong((long) GL_TEXTURE_COORD_ARRAY_SIZE_EXT));
+        PyDict_SetItemString(d,"GL_TEXTURE_COORD_ARRAY_STRIDE", PyInt_FromLong((long) GL_TEXTURE_COORD_ARRAY_STRIDE));
+        PyDict_SetItemString(d,"GL_TEXTURE_COORD_ARRAY_STRIDE_EXT", PyInt_FromLong((long) GL_TEXTURE_COORD_ARRAY_STRIDE_EXT));
+        PyDict_SetItemString(d,"GL_TEXTURE_COORD_ARRAY_TYPE", PyInt_FromLong((long) GL_TEXTURE_COORD_ARRAY_TYPE));
+        PyDict_SetItemString(d,"GL_TEXTURE_COORD_ARRAY_TYPE_EXT", PyInt_FromLong((long) GL_TEXTURE_COORD_ARRAY_TYPE_EXT));
+        PyDict_SetItemString(d,"GL_TEXTURE_ENV", PyInt_FromLong((long) GL_TEXTURE_ENV));
+        PyDict_SetItemString(d,"GL_TEXTURE_ENV_COLOR", PyInt_FromLong((long) GL_TEXTURE_ENV_COLOR));
+        PyDict_SetItemString(d,"GL_TEXTURE_ENV_MODE", PyInt_FromLong((long) GL_TEXTURE_ENV_MODE));
+        PyDict_SetItemString(d,"GL_TEXTURE_GEN_MODE", PyInt_FromLong((long) GL_TEXTURE_GEN_MODE));
+        PyDict_SetItemString(d,"GL_TEXTURE_GEN_Q", PyInt_FromLong((long) GL_TEXTURE_GEN_Q));
+        PyDict_SetItemString(d,"GL_TEXTURE_GEN_R", PyInt_FromLong((long) GL_TEXTURE_GEN_R));
+        PyDict_SetItemString(d,"GL_TEXTURE_GEN_S", PyInt_FromLong((long) GL_TEXTURE_GEN_S));
+        PyDict_SetItemString(d,"GL_TEXTURE_GEN_T", PyInt_FromLong((long) GL_TEXTURE_GEN_T));
+        PyDict_SetItemString(d,"GL_TEXTURE_GREEN_SIZE", PyInt_FromLong((long) GL_TEXTURE_GREEN_SIZE));
+        PyDict_SetItemString(d,"GL_TEXTURE_HEIGHT", PyInt_FromLong((long) GL_TEXTURE_HEIGHT));
+        PyDict_SetItemString(d,"GL_TEXTURE_INTENSITY_SIZE", PyInt_FromLong((long) GL_TEXTURE_INTENSITY_SIZE));
+        PyDict_SetItemString(d,"GL_TEXTURE_INTERNAL_FORMAT", PyInt_FromLong((long) GL_TEXTURE_INTERNAL_FORMAT));
+        PyDict_SetItemString(d,"GL_TEXTURE_LUMINANCE_SIZE", PyInt_FromLong((long) GL_TEXTURE_LUMINANCE_SIZE));
+        PyDict_SetItemString(d,"GL_TEXTURE_MAG_FILTER", PyInt_FromLong((long) GL_TEXTURE_MAG_FILTER));
+        PyDict_SetItemString(d,"GL_TEXTURE_MATRIX", PyInt_FromLong((long) GL_TEXTURE_MATRIX));
+        PyDict_SetItemString(d,"GL_TEXTURE_MIN_FILTER", PyInt_FromLong((long) GL_TEXTURE_MIN_FILTER));
+        PyDict_SetItemString(d,"GL_TEXTURE_PRIORITY", PyInt_FromLong((long) GL_TEXTURE_PRIORITY));
+        PyDict_SetItemString(d,"GL_TEXTURE_RED_SIZE", PyInt_FromLong((long) GL_TEXTURE_RED_SIZE));
+        PyDict_SetItemString(d,"GL_TEXTURE_RESIDENT", PyInt_FromLong((long) GL_TEXTURE_RESIDENT));
+        PyDict_SetItemString(d,"GL_TEXTURE_STACK_DEPTH", PyInt_FromLong((long) GL_TEXTURE_STACK_DEPTH));
+        PyDict_SetItemString(d,"GL_TEXTURE_WIDTH", PyInt_FromLong((long) GL_TEXTURE_WIDTH));
+        PyDict_SetItemString(d,"GL_TEXTURE_WRAP_S", PyInt_FromLong((long) GL_TEXTURE_WRAP_S));
+        PyDict_SetItemString(d,"GL_TEXTURE_WRAP_T", PyInt_FromLong((long) GL_TEXTURE_WRAP_T));
+        PyDict_SetItemString(d,"GL_TRANSFORM_BIT", PyInt_FromLong((long) GL_TRANSFORM_BIT));
+        PyDict_SetItemString(d,"GL_TRIANGLES", PyInt_FromLong((long) GL_TRIANGLES));
+        PyDict_SetItemString(d,"GL_TRIANGLE_FAN", PyInt_FromLong((long) GL_TRIANGLE_FAN));
+        PyDict_SetItemString(d,"GL_TRIANGLE_STRIP", PyInt_FromLong((long) GL_TRIANGLE_STRIP));
+        PyDict_SetItemString(d,"GL_TRUE", PyInt_FromLong((long) GL_TRUE));
+        PyDict_SetItemString(d,"GL_UNPACK_ALIGNMENT", PyInt_FromLong((long) GL_UNPACK_ALIGNMENT));
+        PyDict_SetItemString(d,"GL_UNPACK_LSB_FIRST", PyInt_FromLong((long) GL_UNPACK_LSB_FIRST));
+        PyDict_SetItemString(d,"GL_UNPACK_ROW_LENGTH", PyInt_FromLong((long) GL_UNPACK_ROW_LENGTH));
+        PyDict_SetItemString(d,"GL_UNPACK_SKIP_PIXELS", PyInt_FromLong((long) GL_UNPACK_SKIP_PIXELS));
+        PyDict_SetItemString(d,"GL_UNPACK_SKIP_ROWS", PyInt_FromLong((long) GL_UNPACK_SKIP_ROWS));
+        PyDict_SetItemString(d,"GL_UNPACK_SWAP_BYTES", PyInt_FromLong((long) GL_UNPACK_SWAP_BYTES));
+        PyDict_SetItemString(d,"GL_UNSIGNED_BYTE", PyInt_FromLong((long) GL_UNSIGNED_BYTE));
+        PyDict_SetItemString(d,"GL_UNSIGNED_INT", PyInt_FromLong((long) GL_UNSIGNED_INT));
+        PyDict_SetItemString(d,"GL_UNSIGNED_SHORT", PyInt_FromLong((long) GL_UNSIGNED_SHORT));
+        PyDict_SetItemString(d,"GL_V2F", PyInt_FromLong((long) GL_V2F));
+        PyDict_SetItemString(d,"GL_V3F", PyInt_FromLong((long) GL_V3F));
+        PyDict_SetItemString(d,"GL_VENDOR", PyInt_FromLong((long) GL_VENDOR));
+        PyDict_SetItemString(d,"GL_VERSION", PyInt_FromLong((long) GL_VERSION));
+        PyDict_SetItemString(d,"GL_VERTEX_ARRAY", PyInt_FromLong((long) GL_VERTEX_ARRAY));
+        PyDict_SetItemString(d,"GL_VERTEX_ARRAY_COUNT_EXT", PyInt_FromLong((long) GL_VERTEX_ARRAY_COUNT_EXT));
+        PyDict_SetItemString(d,"GL_VERTEX_ARRAY_EXT", PyInt_FromLong((long) GL_VERTEX_ARRAY_EXT));
+        PyDict_SetItemString(d,"GL_VERTEX_ARRAY_POINTER", PyInt_FromLong((long) GL_VERTEX_ARRAY_POINTER));
+        PyDict_SetItemString(d,"GL_VERTEX_ARRAY_POINTER_EXT", PyInt_FromLong((long) GL_VERTEX_ARRAY_POINTER_EXT));
+        PyDict_SetItemString(d,"GL_VERTEX_ARRAY_SIZE", PyInt_FromLong((long) GL_VERTEX_ARRAY_SIZE));
+        PyDict_SetItemString(d,"GL_VERTEX_ARRAY_SIZE_EXT", PyInt_FromLong((long) GL_VERTEX_ARRAY_SIZE_EXT));
+        PyDict_SetItemString(d,"GL_VERTEX_ARRAY_STRIDE", PyInt_FromLong((long) GL_VERTEX_ARRAY_STRIDE));
+        PyDict_SetItemString(d,"GL_VERTEX_ARRAY_STRIDE_EXT", PyInt_FromLong((long) GL_VERTEX_ARRAY_STRIDE_EXT));
+        PyDict_SetItemString(d,"GL_VERTEX_ARRAY_TYPE", PyInt_FromLong((long) GL_VERTEX_ARRAY_TYPE));
+        PyDict_SetItemString(d,"GL_VERTEX_ARRAY_TYPE_EXT", PyInt_FromLong((long) GL_VERTEX_ARRAY_TYPE_EXT));
+        PyDict_SetItemString(d,"GL_VIEWPORT", PyInt_FromLong((long) GL_VIEWPORT));
+        PyDict_SetItemString(d,"GL_VIEWPORT_BIT", PyInt_FromLong((long) GL_VIEWPORT_BIT));
+        PyDict_SetItemString(d,"GL_XOR", PyInt_FromLong((long) GL_XOR));
+        PyDict_SetItemString(d,"GL_ZERO", PyInt_FromLong((long) GL_ZERO));
+        PyDict_SetItemString(d,"GL_ZOOM_X", PyInt_FromLong((long) GL_ZOOM_X));
+        PyDict_SetItemString(d,"GL_ZOOM_Y", PyInt_FromLong((long) GL_ZOOM_Y));
+
+
+    wxClassInfo::CleanUpClasses();
+    wxClassInfo::InitializeClasses();
+
+{
+   int i;
+   for (i = 0; _swig_mapping[i].n1; i++)
+        SWIG_RegisterMapping(_swig_mapping[i].n1,_swig_mapping[i].n2,_swig_mapping[i].pcnv);
+}
+}