]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/modules/glcanvas/gtk/glcanvas.cpp
Removed all non wx stuff from the glcanvas module since DA's PyOpenGL
[wxWidgets.git] / utils / wxPython / modules / glcanvas / gtk / glcanvas.cpp
index 0fabfa79a076b50c7777aa15cdf80d1705f42253..d2cf57ed60a9694a6bef522010a371b13c31d315 100644 (file)
@@ -3,7 +3,7 @@
  * 
  * This file was automatically generated by :
  * Simplified Wrapper and Interface Generator (SWIG)
- * Version 1.1 (Patch 5)
+ * Version 1.1 (Patch 6)
  * 
  * Portions Copyright (c) 1995-1998
  * The University of Utah and The Regents of the University of California.
 /* Definitions for Windows/Unix exporting */
 #if defined(__WIN32__)
 #   if defined(_MSC_VER)
-#      define SWIGEXPORT(a,b) __declspec(dllexport) a b
+#      define SWIGEXPORT(a) __declspec(dllexport) a
 #   else
 #      if defined(__BORLANDC__)
-#          define SWIGEXPORT(a,b) a _export b
+#          define SWIGEXPORT(a) a _export 
 #      else
-#          define SWIGEXPORT(a,b) a b
+#          define SWIGEXPORT(a) a 
 #      endif
 #   endif
 #else
-#   define SWIGEXPORT(a,b) a b
+#   define SWIGEXPORT(a) a 
 #endif
 
 #ifdef __cplusplus
@@ -43,12 +43,12 @@ extern "C" {
 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"
@@ -116,17 +116,21 @@ extern wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
 
 static char* wxStringErrorMsg = "string type is required for parameter";
 
-#if defined(SEPARATE) && defined(__WXMSW__)
+#if defined(__WXMSW__)
     static wxString wxPyEmptyStr("");
     static wxPoint  wxPyDefaultPosition(-1, -1);
     static wxSize   wxPyDefaultSize(-1, -1);
 #endif
-static PyObject *_wrap_glArrayElementEXT(PyObject *self, PyObject *args) {
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_glArrayElementEXT(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
+    char *_kwnames[] = { "i", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glArrayElementEXT",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glArrayElementEXT",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -138,20 +142,22 @@ static PyObject *_wrap_glArrayElementEXT(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColorPointerEXT(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColorPointerEXT(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLenum  _arg1;
     GLsizei  _arg2;
     GLsizei  _arg3;
     GLvoid * _arg4;
-    char * _argc4 = 0;
+    PyObject * _argo4 = 0;
+    char *_kwnames[] = { "size","type","stride","count","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiis:glColorPointerEXT",&_arg0,&_arg1,&_arg2,&_arg3,&_argc4)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiO:glColorPointerEXT",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_argo4)) 
         return NULL;
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,(char *) 0 )) {
+    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;
         }
@@ -166,14 +172,15 @@ static PyObject *_wrap_glColorPointerEXT(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDrawArraysEXT(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDrawArraysEXT(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
     GLsizei  _arg2;
+    char *_kwnames[] = { "mode","first","count", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glDrawArraysEXT",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glDrawArraysEXT",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -185,18 +192,20 @@ static PyObject *_wrap_glDrawArraysEXT(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEdgeFlagPointerEXT(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEdgeFlagPointerEXT(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLsizei  _arg0;
     GLsizei  _arg1;
     GLboolean * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "stride","count","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glEdgeFlagPointerEXT",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glEdgeFlagPointerEXT",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLboolean_p")) {
+    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;
         }
@@ -211,17 +220,19 @@ static PyObject *_wrap_glEdgeFlagPointerEXT(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetPointervEXT(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetPointervEXT(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLvoid ** _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glGetPointervEXT",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glGetPointervEXT",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,(char *) 0 )) {
+    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;
         }
@@ -236,19 +247,21 @@ static PyObject *_wrap_glGetPointervEXT(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexPointerEXT(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexPointerEXT(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLsizei  _arg1;
     GLsizei  _arg2;
     GLvoid * _arg3;
-    char * _argc3 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "type","stride","count","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiis:glIndexPointerEXT",&_arg0,&_arg1,&_arg2,&_argc3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiO:glIndexPointerEXT",_kwnames,&_arg0,&_arg1,&_arg2,&_argo3)) 
         return NULL;
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,(char *) 0 )) {
+    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;
         }
@@ -263,19 +276,21 @@ static PyObject *_wrap_glIndexPointerEXT(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormalPointerEXT(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormalPointerEXT(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLsizei  _arg1;
     GLsizei  _arg2;
     GLvoid * _arg3;
-    char * _argc3 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "type","stride","count","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiis:glNormalPointerEXT",&_arg0,&_arg1,&_arg2,&_argc3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiO:glNormalPointerEXT",_kwnames,&_arg0,&_arg1,&_arg2,&_argo3)) 
         return NULL;
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,(char *) 0 )) {
+    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;
         }
@@ -290,20 +305,22 @@ static PyObject *_wrap_glNormalPointerEXT(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoordPointerEXT(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoordPointerEXT(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLenum  _arg1;
     GLsizei  _arg2;
     GLsizei  _arg3;
     GLvoid * _arg4;
-    char * _argc4 = 0;
+    PyObject * _argo4 = 0;
+    char *_kwnames[] = { "size","type","stride","count","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiis:glTexCoordPointerEXT",&_arg0,&_arg1,&_arg2,&_arg3,&_argc4)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiO:glTexCoordPointerEXT",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_argo4)) 
         return NULL;
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,(char *) 0 )) {
+    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;
         }
@@ -318,20 +335,22 @@ static PyObject *_wrap_glTexCoordPointerEXT(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertexPointerEXT(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertexPointerEXT(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLenum  _arg1;
     GLsizei  _arg2;
     GLsizei  _arg3;
     GLvoid * _arg4;
-    char * _argc4 = 0;
+    PyObject * _argo4 = 0;
+    char *_kwnames[] = { "size","type","stride","count","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiis:glVertexPointerEXT",&_arg0,&_arg1,&_arg2,&_arg3,&_argc4)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiO:glVertexPointerEXT",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_argo4)) 
         return NULL;
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,(char *) 0 )) {
+    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;
         }
@@ -346,7 +365,7 @@ static PyObject *_wrap_glVertexPointerEXT(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColorTableEXT(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColorTableEXT(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
@@ -354,13 +373,15 @@ static PyObject *_wrap_glColorTableEXT(PyObject *self, PyObject *args) {
     GLenum  _arg3;
     GLenum  _arg4;
     GLvoid * _arg5;
-    char * _argc5 = 0;
+    PyObject * _argo5 = 0;
+    char *_kwnames[] = { "target","internalformat","width","format","type","table", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiiis:glColorTableEXT",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_argc5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiiO:glColorTableEXT",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_argo5)) 
         return NULL;
-    if (_argc5) {
-        if (SWIG_GetPtr(_argc5,(void **) &_arg5,(char *) 0 )) {
+    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;
         }
@@ -375,19 +396,21 @@ static PyObject *_wrap_glColorTableEXT(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetColorTableEXT(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetColorTableEXT(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLenum  _arg2;
     GLvoid * _arg3;
-    char * _argc3 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "target","format","type","table", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiis:glGetColorTableEXT",&_arg0,&_arg1,&_arg2,&_argc3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiO:glGetColorTableEXT",_kwnames,&_arg0,&_arg1,&_arg2,&_argo3)) 
         return NULL;
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,(char *) 0 )) {
+    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;
         }
@@ -402,13 +425,14 @@ static PyObject *_wrap_glGetColorTableEXT(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glAccum(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glAccum(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLfloat  _arg1;
+    char *_kwnames[] = { "op","value", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"if:glAccum",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"if:glAccum",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -420,13 +444,14 @@ static PyObject *_wrap_glAccum(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glAlphaFunc(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glAlphaFunc(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLclampf  _arg1;
+    char *_kwnames[] = { "func","ref", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"if:glAlphaFunc",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"if:glAlphaFunc",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -438,26 +463,29 @@ static PyObject *_wrap_glAlphaFunc(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glAreTexturesResident(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glAreTexturesResident(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLboolean  _result;
     GLsizei  _arg0;
     GLuint * _arg1;
     GLboolean * _arg2;
-    char * _argc1 = 0;
-    char * _argc2 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "n","textures","residences", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iss:glAreTexturesResident",&_arg0,&_argc1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iOO:glAreTexturesResident",_kwnames,&_arg0,&_argo1,&_argo2)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLuint_p")) {
+    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 (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLboolean_p")) {
+    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;
         }
@@ -471,12 +499,13 @@ static PyObject *_wrap_glAreTexturesResident(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glArrayElement(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glArrayElement(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
+    char *_kwnames[] = { "i", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glArrayElement",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glArrayElement",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -488,12 +517,13 @@ static PyObject *_wrap_glArrayElement(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glBegin(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glBegin(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glBegin",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glBegin",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -505,13 +535,14 @@ static PyObject *_wrap_glBegin(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glBindTexture(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glBindTexture(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLuint  _arg1;
+    char *_kwnames[] = { "target","texture", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glBindTexture",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glBindTexture",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -523,7 +554,7 @@ static PyObject *_wrap_glBindTexture(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glBitmap(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLsizei  _arg0;
     GLsizei  _arg1;
@@ -532,13 +563,15 @@ static PyObject *_wrap_glBitmap(PyObject *self, PyObject *args) {
     GLfloat  _arg4;
     GLfloat  _arg5;
     GLubyte * _arg6;
-    char * _argc6 = 0;
+    PyObject * _argo6 = 0;
+    char *_kwnames[] = { "width","height","xorig","yorig","xmove","ymove","bitmap", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiffffs:glBitmap",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_argc6)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiffffO:glBitmap",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_argo6)) 
         return NULL;
-    if (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_GLubyte_p")) {
+    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;
         }
@@ -553,13 +586,14 @@ static PyObject *_wrap_glBitmap(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glBlendFunc(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glBlendFunc(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
+    char *_kwnames[] = { "sfactor","dfactor", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glBlendFunc",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glBlendFunc",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -571,12 +605,13 @@ static PyObject *_wrap_glBlendFunc(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glCallList(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glCallList(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint  _arg0;
+    char *_kwnames[] = { "list", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glCallList",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glCallList",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -588,18 +623,20 @@ static PyObject *_wrap_glCallList(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glCallLists(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glCallLists(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLsizei  _arg0;
     GLenum  _arg1;
     GLvoid * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "n","type","lists", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glCallLists",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glCallLists",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,(char *) 0 )) {
+    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;
         }
@@ -614,12 +651,13 @@ static PyObject *_wrap_glCallLists(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glClear(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glClear(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLbitfield  _arg0;
+    char *_kwnames[] = { "mask", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glClear",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glClear",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -631,15 +669,16 @@ static PyObject *_wrap_glClear(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glClearAccum(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glClearAccum(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
     GLfloat  _arg3;
+    char *_kwnames[] = { "red","green","blue","alpha", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ffff:glClearAccum",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ffff:glClearAccum",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -651,15 +690,16 @@ static PyObject *_wrap_glClearAccum(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glClearColor(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glClearColor(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLclampf  _arg0;
     GLclampf  _arg1;
     GLclampf  _arg2;
     GLclampf  _arg3;
+    char *_kwnames[] = { "red","green","blue","alpha", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ffff:glClearColor",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ffff:glClearColor",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -671,12 +711,13 @@ static PyObject *_wrap_glClearColor(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glClearDepth(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glClearDepth(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLclampd  _arg0;
+    char *_kwnames[] = { "depth", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"d:glClearDepth",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"d:glClearDepth",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -688,12 +729,13 @@ static PyObject *_wrap_glClearDepth(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glClearIndex(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glClearIndex(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
+    char *_kwnames[] = { "c", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"f:glClearIndex",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"f:glClearIndex",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -705,12 +747,13 @@ static PyObject *_wrap_glClearIndex(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glClearStencil(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glClearStencil(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
+    char *_kwnames[] = { "s", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glClearStencil",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glClearStencil",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -722,17 +765,19 @@ static PyObject *_wrap_glClearStencil(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glClipPlane(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glClipPlane(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLdouble * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "plane","equation", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glClipPlane",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glClipPlane",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLdouble_p")) {
+    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;
         }
@@ -747,14 +792,15 @@ static PyObject *_wrap_glClipPlane(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3b(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3b(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLbyte  _arg0;
     GLbyte  _arg1;
     GLbyte  _arg2;
+    char *_kwnames[] = { "red","green","blue", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"bbb:glColor3b",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"bbb:glColor3b",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -766,16 +812,18 @@ static PyObject *_wrap_glColor3b(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3bv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3bv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLbyte * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor3bv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor3bv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLbyte_p")) {
+    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;
         }
@@ -790,14 +838,15 @@ static PyObject *_wrap_glColor3bv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
+    char *_kwnames[] = { "red","green","blue", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ddd:glColor3d",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ddd:glColor3d",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -809,16 +858,18 @@ static PyObject *_wrap_glColor3d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor3dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor3dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -833,14 +884,15 @@ static PyObject *_wrap_glColor3dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "red","green","blue", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"fff:glColor3f",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"fff:glColor3f",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -852,16 +904,18 @@ static PyObject *_wrap_glColor3f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor3fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor3fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -876,14 +930,15 @@ static PyObject *_wrap_glColor3fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLint  _arg2;
+    char *_kwnames[] = { "red","green","blue", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glColor3i",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glColor3i",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -895,16 +950,18 @@ static PyObject *_wrap_glColor3i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor3iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor3iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -919,14 +976,15 @@ static PyObject *_wrap_glColor3iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
     GLshort  _arg2;
+    char *_kwnames[] = { "red","green","blue", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhh:glColor3s",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhh:glColor3s",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -938,16 +996,18 @@ static PyObject *_wrap_glColor3s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor3sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor3sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -962,14 +1022,15 @@ static PyObject *_wrap_glColor3sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3ub(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3ub(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLubyte  _arg0;
     GLubyte  _arg1;
     GLubyte  _arg2;
+    char *_kwnames[] = { "red","green","blue", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"bbb:glColor3ub",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"bbb:glColor3ub",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -981,16 +1042,18 @@ static PyObject *_wrap_glColor3ub(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3ubv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3ubv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLubyte * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor3ubv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor3ubv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLubyte_p")) {
+    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;
         }
@@ -1005,14 +1068,15 @@ static PyObject *_wrap_glColor3ubv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3ui(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3ui(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint  _arg0;
     GLuint  _arg1;
     GLuint  _arg2;
+    char *_kwnames[] = { "red","green","blue", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glColor3ui",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glColor3ui",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1024,16 +1088,18 @@ static PyObject *_wrap_glColor3ui(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3uiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3uiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor3uiv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor3uiv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLuint_p")) {
+    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;
         }
@@ -1048,14 +1114,15 @@ static PyObject *_wrap_glColor3uiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3us(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3us(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLushort  _arg0;
     GLushort  _arg1;
     GLushort  _arg2;
+    char *_kwnames[] = { "red","green","blue", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhh:glColor3us",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhh:glColor3us",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1067,16 +1134,18 @@ static PyObject *_wrap_glColor3us(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor3usv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor3usv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLushort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor3usv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor3usv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLushort_p")) {
+    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;
         }
@@ -1091,15 +1160,16 @@ static PyObject *_wrap_glColor3usv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4b(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4b(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLbyte  _arg0;
     GLbyte  _arg1;
     GLbyte  _arg2;
     GLbyte  _arg3;
+    char *_kwnames[] = { "red","green","blue","alpha", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"bbbb:glColor4b",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"bbbb:glColor4b",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1111,16 +1181,18 @@ static PyObject *_wrap_glColor4b(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4bv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4bv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLbyte * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor4bv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor4bv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLbyte_p")) {
+    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;
         }
@@ -1135,15 +1207,16 @@ static PyObject *_wrap_glColor4bv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
     GLdouble  _arg3;
+    char *_kwnames[] = { "red","green","blue","alpha", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dddd:glColor4d",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dddd:glColor4d",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1155,16 +1228,18 @@ static PyObject *_wrap_glColor4d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor4dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor4dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -1179,15 +1254,16 @@ static PyObject *_wrap_glColor4dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
     GLfloat  _arg3;
+    char *_kwnames[] = { "red","green","blue","alpha", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ffff:glColor4f",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ffff:glColor4f",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1199,16 +1275,18 @@ static PyObject *_wrap_glColor4f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor4fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor4fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -1223,15 +1301,16 @@ static PyObject *_wrap_glColor4fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLint  _arg2;
     GLint  _arg3;
+    char *_kwnames[] = { "red","green","blue","alpha", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiii:glColor4i",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiii:glColor4i",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1243,16 +1322,18 @@ static PyObject *_wrap_glColor4i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor4iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor4iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -1267,15 +1348,16 @@ static PyObject *_wrap_glColor4iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
     GLshort  _arg2;
     GLshort  _arg3;
+    char *_kwnames[] = { "red","green","blue","alpha", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhhh:glColor4s",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhhh:glColor4s",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1287,16 +1369,18 @@ static PyObject *_wrap_glColor4s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor4sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor4sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -1311,15 +1395,16 @@ static PyObject *_wrap_glColor4sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4ub(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4ub(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLubyte  _arg0;
     GLubyte  _arg1;
     GLubyte  _arg2;
     GLubyte  _arg3;
+    char *_kwnames[] = { "red","green","blue","alpha", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"bbbb:glColor4ub",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"bbbb:glColor4ub",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1331,16 +1416,18 @@ static PyObject *_wrap_glColor4ub(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4ubv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4ubv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLubyte * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor4ubv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor4ubv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLubyte_p")) {
+    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;
         }
@@ -1355,15 +1442,16 @@ static PyObject *_wrap_glColor4ubv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4ui(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4ui(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint  _arg0;
     GLuint  _arg1;
     GLuint  _arg2;
     GLuint  _arg3;
+    char *_kwnames[] = { "red","green","blue","alpha", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiii:glColor4ui",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiii:glColor4ui",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1375,16 +1463,18 @@ static PyObject *_wrap_glColor4ui(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4uiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4uiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor4uiv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor4uiv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLuint_p")) {
+    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;
         }
@@ -1399,15 +1489,16 @@ static PyObject *_wrap_glColor4uiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4us(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4us(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLushort  _arg0;
     GLushort  _arg1;
     GLushort  _arg2;
     GLushort  _arg3;
+    char *_kwnames[] = { "red","green","blue","alpha", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhhh:glColor4us",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhhh:glColor4us",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1419,16 +1510,18 @@ static PyObject *_wrap_glColor4us(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColor4usv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColor4usv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLushort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glColor4usv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glColor4usv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLushort_p")) {
+    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;
         }
@@ -1443,15 +1536,16 @@ static PyObject *_wrap_glColor4usv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColorMask(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColorMask(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLboolean  _arg0;
     GLboolean  _arg1;
     GLboolean  _arg2;
     GLboolean  _arg3;
+    char *_kwnames[] = { "red","green","blue","alpha", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"bbbb:glColorMask",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"bbbb:glColorMask",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1463,13 +1557,14 @@ static PyObject *_wrap_glColorMask(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColorMaterial(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColorMaterial(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
+    char *_kwnames[] = { "face","mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glColorMaterial",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glColorMaterial",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1481,19 +1576,21 @@ static PyObject *_wrap_glColorMaterial(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glColorPointer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glColorPointer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLenum  _arg1;
     GLsizei  _arg2;
     GLvoid * _arg3;
-    char * _argc3 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "size","type","stride","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiis:glColorPointer",&_arg0,&_arg1,&_arg2,&_argc3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiO:glColorPointer",_kwnames,&_arg0,&_arg1,&_arg2,&_argo3)) 
         return NULL;
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,(char *) 0 )) {
+    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;
         }
@@ -1508,16 +1605,17 @@ static PyObject *_wrap_glColorPointer(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glCopyPixels(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glCopyPixels(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLsizei  _arg2;
     GLsizei  _arg3;
     GLenum  _arg4;
+    char *_kwnames[] = { "x","y","width","height","type", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiii:glCopyPixels",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiii:glCopyPixels",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1529,7 +1627,7 @@ static PyObject *_wrap_glCopyPixels(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glCopyTexImage1D(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glCopyTexImage1D(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
@@ -1538,9 +1636,10 @@ static PyObject *_wrap_glCopyTexImage1D(PyObject *self, PyObject *args) {
     GLint  _arg4;
     GLsizei  _arg5;
     GLint  _arg6;
+    char *_kwnames[] = { "target","level","internalFormat","x","y","width","border", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiiiii:glCopyTexImage1D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiiii:glCopyTexImage1D",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1552,7 +1651,7 @@ static PyObject *_wrap_glCopyTexImage1D(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glCopyTexImage2D(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glCopyTexImage2D(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
@@ -1562,9 +1661,10 @@ static PyObject *_wrap_glCopyTexImage2D(PyObject *self, PyObject *args) {
     GLsizei  _arg5;
     GLsizei  _arg6;
     GLint  _arg7;
+    char *_kwnames[] = { "target","level","internalFormat","x","y","width","height","border", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiiiiii:glCopyTexImage2D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiiiii:glCopyTexImage2D",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1576,7 +1676,7 @@ static PyObject *_wrap_glCopyTexImage2D(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glCopyTexSubImage1D(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glCopyTexSubImage1D(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
@@ -1584,9 +1684,10 @@ static PyObject *_wrap_glCopyTexSubImage1D(PyObject *self, PyObject *args) {
     GLint  _arg3;
     GLint  _arg4;
     GLsizei  _arg5;
+    char *_kwnames[] = { "target","level","xoffset","x","y","width", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiiii:glCopyTexSubImage1D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiii:glCopyTexSubImage1D",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1598,7 +1699,7 @@ static PyObject *_wrap_glCopyTexSubImage1D(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glCopyTexSubImage2D(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glCopyTexSubImage2D(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
@@ -1608,9 +1709,10 @@ static PyObject *_wrap_glCopyTexSubImage2D(PyObject *self, PyObject *args) {
     GLint  _arg5;
     GLsizei  _arg6;
     GLsizei  _arg7;
+    char *_kwnames[] = { "target","level","xoffset","yoffset","x","y","width","height", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiiiiii:glCopyTexSubImage2D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiiiii:glCopyTexSubImage2D",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1622,12 +1724,13 @@ static PyObject *_wrap_glCopyTexSubImage2D(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glCullFace(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glCullFace(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glCullFace",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glCullFace",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1639,13 +1742,14 @@ static PyObject *_wrap_glCullFace(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDeleteLists(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDeleteLists(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint  _arg0;
     GLsizei  _arg1;
+    char *_kwnames[] = { "list","range", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glDeleteLists",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glDeleteLists",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1657,17 +1761,19 @@ static PyObject *_wrap_glDeleteLists(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDeleteTextures(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDeleteTextures(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLsizei  _arg0;
     GLuint * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "n","textures", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glDeleteTextures",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glDeleteTextures",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLuint_p")) {
+    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;
         }
@@ -1682,12 +1788,13 @@ static PyObject *_wrap_glDeleteTextures(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDepthFunc(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDepthFunc(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "func", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glDepthFunc",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glDepthFunc",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1699,12 +1806,13 @@ static PyObject *_wrap_glDepthFunc(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDepthMask(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDepthMask(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLboolean  _arg0;
+    char *_kwnames[] = { "flag", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"b:glDepthMask",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"b:glDepthMask",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1716,13 +1824,14 @@ static PyObject *_wrap_glDepthMask(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDepthRange(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDepthRange(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLclampd  _arg0;
     GLclampd  _arg1;
+    char *_kwnames[] = { "zNear","zFar", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dd:glDepthRange",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dd:glDepthRange",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1734,12 +1843,13 @@ static PyObject *_wrap_glDepthRange(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDisable(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDisable(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "cap", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glDisable",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glDisable",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1751,12 +1861,13 @@ static PyObject *_wrap_glDisable(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDisableClientState(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDisableClientState(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "array", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glDisableClientState",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glDisableClientState",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1768,14 +1879,15 @@ static PyObject *_wrap_glDisableClientState(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDrawArrays(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDrawArrays(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
     GLsizei  _arg2;
+    char *_kwnames[] = { "mode","first","count", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glDrawArrays",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glDrawArrays",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1787,12 +1899,13 @@ static PyObject *_wrap_glDrawArrays(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDrawBuffer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDrawBuffer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glDrawBuffer",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glDrawBuffer",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1804,19 +1917,21 @@ static PyObject *_wrap_glDrawBuffer(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDrawElements(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDrawElements(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLsizei  _arg1;
     GLenum  _arg2;
     GLvoid * _arg3;
-    char * _argc3 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "mode","count","type","indices", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiis:glDrawElements",&_arg0,&_arg1,&_arg2,&_argc3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiO:glDrawElements",_kwnames,&_arg0,&_arg1,&_arg2,&_argo3)) 
         return NULL;
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,(char *) 0 )) {
+    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;
         }
@@ -1831,20 +1946,22 @@ static PyObject *_wrap_glDrawElements(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glDrawPixels(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glDrawPixels(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLsizei  _arg0;
     GLsizei  _arg1;
     GLenum  _arg2;
     GLenum  _arg3;
     GLvoid * _arg4;
-    char * _argc4 = 0;
+    PyObject * _argo4 = 0;
+    char *_kwnames[] = { "width","height","format","type","pixels", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiis:glDrawPixels",&_arg0,&_arg1,&_arg2,&_arg3,&_argc4)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiO:glDrawPixels",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_argo4)) 
         return NULL;
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,(char *) 0 )) {
+    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;
         }
@@ -1859,12 +1976,13 @@ static PyObject *_wrap_glDrawPixels(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEdgeFlag(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEdgeFlag(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLboolean  _arg0;
+    char *_kwnames[] = { "flag", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"b:glEdgeFlag",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"b:glEdgeFlag",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1876,18 +1994,20 @@ static PyObject *_wrap_glEdgeFlag(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEdgeFlagPointer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEdgeFlagPointer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLsizei  _arg0;
-    GLvoid * _arg1;
-    char * _argc1 = 0;
+    GLboolean * _arg1;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "stride","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glEdgeFlagPointer",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glEdgeFlagPointer",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,(char *) 0 )) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of glEdgeFlagPointer. Expected _GLvoid_p.");
+    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;
         }
     }
@@ -1901,16 +2021,18 @@ static PyObject *_wrap_glEdgeFlagPointer(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEdgeFlagv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEdgeFlagv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLboolean * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "flag", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glEdgeFlagv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glEdgeFlagv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLboolean_p")) {
+    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;
         }
@@ -1925,12 +2047,13 @@ static PyObject *_wrap_glEdgeFlagv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEnable(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEnable(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "cap", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glEnable",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glEnable",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1942,12 +2065,13 @@ static PyObject *_wrap_glEnable(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEnableClientState(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEnableClientState(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "array", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glEnableClientState",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glEnableClientState",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1959,11 +2083,12 @@ static PyObject *_wrap_glEnableClientState(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEnd(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glEnd")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glEnd",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1975,11 +2100,12 @@ static PyObject *_wrap_glEnd(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEndList(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEndList(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glEndList")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glEndList",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -1991,12 +2117,13 @@ static PyObject *_wrap_glEndList(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalCoord1d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalCoord1d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
+    char *_kwnames[] = { "u", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"d:glEvalCoord1d",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"d:glEvalCoord1d",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2008,16 +2135,18 @@ static PyObject *_wrap_glEvalCoord1d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalCoord1dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalCoord1dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "u", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glEvalCoord1dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glEvalCoord1dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -2032,12 +2161,13 @@ static PyObject *_wrap_glEvalCoord1dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalCoord1f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalCoord1f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
+    char *_kwnames[] = { "u", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"f:glEvalCoord1f",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"f:glEvalCoord1f",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2049,16 +2179,18 @@ static PyObject *_wrap_glEvalCoord1f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalCoord1fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalCoord1fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "u", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glEvalCoord1fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glEvalCoord1fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -2073,13 +2205,14 @@ static PyObject *_wrap_glEvalCoord1fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalCoord2d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalCoord2d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
+    char *_kwnames[] = { "u","v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dd:glEvalCoord2d",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dd:glEvalCoord2d",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2091,16 +2224,18 @@ static PyObject *_wrap_glEvalCoord2d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalCoord2dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalCoord2dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "u", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glEvalCoord2dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glEvalCoord2dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -2115,13 +2250,14 @@ static PyObject *_wrap_glEvalCoord2dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalCoord2f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalCoord2f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
+    char *_kwnames[] = { "u","v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ff:glEvalCoord2f",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ff:glEvalCoord2f",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2133,16 +2269,18 @@ static PyObject *_wrap_glEvalCoord2f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalCoord2fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalCoord2fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "u", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glEvalCoord2fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glEvalCoord2fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -2157,14 +2295,15 @@ static PyObject *_wrap_glEvalCoord2fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalMesh1(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalMesh1(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
     GLint  _arg2;
+    char *_kwnames[] = { "mode","i1","i2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glEvalMesh1",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glEvalMesh1",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2176,16 +2315,17 @@ static PyObject *_wrap_glEvalMesh1(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalMesh2(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalMesh2(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
     GLint  _arg2;
     GLint  _arg3;
     GLint  _arg4;
+    char *_kwnames[] = { "mode","i1","i2","j1","j2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiii:glEvalMesh2",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiii:glEvalMesh2",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2197,12 +2337,13 @@ static PyObject *_wrap_glEvalMesh2(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalPoint1(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalPoint1(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
+    char *_kwnames[] = { "i", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glEvalPoint1",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glEvalPoint1",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2214,13 +2355,14 @@ static PyObject *_wrap_glEvalPoint1(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glEvalPoint2(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glEvalPoint2(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
+    char *_kwnames[] = { "i","j", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glEvalPoint2",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glEvalPoint2",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2232,18 +2374,20 @@ static PyObject *_wrap_glEvalPoint2(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glFeedbackBuffer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glFeedbackBuffer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLsizei  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "size","type","buffer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glFeedbackBuffer",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glFeedbackBuffer",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -2258,11 +2402,12 @@ static PyObject *_wrap_glFeedbackBuffer(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glFinish(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glFinish(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glFinish")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glFinish",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2274,11 +2419,12 @@ static PyObject *_wrap_glFinish(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glFlush(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glFlush(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glFlush")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glFlush",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2290,13 +2436,14 @@ static PyObject *_wrap_glFlush(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glFogf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glFogf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLfloat  _arg1;
+    char *_kwnames[] = { "pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"if:glFogf",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"if:glFogf",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2308,17 +2455,19 @@ static PyObject *_wrap_glFogf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glFogfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glFogfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLfloat * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glFogfv",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glFogfv",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLfloat_p")) {
+    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;
         }
@@ -2333,13 +2482,14 @@ static PyObject *_wrap_glFogfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glFogi(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glFogi(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
+    char *_kwnames[] = { "pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glFogi",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glFogi",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2351,17 +2501,19 @@ static PyObject *_wrap_glFogi(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glFogiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glFogiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glFogiv",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glFogiv",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLint_p")) {
+    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;
         }
@@ -2376,12 +2528,13 @@ static PyObject *_wrap_glFogiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glFrontFace(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glFrontFace(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glFrontFace",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glFrontFace",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2393,7 +2546,7 @@ static PyObject *_wrap_glFrontFace(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glFrustum(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glFrustum(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
@@ -2401,9 +2554,10 @@ static PyObject *_wrap_glFrustum(PyObject *self, PyObject *args) {
     GLdouble  _arg3;
     GLdouble  _arg4;
     GLdouble  _arg5;
+    char *_kwnames[] = { "left","right","bottom","top","zNear","zFar", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dddddd:glFrustum",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dddddd:glFrustum",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2415,13 +2569,14 @@ static PyObject *_wrap_glFrustum(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGenLists(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGenLists(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint  _result;
     GLsizei  _arg0;
+    char *_kwnames[] = { "range", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glGenLists",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glGenLists",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2432,17 +2587,19 @@ static PyObject *_wrap_glGenLists(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGenTextures(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGenTextures(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLsizei  _arg0;
     GLuint * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "n","textures", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glGenTextures",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glGenTextures",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLuint_p")) {
+    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;
         }
@@ -2457,17 +2614,19 @@ static PyObject *_wrap_glGenTextures(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetBooleanv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetBooleanv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLboolean * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glGetBooleanv",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glGetBooleanv",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLboolean_p")) {
+    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;
         }
@@ -2482,17 +2641,19 @@ static PyObject *_wrap_glGetBooleanv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetClipPlane(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetClipPlane(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLdouble * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "plane","equation", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glGetClipPlane",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glGetClipPlane",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLdouble_p")) {
+    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;
         }
@@ -2507,17 +2668,19 @@ static PyObject *_wrap_glGetClipPlane(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetDoublev(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetDoublev(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLdouble * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glGetDoublev",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glGetDoublev",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLdouble_p")) {
+    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;
         }
@@ -2532,12 +2695,13 @@ static PyObject *_wrap_glGetDoublev(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetError(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetError(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _result;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glGetError")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glGetError",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -2548,17 +2712,19 @@ static PyObject *_wrap_glGetError(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetFloatv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetFloatv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLfloat * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glGetFloatv",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glGetFloatv",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLfloat_p")) {
+    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;
         }
@@ -2573,17 +2739,19 @@ static PyObject *_wrap_glGetFloatv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetIntegerv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetIntegerv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glGetIntegerv",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glGetIntegerv",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLint_p")) {
+    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;
         }
@@ -2598,18 +2766,20 @@ static PyObject *_wrap_glGetIntegerv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetLightfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetLightfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "light","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetLightfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetLightfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -2624,18 +2794,20 @@ static PyObject *_wrap_glGetLightfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetLightiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetLightiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "light","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetLightiv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetLightiv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLint_p")) {
+    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;
         }
@@ -2650,18 +2822,20 @@ static PyObject *_wrap_glGetLightiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetMapdv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetMapdv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLdouble * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "target","query","v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetMapdv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetMapdv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLdouble_p")) {
+    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;
         }
@@ -2676,18 +2850,20 @@ static PyObject *_wrap_glGetMapdv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetMapfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetMapfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "target","query","v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetMapfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetMapfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -2702,18 +2878,20 @@ static PyObject *_wrap_glGetMapfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetMapiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetMapiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "target","query","v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetMapiv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetMapiv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLint_p")) {
+    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;
         }
@@ -2728,18 +2906,20 @@ static PyObject *_wrap_glGetMapiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetMaterialfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetMaterialfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "face","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetMaterialfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetMaterialfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -2754,18 +2934,20 @@ static PyObject *_wrap_glGetMaterialfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetMaterialiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetMaterialiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "face","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetMaterialiv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetMaterialiv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLint_p")) {
+    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;
         }
@@ -2780,17 +2962,19 @@ static PyObject *_wrap_glGetMaterialiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetPixelMapfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetPixelMapfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLfloat * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "map","values", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glGetPixelMapfv",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glGetPixelMapfv",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLfloat_p")) {
+    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;
         }
@@ -2805,17 +2989,19 @@ static PyObject *_wrap_glGetPixelMapfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetPixelMapuiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetPixelMapuiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLuint * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "map","values", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glGetPixelMapuiv",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glGetPixelMapuiv",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLuint_p")) {
+    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;
         }
@@ -2830,17 +3016,19 @@ static PyObject *_wrap_glGetPixelMapuiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetPixelMapusv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetPixelMapusv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLushort * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "map","values", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glGetPixelMapusv",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glGetPixelMapusv",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLushort_p")) {
+    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;
         }
@@ -2855,17 +3043,19 @@ static PyObject *_wrap_glGetPixelMapusv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetPointerv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetPointerv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLvoid ** _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glGetPointerv",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glGetPointerv",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,(char *) 0 )) {
+    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;
         }
@@ -2880,16 +3070,18 @@ static PyObject *_wrap_glGetPointerv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetPolygonStipple(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetPolygonStipple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLubyte * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "mask", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glGetPolygonStipple",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glGetPolygonStipple",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLubyte_p")) {
+    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;
         }
@@ -2904,37 +3096,45 @@ static PyObject *_wrap_glGetPolygonStipple(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetString(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLubyte * _result;
     GLenum  _arg0;
+    char *_kwnames[] = { "name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glGetString",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glGetString",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
         _result = (GLubyte *)glGetString(_arg0);
 
     wxPy_END_ALLOW_THREADS;
-}    SWIG_MakePtr(_ptemp, (char *) _result,"_GLubyte_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+}    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) {
+static PyObject *_wrap_glGetTexEnvfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "target","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetTexEnvfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetTexEnvfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -2949,18 +3149,20 @@ static PyObject *_wrap_glGetTexEnvfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetTexEnviv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetTexEnviv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "target","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetTexEnviv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetTexEnviv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLint_p")) {
+    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;
         }
@@ -2975,18 +3177,20 @@ static PyObject *_wrap_glGetTexEnviv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetTexGendv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetTexGendv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLdouble * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "coord","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetTexGendv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetTexGendv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLdouble_p")) {
+    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;
         }
@@ -3001,18 +3205,20 @@ static PyObject *_wrap_glGetTexGendv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetTexGenfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetTexGenfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "coord","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetTexGenfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetTexGenfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -3027,18 +3233,20 @@ static PyObject *_wrap_glGetTexGenfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetTexGeniv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetTexGeniv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "coord","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetTexGeniv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetTexGeniv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLint_p")) {
+    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;
         }
@@ -3053,20 +3261,22 @@ static PyObject *_wrap_glGetTexGeniv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetTexImage(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetTexImage(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
     GLenum  _arg2;
     GLenum  _arg3;
     GLvoid * _arg4;
-    char * _argc4 = 0;
+    PyObject * _argo4 = 0;
+    char *_kwnames[] = { "target","level","format","type","pixels", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiis:glGetTexImage",&_arg0,&_arg1,&_arg2,&_arg3,&_argc4)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiO:glGetTexImage",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_argo4)) 
         return NULL;
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,(char *) 0 )) {
+    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;
         }
@@ -3081,19 +3291,21 @@ static PyObject *_wrap_glGetTexImage(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetTexLevelParameterfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetTexLevelParameterfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
     GLenum  _arg2;
     GLfloat * _arg3;
-    char * _argc3 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "target","level","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiis:glGetTexLevelParameterfv",&_arg0,&_arg1,&_arg2,&_argc3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiO:glGetTexLevelParameterfv",_kwnames,&_arg0,&_arg1,&_arg2,&_argo3)) 
         return NULL;
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_GLfloat_p")) {
+    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;
         }
@@ -3108,19 +3320,21 @@ static PyObject *_wrap_glGetTexLevelParameterfv(PyObject *self, PyObject *args)
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetTexLevelParameteriv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetTexLevelParameteriv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
     GLenum  _arg2;
     GLint * _arg3;
-    char * _argc3 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "target","level","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiis:glGetTexLevelParameteriv",&_arg0,&_arg1,&_arg2,&_argc3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiO:glGetTexLevelParameteriv",_kwnames,&_arg0,&_arg1,&_arg2,&_argo3)) 
         return NULL;
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_GLint_p")) {
+    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;
         }
@@ -3135,18 +3349,20 @@ static PyObject *_wrap_glGetTexLevelParameteriv(PyObject *self, PyObject *args)
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetTexParameterfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetTexParameterfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "target","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetTexParameterfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetTexParameterfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -3161,18 +3377,20 @@ static PyObject *_wrap_glGetTexParameterfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glGetTexParameteriv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glGetTexParameteriv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "target","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glGetTexParameteriv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glGetTexParameteriv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLint_p")) {
+    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;
         }
@@ -3187,13 +3405,14 @@ static PyObject *_wrap_glGetTexParameteriv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glHint(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glHint(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
+    char *_kwnames[] = { "target","mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glHint",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glHint",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3205,12 +3424,13 @@ static PyObject *_wrap_glHint(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexMask(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexMask(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint  _arg0;
+    char *_kwnames[] = { "mask", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glIndexMask",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glIndexMask",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3222,18 +3442,20 @@ static PyObject *_wrap_glIndexMask(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexPointer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexPointer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLsizei  _arg1;
     GLvoid * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "type","stride","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glIndexPointer",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glIndexPointer",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,(char *) 0 )) {
+    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;
         }
@@ -3248,12 +3470,13 @@ static PyObject *_wrap_glIndexPointer(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexd(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexd(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
+    char *_kwnames[] = { "c", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"d:glIndexd",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"d:glIndexd",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3265,16 +3488,18 @@ static PyObject *_wrap_glIndexd(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexdv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexdv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "c", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glIndexdv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glIndexdv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -3289,12 +3514,13 @@ static PyObject *_wrap_glIndexdv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
+    char *_kwnames[] = { "c", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"f:glIndexf",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"f:glIndexf",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3306,16 +3532,18 @@ static PyObject *_wrap_glIndexf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "c", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glIndexfv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glIndexfv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -3330,12 +3558,13 @@ static PyObject *_wrap_glIndexfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexi(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexi(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
+    char *_kwnames[] = { "c", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glIndexi",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glIndexi",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3347,16 +3576,18 @@ static PyObject *_wrap_glIndexi(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "c", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glIndexiv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glIndexiv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -3371,12 +3602,13 @@ static PyObject *_wrap_glIndexiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexs(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexs(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
+    char *_kwnames[] = { "c", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"h:glIndexs",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"h:glIndexs",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3388,16 +3620,18 @@ static PyObject *_wrap_glIndexs(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexsv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexsv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "c", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glIndexsv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glIndexsv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -3412,12 +3646,13 @@ static PyObject *_wrap_glIndexsv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexub(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexub(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLubyte  _arg0;
+    char *_kwnames[] = { "c", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"b:glIndexub",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"b:glIndexub",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3429,16 +3664,18 @@ static PyObject *_wrap_glIndexub(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIndexubv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIndexubv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLubyte * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "c", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glIndexubv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glIndexubv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLubyte_p")) {
+    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;
         }
@@ -3453,11 +3690,12 @@ static PyObject *_wrap_glIndexubv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glInitNames(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glInitNames(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glInitNames")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glInitNames",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3469,18 +3707,20 @@ static PyObject *_wrap_glInitNames(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glInterleavedArrays(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glInterleavedArrays(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLsizei  _arg1;
     GLvoid * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "format","stride","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glInterleavedArrays",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glInterleavedArrays",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,(char *) 0 )) {
+    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;
         }
@@ -3495,13 +3735,14 @@ static PyObject *_wrap_glInterleavedArrays(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIsEnabled(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIsEnabled(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLboolean  _result;
     GLenum  _arg0;
+    char *_kwnames[] = { "cap", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glIsEnabled",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glIsEnabled",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3512,13 +3753,14 @@ static PyObject *_wrap_glIsEnabled(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIsList(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIsList(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLboolean  _result;
     GLuint  _arg0;
+    char *_kwnames[] = { "list", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glIsList",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glIsList",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3529,13 +3771,14 @@ static PyObject *_wrap_glIsList(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glIsTexture(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glIsTexture(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLboolean  _result;
     GLuint  _arg0;
+    char *_kwnames[] = { "texture", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glIsTexture",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glIsTexture",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3546,13 +3789,14 @@ static PyObject *_wrap_glIsTexture(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLightModelf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLightModelf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLfloat  _arg1;
+    char *_kwnames[] = { "pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"if:glLightModelf",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"if:glLightModelf",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3564,17 +3808,19 @@ static PyObject *_wrap_glLightModelf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLightModelfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLightModelfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLfloat * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glLightModelfv",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glLightModelfv",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLfloat_p")) {
+    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;
         }
@@ -3589,13 +3835,14 @@ static PyObject *_wrap_glLightModelfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLightModeli(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLightModeli(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
+    char *_kwnames[] = { "pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glLightModeli",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glLightModeli",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3607,17 +3854,19 @@ static PyObject *_wrap_glLightModeli(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLightModeliv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLightModeliv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glLightModeliv",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glLightModeliv",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLint_p")) {
+    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;
         }
@@ -3632,14 +3881,15 @@ static PyObject *_wrap_glLightModeliv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLightf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLightf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "light","pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iif:glLightf",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iif:glLightf",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3651,18 +3901,20 @@ static PyObject *_wrap_glLightf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLightfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLightfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "light","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glLightfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glLightfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -3677,14 +3929,15 @@ static PyObject *_wrap_glLightfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLighti(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLighti(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint  _arg2;
+    char *_kwnames[] = { "light","pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glLighti",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glLighti",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3696,18 +3949,20 @@ static PyObject *_wrap_glLighti(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLightiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLightiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "light","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glLightiv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glLightiv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLint_p")) {
+    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;
         }
@@ -3722,13 +3977,14 @@ static PyObject *_wrap_glLightiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLineStipple(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLineStipple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLushort  _arg1;
+    char *_kwnames[] = { "factor","pattern", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ih:glLineStipple",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ih:glLineStipple",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3740,12 +3996,13 @@ static PyObject *_wrap_glLineStipple(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLineWidth(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLineWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
+    char *_kwnames[] = { "width", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"f:glLineWidth",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"f:glLineWidth",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3757,12 +4014,13 @@ static PyObject *_wrap_glLineWidth(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glListBase(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glListBase(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint  _arg0;
+    char *_kwnames[] = { "base", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glListBase",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glListBase",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3774,11 +4032,12 @@ static PyObject *_wrap_glListBase(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLoadIdentity(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLoadIdentity(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glLoadIdentity")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glLoadIdentity",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3790,16 +4049,18 @@ static PyObject *_wrap_glLoadIdentity(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLoadMatrixd(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLoadMatrixd(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "m", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glLoadMatrixd",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glLoadMatrixd",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -3814,16 +4075,18 @@ static PyObject *_wrap_glLoadMatrixd(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLoadMatrixf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLoadMatrixf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "m", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glLoadMatrixf",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glLoadMatrixf",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -3838,12 +4101,13 @@ static PyObject *_wrap_glLoadMatrixf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLoadName(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLoadName(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint  _arg0;
+    char *_kwnames[] = { "name", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glLoadName",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glLoadName",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3855,12 +4119,13 @@ static PyObject *_wrap_glLoadName(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glLogicOp(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glLogicOp(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "opcode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glLogicOp",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glLogicOp",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -3872,7 +4137,7 @@ static PyObject *_wrap_glLogicOp(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMap1d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMap1d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLdouble  _arg1;
@@ -3880,13 +4145,15 @@ static PyObject *_wrap_glMap1d(PyObject *self, PyObject *args) {
     GLint  _arg3;
     GLint  _arg4;
     GLdouble * _arg5;
-    char * _argc5 = 0;
+    PyObject * _argo5 = 0;
+    char *_kwnames[] = { "target","u1","u2","stride","order","points", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iddiis:glMap1d",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_argc5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iddiiO:glMap1d",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_argo5)) 
         return NULL;
-    if (_argc5) {
-        if (SWIG_GetPtr(_argc5,(void **) &_arg5,"_GLdouble_p")) {
+    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;
         }
@@ -3901,7 +4168,7 @@ static PyObject *_wrap_glMap1d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMap1f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMap1f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLfloat  _arg1;
@@ -3909,13 +4176,15 @@ static PyObject *_wrap_glMap1f(PyObject *self, PyObject *args) {
     GLint  _arg3;
     GLint  _arg4;
     GLfloat * _arg5;
-    char * _argc5 = 0;
+    PyObject * _argo5 = 0;
+    char *_kwnames[] = { "target","u1","u2","stride","order","points", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iffiis:glMap1f",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_argc5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iffiiO:glMap1f",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_argo5)) 
         return NULL;
-    if (_argc5) {
-        if (SWIG_GetPtr(_argc5,(void **) &_arg5,"_GLfloat_p")) {
+    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;
         }
@@ -3930,7 +4199,7 @@ static PyObject *_wrap_glMap1f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMap2d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMap2d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLdouble  _arg1;
@@ -3942,13 +4211,15 @@ static PyObject *_wrap_glMap2d(PyObject *self, PyObject *args) {
     GLint  _arg7;
     GLint  _arg8;
     GLdouble * _arg9;
-    char * _argc9 = 0;
+    PyObject * _argo9 = 0;
+    char *_kwnames[] = { "target","u1","u2","ustride","uorder","v1","v2","vstride","vorder","points", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iddiiddiis:glMap2d",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_arg8,&_argc9)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iddiiddiiO:glMap2d",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_arg8,&_argo9)) 
         return NULL;
-    if (_argc9) {
-        if (SWIG_GetPtr(_argc9,(void **) &_arg9,"_GLdouble_p")) {
+    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;
         }
@@ -3963,7 +4234,7 @@ static PyObject *_wrap_glMap2d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMap2f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMap2f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLfloat  _arg1;
@@ -3975,13 +4246,15 @@ static PyObject *_wrap_glMap2f(PyObject *self, PyObject *args) {
     GLint  _arg7;
     GLint  _arg8;
     GLfloat * _arg9;
-    char * _argc9 = 0;
+    PyObject * _argo9 = 0;
+    char *_kwnames[] = { "target","u1","u2","ustride","uorder","v1","v2","vstride","vorder","points", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iffiiffiis:glMap2f",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_arg8,&_argc9)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iffiiffiiO:glMap2f",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_arg8,&_argo9)) 
         return NULL;
-    if (_argc9) {
-        if (SWIG_GetPtr(_argc9,(void **) &_arg9,"_GLfloat_p")) {
+    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;
         }
@@ -3996,14 +4269,15 @@ static PyObject *_wrap_glMap2f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMapGrid1d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMapGrid1d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
+    char *_kwnames[] = { "un","u1","u2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"idd:glMapGrid1d",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"idd:glMapGrid1d",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4015,14 +4289,15 @@ static PyObject *_wrap_glMapGrid1d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMapGrid1f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMapGrid1f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "un","u1","u2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iff:glMapGrid1f",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iff:glMapGrid1f",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4034,7 +4309,7 @@ static PyObject *_wrap_glMapGrid1f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMapGrid2d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMapGrid2d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLdouble  _arg1;
@@ -4042,9 +4317,10 @@ static PyObject *_wrap_glMapGrid2d(PyObject *self, PyObject *args) {
     GLint  _arg3;
     GLdouble  _arg4;
     GLdouble  _arg5;
+    char *_kwnames[] = { "un","u1","u2","vn","v1","v2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iddidd:glMapGrid2d",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iddidd:glMapGrid2d",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4056,7 +4332,7 @@ static PyObject *_wrap_glMapGrid2d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMapGrid2f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMapGrid2f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLfloat  _arg1;
@@ -4064,9 +4340,10 @@ static PyObject *_wrap_glMapGrid2f(PyObject *self, PyObject *args) {
     GLint  _arg3;
     GLfloat  _arg4;
     GLfloat  _arg5;
+    char *_kwnames[] = { "un","u1","u2","vn","v1","v2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iffiff:glMapGrid2f",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iffiff:glMapGrid2f",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4078,14 +4355,15 @@ static PyObject *_wrap_glMapGrid2f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMaterialf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMaterialf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "face","pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iif:glMaterialf",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iif:glMaterialf",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4097,18 +4375,20 @@ static PyObject *_wrap_glMaterialf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMaterialfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMaterialfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "face","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glMaterialfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glMaterialfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -4123,14 +4403,15 @@ static PyObject *_wrap_glMaterialfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMateriali(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMateriali(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint  _arg2;
+    char *_kwnames[] = { "face","pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glMateriali",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glMateriali",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4142,18 +4423,20 @@ static PyObject *_wrap_glMateriali(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMaterialiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMaterialiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "face","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glMaterialiv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glMaterialiv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLint_p")) {
+    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;
         }
@@ -4168,12 +4451,13 @@ static PyObject *_wrap_glMaterialiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMatrixMode(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMatrixMode(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glMatrixMode",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glMatrixMode",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4185,16 +4469,18 @@ static PyObject *_wrap_glMatrixMode(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMultMatrixd(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMultMatrixd(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "m", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glMultMatrixd",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glMultMatrixd",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -4209,16 +4495,18 @@ static PyObject *_wrap_glMultMatrixd(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glMultMatrixf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glMultMatrixf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "m", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glMultMatrixf",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glMultMatrixf",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -4233,13 +4521,14 @@ static PyObject *_wrap_glMultMatrixf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNewList(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNewList(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint  _arg0;
     GLenum  _arg1;
+    char *_kwnames[] = { "list","mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glNewList",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glNewList",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4251,14 +4540,15 @@ static PyObject *_wrap_glNewList(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormal3b(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormal3b(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLbyte  _arg0;
     GLbyte  _arg1;
     GLbyte  _arg2;
+    char *_kwnames[] = { "nx","ny","nz", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"bbb:glNormal3b",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"bbb:glNormal3b",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4270,16 +4560,18 @@ static PyObject *_wrap_glNormal3b(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormal3bv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormal3bv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLbyte * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glNormal3bv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glNormal3bv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLbyte_p")) {
+    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;
         }
@@ -4294,14 +4586,15 @@ static PyObject *_wrap_glNormal3bv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormal3d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormal3d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
+    char *_kwnames[] = { "nx","ny","nz", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ddd:glNormal3d",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ddd:glNormal3d",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4313,16 +4606,18 @@ static PyObject *_wrap_glNormal3d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormal3dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormal3dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glNormal3dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glNormal3dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -4337,14 +4632,15 @@ static PyObject *_wrap_glNormal3dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormal3f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormal3f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "nx","ny","nz", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"fff:glNormal3f",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"fff:glNormal3f",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4356,16 +4652,18 @@ static PyObject *_wrap_glNormal3f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormal3fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormal3fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glNormal3fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glNormal3fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -4380,14 +4678,15 @@ static PyObject *_wrap_glNormal3fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormal3i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormal3i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLint  _arg2;
+    char *_kwnames[] = { "nx","ny","nz", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glNormal3i",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glNormal3i",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4399,16 +4698,18 @@ static PyObject *_wrap_glNormal3i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormal3iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormal3iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glNormal3iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glNormal3iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -4423,14 +4724,15 @@ static PyObject *_wrap_glNormal3iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormal3s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormal3s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
     GLshort  _arg2;
+    char *_kwnames[] = { "nx","ny","nz", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhh:glNormal3s",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhh:glNormal3s",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4442,16 +4744,18 @@ static PyObject *_wrap_glNormal3s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormal3sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormal3sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glNormal3sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glNormal3sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -4466,18 +4770,20 @@ static PyObject *_wrap_glNormal3sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glNormalPointer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glNormalPointer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLsizei  _arg1;
     GLvoid * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "type","stride","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glNormalPointer",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glNormalPointer",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,(char *) 0 )) {
+    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;
         }
@@ -4492,7 +4798,7 @@ static PyObject *_wrap_glNormalPointer(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glOrtho(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glOrtho(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
@@ -4500,9 +4806,10 @@ static PyObject *_wrap_glOrtho(PyObject *self, PyObject *args) {
     GLdouble  _arg3;
     GLdouble  _arg4;
     GLdouble  _arg5;
+    char *_kwnames[] = { "left","right","bottom","top","zNear","zFar", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dddddd:glOrtho",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dddddd:glOrtho",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4514,12 +4821,13 @@ static PyObject *_wrap_glOrtho(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPassThrough(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPassThrough(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
+    char *_kwnames[] = { "token", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"f:glPassThrough",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"f:glPassThrough",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4531,18 +4839,20 @@ static PyObject *_wrap_glPassThrough(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPixelMapfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPixelMapfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLsizei  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "map","mapsize","values", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glPixelMapfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glPixelMapfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -4557,18 +4867,20 @@ static PyObject *_wrap_glPixelMapfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPixelMapuiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPixelMapuiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLsizei  _arg1;
     GLuint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "map","mapsize","values", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glPixelMapuiv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glPixelMapuiv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLuint_p")) {
+    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;
         }
@@ -4583,18 +4895,20 @@ static PyObject *_wrap_glPixelMapuiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPixelMapusv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPixelMapusv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLsizei  _arg1;
     GLushort * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "map","mapsize","values", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glPixelMapusv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glPixelMapusv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLushort_p")) {
+    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;
         }
@@ -4609,13 +4923,14 @@ static PyObject *_wrap_glPixelMapusv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPixelStoref(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPixelStoref(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLfloat  _arg1;
+    char *_kwnames[] = { "pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"if:glPixelStoref",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"if:glPixelStoref",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4627,13 +4942,14 @@ static PyObject *_wrap_glPixelStoref(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPixelStorei(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPixelStorei(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
+    char *_kwnames[] = { "pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glPixelStorei",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glPixelStorei",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4645,13 +4961,14 @@ static PyObject *_wrap_glPixelStorei(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPixelTransferf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPixelTransferf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLfloat  _arg1;
+    char *_kwnames[] = { "pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"if:glPixelTransferf",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"if:glPixelTransferf",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4663,13 +4980,14 @@ static PyObject *_wrap_glPixelTransferf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPixelTransferi(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPixelTransferi(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
+    char *_kwnames[] = { "pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glPixelTransferi",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glPixelTransferi",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4681,13 +4999,14 @@ static PyObject *_wrap_glPixelTransferi(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPixelZoom(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPixelZoom(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
+    char *_kwnames[] = { "xfactor","yfactor", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ff:glPixelZoom",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ff:glPixelZoom",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4699,12 +5018,13 @@ static PyObject *_wrap_glPixelZoom(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPointSize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPointSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
+    char *_kwnames[] = { "size", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"f:glPointSize",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"f:glPointSize",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4716,13 +5036,14 @@ static PyObject *_wrap_glPointSize(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPolygonMode(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPolygonMode(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
+    char *_kwnames[] = { "face","mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glPolygonMode",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glPolygonMode",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4734,13 +5055,14 @@ static PyObject *_wrap_glPolygonMode(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPolygonOffset(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPolygonOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
+    char *_kwnames[] = { "factor","units", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ff:glPolygonOffset",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ff:glPolygonOffset",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4752,16 +5074,18 @@ static PyObject *_wrap_glPolygonOffset(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPolygonStipple(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPolygonStipple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLubyte * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "mask", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glPolygonStipple",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glPolygonStipple",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLubyte_p")) {
+    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;
         }
@@ -4776,11 +5100,12 @@ static PyObject *_wrap_glPolygonStipple(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPopAttrib(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPopAttrib(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glPopAttrib")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glPopAttrib",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4792,11 +5117,12 @@ static PyObject *_wrap_glPopAttrib(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPopClientAttrib(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPopClientAttrib(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glPopClientAttrib")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glPopClientAttrib",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4808,11 +5134,12 @@ static PyObject *_wrap_glPopClientAttrib(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPopMatrix(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPopMatrix(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glPopMatrix")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glPopMatrix",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4824,11 +5151,12 @@ static PyObject *_wrap_glPopMatrix(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPopName(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPopName(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glPopName")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glPopName",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4840,25 +5168,28 @@ static PyObject *_wrap_glPopName(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPrioritizeTextures(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPrioritizeTextures(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLsizei  _arg0;
     GLuint * _arg1;
     GLclampf * _arg2;
-    char * _argc1 = 0;
-    char * _argc2 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "n","textures","priorities", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iss:glPrioritizeTextures",&_arg0,&_argc1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iOO:glPrioritizeTextures",_kwnames,&_arg0,&_argo1,&_argo2)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLuint_p")) {
+    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 (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLclampf_p")) {
+    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;
         }
@@ -4873,12 +5204,13 @@ static PyObject *_wrap_glPrioritizeTextures(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPushAttrib(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPushAttrib(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLbitfield  _arg0;
+    char *_kwnames[] = { "mask", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glPushAttrib",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glPushAttrib",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4890,12 +5222,13 @@ static PyObject *_wrap_glPushAttrib(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPushClientAttrib(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPushClientAttrib(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLbitfield  _arg0;
+    char *_kwnames[] = { "mask", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glPushClientAttrib",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glPushClientAttrib",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4907,11 +5240,12 @@ static PyObject *_wrap_glPushClientAttrib(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPushMatrix(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPushMatrix(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":glPushMatrix")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":glPushMatrix",_kwnames)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4923,12 +5257,13 @@ static PyObject *_wrap_glPushMatrix(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glPushName(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glPushName(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint  _arg0;
+    char *_kwnames[] = { "name", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glPushName",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glPushName",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4940,13 +5275,14 @@ static PyObject *_wrap_glPushName(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos2d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos2d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
+    char *_kwnames[] = { "x","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dd:glRasterPos2d",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dd:glRasterPos2d",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -4958,16 +5294,18 @@ static PyObject *_wrap_glRasterPos2d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos2dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos2dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos2dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos2dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -4982,13 +5320,14 @@ static PyObject *_wrap_glRasterPos2dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos2f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos2f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
+    char *_kwnames[] = { "x","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ff:glRasterPos2f",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ff:glRasterPos2f",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5000,16 +5339,18 @@ static PyObject *_wrap_glRasterPos2f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos2fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos2fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos2fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos2fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -5024,13 +5365,14 @@ static PyObject *_wrap_glRasterPos2fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos2i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos2i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
+    char *_kwnames[] = { "x","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glRasterPos2i",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glRasterPos2i",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5042,16 +5384,18 @@ static PyObject *_wrap_glRasterPos2i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos2iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos2iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos2iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos2iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -5066,13 +5410,14 @@ static PyObject *_wrap_glRasterPos2iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos2s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos2s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
+    char *_kwnames[] = { "x","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hh:glRasterPos2s",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hh:glRasterPos2s",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5084,16 +5429,18 @@ static PyObject *_wrap_glRasterPos2s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos2sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos2sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos2sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos2sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -5108,14 +5455,15 @@ static PyObject *_wrap_glRasterPos2sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos3d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos3d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ddd:glRasterPos3d",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ddd:glRasterPos3d",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5127,16 +5475,18 @@ static PyObject *_wrap_glRasterPos3d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos3dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos3dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos3dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos3dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -5151,14 +5501,15 @@ static PyObject *_wrap_glRasterPos3dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos3f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos3f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"fff:glRasterPos3f",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"fff:glRasterPos3f",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5170,16 +5521,18 @@ static PyObject *_wrap_glRasterPos3f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos3fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos3fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos3fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos3fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -5194,14 +5547,15 @@ static PyObject *_wrap_glRasterPos3fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos3i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos3i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLint  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glRasterPos3i",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glRasterPos3i",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5213,16 +5567,18 @@ static PyObject *_wrap_glRasterPos3i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos3iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos3iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos3iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos3iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -5237,14 +5593,15 @@ static PyObject *_wrap_glRasterPos3iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos3s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos3s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
     GLshort  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhh:glRasterPos3s",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhh:glRasterPos3s",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5256,16 +5613,18 @@ static PyObject *_wrap_glRasterPos3s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos3sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos3sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos3sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos3sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -5280,15 +5639,16 @@ static PyObject *_wrap_glRasterPos3sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos4d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos4d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
     GLdouble  _arg3;
+    char *_kwnames[] = { "x","y","z","w", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dddd:glRasterPos4d",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dddd:glRasterPos4d",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5300,16 +5660,18 @@ static PyObject *_wrap_glRasterPos4d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos4dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos4dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos4dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos4dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -5324,15 +5686,16 @@ static PyObject *_wrap_glRasterPos4dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos4f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos4f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
     GLfloat  _arg3;
+    char *_kwnames[] = { "x","y","z","w", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ffff:glRasterPos4f",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ffff:glRasterPos4f",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5344,16 +5707,18 @@ static PyObject *_wrap_glRasterPos4f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos4fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos4fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos4fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos4fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -5368,15 +5733,16 @@ static PyObject *_wrap_glRasterPos4fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos4i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos4i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLint  _arg2;
     GLint  _arg3;
+    char *_kwnames[] = { "x","y","z","w", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiii:glRasterPos4i",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiii:glRasterPos4i",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5388,16 +5754,18 @@ static PyObject *_wrap_glRasterPos4i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos4iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos4iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos4iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos4iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -5412,15 +5780,16 @@ static PyObject *_wrap_glRasterPos4iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos4s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos4s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
     GLshort  _arg2;
     GLshort  _arg3;
+    char *_kwnames[] = { "x","y","z","w", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhhh:glRasterPos4s",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhhh:glRasterPos4s",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5432,16 +5801,18 @@ static PyObject *_wrap_glRasterPos4s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRasterPos4sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRasterPos4sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glRasterPos4sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glRasterPos4sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -5456,12 +5827,13 @@ static PyObject *_wrap_glRasterPos4sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glReadBuffer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glReadBuffer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glReadBuffer",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glReadBuffer",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5473,7 +5845,7 @@ static PyObject *_wrap_glReadBuffer(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glReadPixels(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glReadPixels(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
@@ -5482,13 +5854,15 @@ static PyObject *_wrap_glReadPixels(PyObject *self, PyObject *args) {
     GLenum  _arg4;
     GLenum  _arg5;
     GLvoid * _arg6;
-    char * _argc6 = 0;
+    PyObject * _argo6 = 0;
+    char *_kwnames[] = { "x","y","width","height","format","type","pixels", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiiiis:glReadPixels",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_argc6)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiiiO:glReadPixels",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_argo6)) 
         return NULL;
-    if (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,(char *) 0 )) {
+    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;
         }
@@ -5503,15 +5877,16 @@ static PyObject *_wrap_glReadPixels(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRectd(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRectd(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
     GLdouble  _arg3;
+    char *_kwnames[] = { "x1","y1","x2","y2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dddd:glRectd",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dddd:glRectd",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5523,24 +5898,27 @@ static PyObject *_wrap_glRectd(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRectdv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRectdv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
     GLdouble * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "v1","v2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:glRectdv",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:glRectdv",_kwnames,&_argo0,&_argo1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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 (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLdouble_p")) {
+    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;
         }
@@ -5555,15 +5933,16 @@ static PyObject *_wrap_glRectdv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRectf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRectf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
     GLfloat  _arg3;
+    char *_kwnames[] = { "x1","y1","x2","y2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ffff:glRectf",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ffff:glRectf",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5575,24 +5954,27 @@ static PyObject *_wrap_glRectf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRectfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRectfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
     GLfloat * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "v1","v2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:glRectfv",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:glRectfv",_kwnames,&_argo0,&_argo1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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 (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLfloat_p")) {
+    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;
         }
@@ -5607,15 +5989,16 @@ static PyObject *_wrap_glRectfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRecti(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRecti(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLint  _arg2;
     GLint  _arg3;
+    char *_kwnames[] = { "x1","y1","x2","y2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiii:glRecti",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiii:glRecti",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5627,24 +6010,27 @@ static PyObject *_wrap_glRecti(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRectiv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRectiv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
     GLint * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "v1","v2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:glRectiv",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:glRectiv",_kwnames,&_argo0,&_argo1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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 (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLint_p")) {
+    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;
         }
@@ -5659,15 +6045,16 @@ static PyObject *_wrap_glRectiv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRects(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRects(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
     GLshort  _arg2;
     GLshort  _arg3;
+    char *_kwnames[] = { "x1","y1","x2","y2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhhh:glRects",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhhh:glRects",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5679,24 +6066,27 @@ static PyObject *_wrap_glRects(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRectsv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRectsv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
     GLshort * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "v1","v2", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:glRectsv",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:glRectsv",_kwnames,&_argo0,&_argo1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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 (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLshort_p")) {
+    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;
         }
@@ -5711,13 +6101,14 @@ static PyObject *_wrap_glRectsv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRenderMode(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRenderMode(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _result;
     GLenum  _arg0;
+    char *_kwnames[] = { "mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glRenderMode",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glRenderMode",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5728,15 +6119,16 @@ static PyObject *_wrap_glRenderMode(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRotated(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRotated(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
     GLdouble  _arg3;
+    char *_kwnames[] = { "angle","x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dddd:glRotated",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dddd:glRotated",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5748,15 +6140,16 @@ static PyObject *_wrap_glRotated(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glRotatef(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glRotatef(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
     GLfloat  _arg3;
+    char *_kwnames[] = { "angle","x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ffff:glRotatef",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ffff:glRotatef",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5768,14 +6161,15 @@ static PyObject *_wrap_glRotatef(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glScaled(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glScaled(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ddd:glScaled",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ddd:glScaled",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5787,14 +6181,15 @@ static PyObject *_wrap_glScaled(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glScalef(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glScalef(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"fff:glScalef",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"fff:glScalef",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5806,15 +6201,16 @@ static PyObject *_wrap_glScalef(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glScissor(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glScissor(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLsizei  _arg2;
     GLsizei  _arg3;
+    char *_kwnames[] = { "x","y","width","height", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiii:glScissor",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiii:glScissor",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5826,17 +6222,19 @@ static PyObject *_wrap_glScissor(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glSelectBuffer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glSelectBuffer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLsizei  _arg0;
     GLuint * _arg1;
-    char * _argc1 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "size","buffer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is:glSelectBuffer",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO:glSelectBuffer",_kwnames,&_arg0,&_argo1)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_GLuint_p")) {
+    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;
         }
@@ -5851,12 +6249,13 @@ static PyObject *_wrap_glSelectBuffer(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glShadeModel(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glShadeModel(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
+    char *_kwnames[] = { "mode", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glShadeModel",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glShadeModel",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5868,14 +6267,15 @@ static PyObject *_wrap_glShadeModel(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glStencilFunc(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glStencilFunc(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
     GLuint  _arg2;
+    char *_kwnames[] = { "func","ref","mask", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glStencilFunc",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glStencilFunc",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5887,12 +6287,13 @@ static PyObject *_wrap_glStencilFunc(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glStencilMask(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glStencilMask(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLuint  _arg0;
+    char *_kwnames[] = { "mask", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glStencilMask",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glStencilMask",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5904,14 +6305,15 @@ static PyObject *_wrap_glStencilMask(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glStencilOp(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glStencilOp(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLenum  _arg2;
+    char *_kwnames[] = { "fail","zfail","zpass", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glStencilOp",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glStencilOp",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5923,12 +6325,13 @@ static PyObject *_wrap_glStencilOp(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord1d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord1d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
+    char *_kwnames[] = { "s", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"d:glTexCoord1d",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"d:glTexCoord1d",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5940,16 +6343,18 @@ static PyObject *_wrap_glTexCoord1d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord1dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord1dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord1dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord1dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -5964,12 +6369,13 @@ static PyObject *_wrap_glTexCoord1dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord1f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord1f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
+    char *_kwnames[] = { "s", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"f:glTexCoord1f",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"f:glTexCoord1f",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -5981,16 +6387,18 @@ static PyObject *_wrap_glTexCoord1f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord1fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord1fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord1fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord1fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -6005,12 +6413,13 @@ static PyObject *_wrap_glTexCoord1fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord1i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord1i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
+    char *_kwnames[] = { "s", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"i:glTexCoord1i",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:glTexCoord1i",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6022,16 +6431,18 @@ static PyObject *_wrap_glTexCoord1i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord1iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord1iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord1iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord1iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -6046,12 +6457,13 @@ static PyObject *_wrap_glTexCoord1iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord1s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord1s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
+    char *_kwnames[] = { "s", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"h:glTexCoord1s",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"h:glTexCoord1s",_kwnames,&_arg0)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6063,16 +6475,18 @@ static PyObject *_wrap_glTexCoord1s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord1sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord1sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord1sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord1sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -6087,13 +6501,14 @@ static PyObject *_wrap_glTexCoord1sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord2d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord2d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
+    char *_kwnames[] = { "s","t", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dd:glTexCoord2d",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dd:glTexCoord2d",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6105,16 +6520,18 @@ static PyObject *_wrap_glTexCoord2d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord2dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord2dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord2dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord2dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -6129,13 +6546,14 @@ static PyObject *_wrap_glTexCoord2dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord2f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord2f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
+    char *_kwnames[] = { "s","t", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ff:glTexCoord2f",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ff:glTexCoord2f",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6147,16 +6565,18 @@ static PyObject *_wrap_glTexCoord2f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord2fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord2fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord2fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord2fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -6171,13 +6591,14 @@ static PyObject *_wrap_glTexCoord2fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord2i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord2i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
+    char *_kwnames[] = { "s","t", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glTexCoord2i",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glTexCoord2i",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6189,16 +6610,18 @@ static PyObject *_wrap_glTexCoord2i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord2iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord2iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord2iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord2iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -6213,13 +6636,14 @@ static PyObject *_wrap_glTexCoord2iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord2s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord2s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
+    char *_kwnames[] = { "s","t", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hh:glTexCoord2s",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hh:glTexCoord2s",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6231,16 +6655,18 @@ static PyObject *_wrap_glTexCoord2s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord2sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord2sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord2sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord2sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -6255,14 +6681,15 @@ static PyObject *_wrap_glTexCoord2sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord3d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord3d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
+    char *_kwnames[] = { "s","t","r", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ddd:glTexCoord3d",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ddd:glTexCoord3d",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6274,16 +6701,18 @@ static PyObject *_wrap_glTexCoord3d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord3dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord3dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord3dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord3dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -6298,14 +6727,15 @@ static PyObject *_wrap_glTexCoord3dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord3f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord3f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "s","t","r", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"fff:glTexCoord3f",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"fff:glTexCoord3f",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6317,16 +6747,18 @@ static PyObject *_wrap_glTexCoord3f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord3fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord3fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord3fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord3fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -6341,14 +6773,15 @@ static PyObject *_wrap_glTexCoord3fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord3i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord3i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLint  _arg2;
+    char *_kwnames[] = { "s","t","r", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glTexCoord3i",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glTexCoord3i",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6360,16 +6793,18 @@ static PyObject *_wrap_glTexCoord3i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord3iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord3iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord3iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord3iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -6384,14 +6819,15 @@ static PyObject *_wrap_glTexCoord3iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord3s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord3s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
     GLshort  _arg2;
+    char *_kwnames[] = { "s","t","r", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhh:glTexCoord3s",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhh:glTexCoord3s",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6403,16 +6839,18 @@ static PyObject *_wrap_glTexCoord3s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord3sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord3sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord3sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord3sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -6427,15 +6865,16 @@ static PyObject *_wrap_glTexCoord3sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord4d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord4d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
     GLdouble  _arg3;
+    char *_kwnames[] = { "s","t","r","q", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dddd:glTexCoord4d",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dddd:glTexCoord4d",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6447,16 +6886,18 @@ static PyObject *_wrap_glTexCoord4d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord4dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord4dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord4dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord4dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -6471,15 +6912,16 @@ static PyObject *_wrap_glTexCoord4dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord4f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord4f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
     GLfloat  _arg3;
+    char *_kwnames[] = { "s","t","r","q", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ffff:glTexCoord4f",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ffff:glTexCoord4f",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6491,16 +6933,18 @@ static PyObject *_wrap_glTexCoord4f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord4fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord4fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord4fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord4fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -6515,15 +6959,16 @@ static PyObject *_wrap_glTexCoord4fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord4i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord4i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLint  _arg2;
     GLint  _arg3;
+    char *_kwnames[] = { "s","t","r","q", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiii:glTexCoord4i",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiii:glTexCoord4i",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6535,16 +6980,18 @@ static PyObject *_wrap_glTexCoord4i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord4iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord4iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord4iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord4iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -6559,15 +7006,16 @@ static PyObject *_wrap_glTexCoord4iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord4s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord4s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
     GLshort  _arg2;
     GLshort  _arg3;
+    char *_kwnames[] = { "s","t","r","q", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhhh:glTexCoord4s",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhhh:glTexCoord4s",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6579,16 +7027,18 @@ static PyObject *_wrap_glTexCoord4s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoord4sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoord4sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glTexCoord4sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glTexCoord4sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -6603,19 +7053,21 @@ static PyObject *_wrap_glTexCoord4sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexCoordPointer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexCoordPointer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLenum  _arg1;
     GLsizei  _arg2;
     GLvoid * _arg3;
-    char * _argc3 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "size","type","stride","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiis:glTexCoordPointer",&_arg0,&_arg1,&_arg2,&_argc3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiO:glTexCoordPointer",_kwnames,&_arg0,&_arg1,&_arg2,&_argo3)) 
         return NULL;
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,(char *) 0 )) {
+    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;
         }
@@ -6630,14 +7082,15 @@ static PyObject *_wrap_glTexCoordPointer(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexEnvf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexEnvf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "target","pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iif:glTexEnvf",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iif:glTexEnvf",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6649,18 +7102,20 @@ static PyObject *_wrap_glTexEnvf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexEnvfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexEnvfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "target","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glTexEnvfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glTexEnvfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -6675,14 +7130,15 @@ static PyObject *_wrap_glTexEnvfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexEnvi(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexEnvi(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint  _arg2;
+    char *_kwnames[] = { "target","pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glTexEnvi",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glTexEnvi",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6694,18 +7150,20 @@ static PyObject *_wrap_glTexEnvi(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexEnviv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexEnviv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "target","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glTexEnviv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glTexEnviv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLint_p")) {
+    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;
         }
@@ -6720,14 +7178,15 @@ static PyObject *_wrap_glTexEnviv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexGend(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexGend(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLdouble  _arg2;
+    char *_kwnames[] = { "coord","pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iid:glTexGend",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iid:glTexGend",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6739,18 +7198,20 @@ static PyObject *_wrap_glTexGend(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexGendv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexGendv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLdouble * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "coord","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glTexGendv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glTexGendv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLdouble_p")) {
+    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;
         }
@@ -6765,14 +7226,15 @@ static PyObject *_wrap_glTexGendv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexGenf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexGenf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "coord","pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iif:glTexGenf",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iif:glTexGenf",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6784,18 +7246,20 @@ static PyObject *_wrap_glTexGenf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexGenfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexGenfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "coord","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glTexGenfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glTexGenfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -6810,14 +7274,15 @@ static PyObject *_wrap_glTexGenfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexGeni(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexGeni(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint  _arg2;
+    char *_kwnames[] = { "coord","pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glTexGeni",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glTexGeni",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6829,18 +7294,20 @@ static PyObject *_wrap_glTexGeni(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexGeniv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexGeniv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "coord","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glTexGeniv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glTexGeniv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLint_p")) {
+    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;
         }
@@ -6855,7 +7322,7 @@ static PyObject *_wrap_glTexGeniv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexImage1D(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexImage1D(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
@@ -6865,13 +7332,15 @@ static PyObject *_wrap_glTexImage1D(PyObject *self, PyObject *args) {
     GLenum  _arg5;
     GLenum  _arg6;
     GLvoid * _arg7;
-    char * _argc7 = 0;
+    PyObject * _argo7 = 0;
+    char *_kwnames[] = { "target","level","internalformat","width","border","format","type","pixels", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiiiiis:glTexImage1D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_argc7)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiiiiO:glTexImage1D",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_argo7)) 
         return NULL;
-    if (_argc7) {
-        if (SWIG_GetPtr(_argc7,(void **) &_arg7,(char *) 0 )) {
+    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;
         }
@@ -6886,7 +7355,7 @@ static PyObject *_wrap_glTexImage1D(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexImage2D(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexImage2D(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
@@ -6897,13 +7366,15 @@ static PyObject *_wrap_glTexImage2D(PyObject *self, PyObject *args) {
     GLenum  _arg6;
     GLenum  _arg7;
     GLvoid * _arg8;
-    char * _argc8 = 0;
+    PyObject * _argo8 = 0;
+    char *_kwnames[] = { "target","level","internalformat","width","height","border","format","type","pixels", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiiiiiis:glTexImage2D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_argc8)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiiiiiO:glTexImage2D",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_argo8)) 
         return NULL;
-    if (_argc8) {
-        if (SWIG_GetPtr(_argc8,(void **) &_arg8,(char *) 0 )) {
+    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;
         }
@@ -6918,14 +7389,15 @@ static PyObject *_wrap_glTexImage2D(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexParameterf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexParameterf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "target","pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iif:glTexParameterf",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iif:glTexParameterf",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6937,18 +7409,20 @@ static PyObject *_wrap_glTexParameterf(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexParameterfv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexParameterfv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLfloat * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "target","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glTexParameterfv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glTexParameterfv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLfloat_p")) {
+    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;
         }
@@ -6963,14 +7437,15 @@ static PyObject *_wrap_glTexParameterfv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexParameteri(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexParameteri(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint  _arg2;
+    char *_kwnames[] = { "target","pname","param", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glTexParameteri",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glTexParameteri",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -6982,18 +7457,20 @@ static PyObject *_wrap_glTexParameteri(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexParameteriv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexParameteriv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLenum  _arg1;
     GLint * _arg2;
-    char * _argc2 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "target","pname","params", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iis:glTexParameteriv",&_arg0,&_arg1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO:glTexParameteriv",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_GLint_p")) {
+    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;
         }
@@ -7008,7 +7485,7 @@ static PyObject *_wrap_glTexParameteriv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexSubImage1D(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexSubImage1D(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
@@ -7017,13 +7494,15 @@ static PyObject *_wrap_glTexSubImage1D(PyObject *self, PyObject *args) {
     GLenum  _arg4;
     GLenum  _arg5;
     GLvoid * _arg6;
-    char * _argc6 = 0;
+    PyObject * _argo6 = 0;
+    char *_kwnames[] = { "target","level","xoffset","width","format","type","pixels", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiiiis:glTexSubImage1D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_argc6)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiiiO:glTexSubImage1D",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_argo6)) 
         return NULL;
-    if (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,(char *) 0 )) {
+    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;
         }
@@ -7038,7 +7517,7 @@ static PyObject *_wrap_glTexSubImage1D(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTexSubImage2D(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTexSubImage2D(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLenum  _arg0;
     GLint  _arg1;
@@ -7049,13 +7528,15 @@ static PyObject *_wrap_glTexSubImage2D(PyObject *self, PyObject *args) {
     GLenum  _arg6;
     GLenum  _arg7;
     GLvoid * _arg8;
-    char * _argc8 = 0;
+    PyObject * _argo8 = 0;
+    char *_kwnames[] = { "target","level","xoffset","yoffset","width","height","format","type","pixels", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiiiiiiis:glTexSubImage2D",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_argc8)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiiiiiiO:glTexSubImage2D",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_arg7,&_argo8)) 
         return NULL;
-    if (_argc8) {
-        if (SWIG_GetPtr(_argc8,(void **) &_arg8,(char *) 0 )) {
+    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;
         }
@@ -7070,14 +7551,15 @@ static PyObject *_wrap_glTexSubImage2D(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTranslated(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTranslated(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ddd:glTranslated",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ddd:glTranslated",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7089,14 +7571,15 @@ static PyObject *_wrap_glTranslated(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glTranslatef(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glTranslatef(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"fff:glTranslatef",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"fff:glTranslatef",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7108,13 +7591,14 @@ static PyObject *_wrap_glTranslatef(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex2d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex2d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
+    char *_kwnames[] = { "x","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dd:glVertex2d",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dd:glVertex2d",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7126,16 +7610,18 @@ static PyObject *_wrap_glVertex2d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex2dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex2dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex2dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex2dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -7150,13 +7636,14 @@ static PyObject *_wrap_glVertex2dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex2f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex2f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
+    char *_kwnames[] = { "x","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ff:glVertex2f",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ff:glVertex2f",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7168,16 +7655,18 @@ static PyObject *_wrap_glVertex2f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex2fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex2fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex2fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex2fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -7192,13 +7681,14 @@ static PyObject *_wrap_glVertex2fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex2i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex2i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
+    char *_kwnames[] = { "x","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ii:glVertex2i",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii:glVertex2i",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7210,16 +7700,18 @@ static PyObject *_wrap_glVertex2i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex2iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex2iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex2iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex2iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -7234,13 +7726,14 @@ static PyObject *_wrap_glVertex2iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex2s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex2s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
+    char *_kwnames[] = { "x","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hh:glVertex2s",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hh:glVertex2s",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7252,16 +7745,18 @@ static PyObject *_wrap_glVertex2s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex2sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex2sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex2sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex2sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -7276,14 +7771,15 @@ static PyObject *_wrap_glVertex2sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex3d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex3d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ddd:glVertex3d",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ddd:glVertex3d",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7295,16 +7791,18 @@ static PyObject *_wrap_glVertex3d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex3dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex3dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex3dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex3dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -7319,14 +7817,15 @@ static PyObject *_wrap_glVertex3dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex3f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex3f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"fff:glVertex3f",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"fff:glVertex3f",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7338,16 +7837,18 @@ static PyObject *_wrap_glVertex3f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex3fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex3fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex3fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex3fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -7362,14 +7863,15 @@ static PyObject *_wrap_glVertex3fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex3i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex3i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLint  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iii:glVertex3i",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iii:glVertex3i",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7381,16 +7883,18 @@ static PyObject *_wrap_glVertex3i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex3iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex3iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex3iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex3iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -7405,14 +7909,15 @@ static PyObject *_wrap_glVertex3iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex3s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex3s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
     GLshort  _arg2;
+    char *_kwnames[] = { "x","y","z", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhh:glVertex3s",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhh:glVertex3s",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7424,16 +7929,18 @@ static PyObject *_wrap_glVertex3s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex3sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex3sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex3sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex3sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -7448,15 +7955,16 @@ static PyObject *_wrap_glVertex3sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex4d(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex4d(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble  _arg0;
     GLdouble  _arg1;
     GLdouble  _arg2;
     GLdouble  _arg3;
+    char *_kwnames[] = { "x","y","z","w", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"dddd:glVertex4d",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"dddd:glVertex4d",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7468,16 +7976,18 @@ static PyObject *_wrap_glVertex4d(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex4dv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex4dv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLdouble * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex4dv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex4dv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLdouble_p")) {
+    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;
         }
@@ -7492,15 +8002,16 @@ static PyObject *_wrap_glVertex4dv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex4f(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex4f(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat  _arg0;
     GLfloat  _arg1;
     GLfloat  _arg2;
     GLfloat  _arg3;
+    char *_kwnames[] = { "x","y","z","w", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ffff:glVertex4f",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ffff:glVertex4f",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7512,16 +8023,18 @@ static PyObject *_wrap_glVertex4f(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex4fv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex4fv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLfloat * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex4fv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex4fv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLfloat_p")) {
+    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;
         }
@@ -7536,15 +8049,16 @@ static PyObject *_wrap_glVertex4fv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex4i(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex4i(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLint  _arg2;
     GLint  _arg3;
+    char *_kwnames[] = { "x","y","z","w", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiii:glVertex4i",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiii:glVertex4i",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7556,16 +8070,18 @@ static PyObject *_wrap_glVertex4i(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex4iv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex4iv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex4iv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex4iv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLint_p")) {
+    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;
         }
@@ -7580,15 +8096,16 @@ static PyObject *_wrap_glVertex4iv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex4s(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex4s(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort  _arg0;
     GLshort  _arg1;
     GLshort  _arg2;
     GLshort  _arg3;
+    char *_kwnames[] = { "x","y","z","w", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"hhhh:glVertex4s",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"hhhh:glVertex4s",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7600,16 +8117,18 @@ static PyObject *_wrap_glVertex4s(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertex4sv(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertex4sv(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLshort * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "v", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:glVertex4sv",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:glVertex4sv",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_GLshort_p")) {
+    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;
         }
@@ -7624,19 +8143,21 @@ static PyObject *_wrap_glVertex4sv(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glVertexPointer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glVertexPointer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLenum  _arg1;
     GLsizei  _arg2;
     GLvoid * _arg3;
-    char * _argc3 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "size","type","stride","pointer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiis:glVertexPointer",&_arg0,&_arg1,&_arg2,&_argc3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiiO:glVertexPointer",_kwnames,&_arg0,&_arg1,&_arg2,&_argo3)) 
         return NULL;
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,(char *) 0 )) {
+    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;
         }
@@ -7651,15 +8172,16 @@ static PyObject *_wrap_glVertexPointer(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_glViewport(PyObject *self, PyObject *args) {
+static PyObject *_wrap_glViewport(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     GLint  _arg0;
     GLint  _arg1;
     GLsizei  _arg2;
     GLsizei  _arg3;
+    char *_kwnames[] = { "x","y","width","height", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"iiii:glViewport",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiii:glViewport",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -7672,29 +8194,32 @@ static PyObject *_wrap_glViewport(PyObject *self, PyObject *args) {
 }
 
 #define new_wxGLContext(_swigarg0,_swigarg1,_swigarg2) (new wxGLContext(_swigarg0,_swigarg1,_swigarg2))
-static PyObject *_wrap_new_wxGLContext(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxGLContext(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLContext * _result;
     bool  _arg0;
     wxGLCanvas * _arg1;
-    wxPalette * _arg2 = &wxNullPalette;
+    wxPalette * _arg2 = (wxPalette *) &wxNullPalette;
     int tempbool0;
-    char * _argc1 = 0;
-    char * _argc2 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "isRGB","win","palette", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"is|s:new_wxGLContext",&tempbool0,&_argc1,&_argc2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO|O:new_wxGLContext",_kwnames,&tempbool0,&_argo1,&_argo2)) 
         return NULL;
     _arg0 = (bool ) tempbool0;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxGLCanvas_p")) {
+    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 (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxPalette_p")) {
+    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;
         }
@@ -7704,22 +8229,29 @@ static PyObject *_wrap_new_wxGLContext(PyObject *self, PyObject *args) {
         _result = (wxGLContext *)new_wxGLContext(_arg0,_arg1,*_arg2);
 
     wxPy_END_ALLOW_THREADS;
-}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxGLContext_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+}    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) {
+static PyObject *_wrap_delete_wxGLContext(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLContext * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:delete_wxGLContext",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxGLContext",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLContext_p")) {
+    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;
         }
@@ -7735,16 +8267,18 @@ static PyObject *_wrap_delete_wxGLContext(PyObject *self, PyObject *args) {
 }
 
 #define wxGLContext_SetCurrent(_swigobj)  (_swigobj->SetCurrent())
-static PyObject *_wrap_wxGLContext_SetCurrent(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGLContext_SetCurrent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLContext * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGLContext_SetCurrent",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGLContext_SetCurrent",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLContext_p")) {
+    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;
         }
@@ -7760,17 +8294,19 @@ static PyObject *_wrap_wxGLContext_SetCurrent(PyObject *self, PyObject *args) {
 }
 
 #define wxGLContext_SetColour(_swigobj,_swigarg0)  (_swigobj->SetColour(_swigarg0))
-static PyObject *_wrap_wxGLContext_SetColour(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGLContext_SetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLContext * _arg0;
     char * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","colour", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxGLContext_SetColour",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Os:wxGLContext_SetColour",_kwnames,&_argo0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLContext_p")) {
+    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;
         }
@@ -7786,16 +8322,18 @@ static PyObject *_wrap_wxGLContext_SetColour(PyObject *self, PyObject *args) {
 }
 
 #define wxGLContext_SwapBuffers(_swigobj)  (_swigobj->SwapBuffers())
-static PyObject *_wrap_wxGLContext_SwapBuffers(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGLContext_SwapBuffers(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLContext * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGLContext_SwapBuffers",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGLContext_SwapBuffers",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLContext_p")) {
+    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;
         }
@@ -7811,16 +8349,18 @@ static PyObject *_wrap_wxGLContext_SwapBuffers(PyObject *self, PyObject *args) {
 }
 
 #define wxGLContext_SetupPixelFormat(_swigobj)  (_swigobj->SetupPixelFormat())
-static PyObject *_wrap_wxGLContext_SetupPixelFormat(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGLContext_SetupPixelFormat(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLContext * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGLContext_SetupPixelFormat",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGLContext_SetupPixelFormat",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLContext_p")) {
+    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_SetupPixelFormat. Expected _wxGLContext_p.");
         return NULL;
         }
@@ -7836,24 +8376,27 @@ static PyObject *_wrap_wxGLContext_SetupPixelFormat(PyObject *self, PyObject *ar
 }
 
 #define wxGLContext_SetupPalette(_swigobj,_swigarg0)  (_swigobj->SetupPalette(_swigarg0))
-static PyObject *_wrap_wxGLContext_SetupPalette(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGLContext_SetupPalette(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLContext * _arg0;
     wxPalette * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","palette", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxGLContext_SetupPalette",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGLContext_SetupPalette",_kwnames,&_argo0,&_argo1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLContext_p")) {
+    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_SetupPalette. Expected _wxGLContext_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxPalette_p")) {
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPalette_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGLContext_SetupPalette. Expected _wxPalette_p.");
         return NULL;
         }
@@ -7869,18 +8412,20 @@ static PyObject *_wrap_wxGLContext_SetupPalette(PyObject *self, PyObject *args)
 }
 
 #define wxGLContext_CreateDefaultPalette(_swigobj)  (_swigobj->CreateDefaultPalette())
-static PyObject *_wrap_wxGLContext_CreateDefaultPalette(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGLContext_CreateDefaultPalette(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxPalette * _result;
     wxGLContext * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGLContext_CreateDefaultPalette",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGLContext_CreateDefaultPalette",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLContext_p")) {
+    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_CreateDefaultPalette. Expected _wxGLContext_p.");
         return NULL;
         }
@@ -7896,18 +8441,20 @@ static PyObject *_wrap_wxGLContext_CreateDefaultPalette(PyObject *self, PyObject
 }
 
 #define wxGLContext_GetPalette(_swigobj)  (_swigobj->GetPalette())
-static PyObject *_wrap_wxGLContext_GetPalette(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGLContext_GetPalette(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxPalette * _result;
     wxGLContext * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGLContext_GetPalette",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGLContext_GetPalette",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLContext_p")) {
+    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_GetPalette. Expected _wxGLContext_p.");
         return NULL;
         }
@@ -7917,24 +8464,31 @@ static PyObject *_wrap_wxGLContext_GetPalette(PyObject *self, PyObject *args) {
         _result = (wxPalette *)wxGLContext_GetPalette(_arg0);
 
     wxPy_END_ALLOW_THREADS;
-}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxPalette_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPalette_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define wxGLContext_GetWindow(_swigobj)  (_swigobj->GetWindow())
-static PyObject *_wrap_wxGLContext_GetWindow(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGLContext_GetWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxWindow * _result;
     wxGLContext * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGLContext_GetWindow",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGLContext_GetWindow",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLContext_p")) {
+    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;
         }
@@ -7944,8 +8498,13 @@ static PyObject *_wrap_wxGLContext_GetWindow(PyObject *self, PyObject *args) {
         _result = (wxWindow *)wxGLContext_GetWindow(_arg0);
 
     wxPy_END_ALLOW_THREADS;
-}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
@@ -7982,53 +8541,59 @@ static void *SwigwxGLCanvasTowxEvtHandler(void *ptr) {
 }
 
 #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) {
+static PyObject *_wrap_new_wxGLCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLCanvas * _result;
     wxWindow * _arg0;
-    wxWindowID  _arg1 = -1;
-    wxPoint * _arg2 = &wxPyDefaultPosition;
-    wxSize * _arg3 = &wxPyDefaultSize;
-    long  _arg4 = 0;
-    char * _arg5 = "GLCanvas";
-    int * _arg6 = 0;
-    wxPalette * _arg7 = &wxNullPalette;
-    char * _argc0 = 0;
-    char * _argc2 = 0;
-    char * _argc3 = 0;
-    char * _argc6 = 0;
-    char * _argc7 = 0;
+    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 *_kwnames[] = { "parent","id","pos","size","style","name","attribList","palette", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s|isslsss:new_wxGLCanvas",&_argc0,&_arg1,&_argc2,&_argc3,&_arg4,&_arg5,&_argc6,&_argc7)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iOOlsOO:new_wxGLCanvas",_kwnames,&_argo0,&_arg1,&_argo2,&_argo3,&_arg4,&_arg5,&_argo6,&_argo7)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    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 (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxPoint_p")) {
+    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 (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxSize_p")) {
+    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 (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_int_p")) {
+    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 (_argc7) {
-        if (SWIG_GetPtr(_argc7,(void **) &_arg7,"_wxPalette_p")) {
+    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;
         }
@@ -8038,22 +8603,29 @@ static PyObject *_wrap_new_wxGLCanvas(PyObject *self, PyObject *args) {
         _result = (wxGLCanvas *)new_wxGLCanvas(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6,*_arg7);
 
     wxPy_END_ALLOW_THREADS;
-}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxGLCanvas_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+}    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) {
+static PyObject *_wrap_wxGLCanvas_SetCurrent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLCanvas * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGLCanvas_SetCurrent",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGLCanvas_SetCurrent",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLCanvas_p")) {
+    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;
         }
@@ -8069,17 +8641,19 @@ static PyObject *_wrap_wxGLCanvas_SetCurrent(PyObject *self, PyObject *args) {
 }
 
 #define wxGLCanvas_SetColour(_swigobj,_swigarg0)  (_swigobj->SetColour(_swigarg0))
-static PyObject *_wrap_wxGLCanvas_SetColour(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGLCanvas_SetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLCanvas * _arg0;
     char * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","colour", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxGLCanvas_SetColour",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Os:wxGLCanvas_SetColour",_kwnames,&_argo0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLCanvas_p")) {
+    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;
         }
@@ -8095,16 +8669,18 @@ static PyObject *_wrap_wxGLCanvas_SetColour(PyObject *self, PyObject *args) {
 }
 
 #define wxGLCanvas_SwapBuffers(_swigobj)  (_swigobj->SwapBuffers())
-static PyObject *_wrap_wxGLCanvas_SwapBuffers(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGLCanvas_SwapBuffers(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLCanvas * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGLCanvas_SwapBuffers",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGLCanvas_SwapBuffers",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLCanvas_p")) {
+    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;
         }
@@ -8120,18 +8696,20 @@ static PyObject *_wrap_wxGLCanvas_SwapBuffers(PyObject *self, PyObject *args) {
 }
 
 #define wxGLCanvas_GetContext(_swigobj)  (_swigobj->GetContext())
-static PyObject *_wrap_wxGLCanvas_GetContext(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGLCanvas_GetContext(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGLContext * _result;
     wxGLCanvas * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGLCanvas_GetContext",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGLCanvas_GetContext",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGLCanvas_p")) {
+    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;
         }
@@ -8141,381 +8719,879 @@ static PyObject *_wrap_wxGLCanvas_GetContext(PyObject *self, PyObject *args) {
         _result = (wxGLContext *)wxGLCanvas_GetContext(_arg0);
 
     wxPy_END_ALLOW_THREADS;
-}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxGLContext_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+}    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, 1 },
-        { "wxGLCanvas_SwapBuffers", _wrap_wxGLCanvas_SwapBuffers, 1 },
-        { "wxGLCanvas_SetColour", _wrap_wxGLCanvas_SetColour, 1 },
-        { "wxGLCanvas_SetCurrent", _wrap_wxGLCanvas_SetCurrent, 1 },
-        { "new_wxGLCanvas", _wrap_new_wxGLCanvas, 1 },
-        { "wxGLContext_GetWindow", _wrap_wxGLContext_GetWindow, 1 },
-        { "wxGLContext_GetPalette", _wrap_wxGLContext_GetPalette, 1 },
-        { "wxGLContext_CreateDefaultPalette", _wrap_wxGLContext_CreateDefaultPalette, 1 },
-        { "wxGLContext_SetupPalette", _wrap_wxGLContext_SetupPalette, 1 },
-        { "wxGLContext_SetupPixelFormat", _wrap_wxGLContext_SetupPixelFormat, 1 },
-        { "wxGLContext_SwapBuffers", _wrap_wxGLContext_SwapBuffers, 1 },
-        { "wxGLContext_SetColour", _wrap_wxGLContext_SetColour, 1 },
-        { "wxGLContext_SetCurrent", _wrap_wxGLContext_SetCurrent, 1 },
-        { "delete_wxGLContext", _wrap_delete_wxGLContext, 1 },
-        { "new_wxGLContext", _wrap_new_wxGLContext, 1 },
-        { "glViewport", _wrap_glViewport, 1 },
-        { "glVertexPointer", _wrap_glVertexPointer, 1 },
-        { "glVertex4sv", _wrap_glVertex4sv, 1 },
-        { "glVertex4s", _wrap_glVertex4s, 1 },
-        { "glVertex4iv", _wrap_glVertex4iv, 1 },
-        { "glVertex4i", _wrap_glVertex4i, 1 },
-        { "glVertex4fv", _wrap_glVertex4fv, 1 },
-        { "glVertex4f", _wrap_glVertex4f, 1 },
-        { "glVertex4dv", _wrap_glVertex4dv, 1 },
-        { "glVertex4d", _wrap_glVertex4d, 1 },
-        { "glVertex3sv", _wrap_glVertex3sv, 1 },
-        { "glVertex3s", _wrap_glVertex3s, 1 },
-        { "glVertex3iv", _wrap_glVertex3iv, 1 },
-        { "glVertex3i", _wrap_glVertex3i, 1 },
-        { "glVertex3fv", _wrap_glVertex3fv, 1 },
-        { "glVertex3f", _wrap_glVertex3f, 1 },
-        { "glVertex3dv", _wrap_glVertex3dv, 1 },
-        { "glVertex3d", _wrap_glVertex3d, 1 },
-        { "glVertex2sv", _wrap_glVertex2sv, 1 },
-        { "glVertex2s", _wrap_glVertex2s, 1 },
-        { "glVertex2iv", _wrap_glVertex2iv, 1 },
-        { "glVertex2i", _wrap_glVertex2i, 1 },
-        { "glVertex2fv", _wrap_glVertex2fv, 1 },
-        { "glVertex2f", _wrap_glVertex2f, 1 },
-        { "glVertex2dv", _wrap_glVertex2dv, 1 },
-        { "glVertex2d", _wrap_glVertex2d, 1 },
-        { "glTranslatef", _wrap_glTranslatef, 1 },
-        { "glTranslated", _wrap_glTranslated, 1 },
-        { "glTexSubImage2D", _wrap_glTexSubImage2D, 1 },
-        { "glTexSubImage1D", _wrap_glTexSubImage1D, 1 },
-        { "glTexParameteriv", _wrap_glTexParameteriv, 1 },
-        { "glTexParameteri", _wrap_glTexParameteri, 1 },
-        { "glTexParameterfv", _wrap_glTexParameterfv, 1 },
-        { "glTexParameterf", _wrap_glTexParameterf, 1 },
-        { "glTexImage2D", _wrap_glTexImage2D, 1 },
-        { "glTexImage1D", _wrap_glTexImage1D, 1 },
-        { "glTexGeniv", _wrap_glTexGeniv, 1 },
-        { "glTexGeni", _wrap_glTexGeni, 1 },
-        { "glTexGenfv", _wrap_glTexGenfv, 1 },
-        { "glTexGenf", _wrap_glTexGenf, 1 },
-        { "glTexGendv", _wrap_glTexGendv, 1 },
-        { "glTexGend", _wrap_glTexGend, 1 },
-        { "glTexEnviv", _wrap_glTexEnviv, 1 },
-        { "glTexEnvi", _wrap_glTexEnvi, 1 },
-        { "glTexEnvfv", _wrap_glTexEnvfv, 1 },
-        { "glTexEnvf", _wrap_glTexEnvf, 1 },
-        { "glTexCoordPointer", _wrap_glTexCoordPointer, 1 },
-        { "glTexCoord4sv", _wrap_glTexCoord4sv, 1 },
-        { "glTexCoord4s", _wrap_glTexCoord4s, 1 },
-        { "glTexCoord4iv", _wrap_glTexCoord4iv, 1 },
-        { "glTexCoord4i", _wrap_glTexCoord4i, 1 },
-        { "glTexCoord4fv", _wrap_glTexCoord4fv, 1 },
-        { "glTexCoord4f", _wrap_glTexCoord4f, 1 },
-        { "glTexCoord4dv", _wrap_glTexCoord4dv, 1 },
-        { "glTexCoord4d", _wrap_glTexCoord4d, 1 },
-        { "glTexCoord3sv", _wrap_glTexCoord3sv, 1 },
-        { "glTexCoord3s", _wrap_glTexCoord3s, 1 },
-        { "glTexCoord3iv", _wrap_glTexCoord3iv, 1 },
-        { "glTexCoord3i", _wrap_glTexCoord3i, 1 },
-        { "glTexCoord3fv", _wrap_glTexCoord3fv, 1 },
-        { "glTexCoord3f", _wrap_glTexCoord3f, 1 },
-        { "glTexCoord3dv", _wrap_glTexCoord3dv, 1 },
-        { "glTexCoord3d", _wrap_glTexCoord3d, 1 },
-        { "glTexCoord2sv", _wrap_glTexCoord2sv, 1 },
-        { "glTexCoord2s", _wrap_glTexCoord2s, 1 },
-        { "glTexCoord2iv", _wrap_glTexCoord2iv, 1 },
-        { "glTexCoord2i", _wrap_glTexCoord2i, 1 },
-        { "glTexCoord2fv", _wrap_glTexCoord2fv, 1 },
-        { "glTexCoord2f", _wrap_glTexCoord2f, 1 },
-        { "glTexCoord2dv", _wrap_glTexCoord2dv, 1 },
-        { "glTexCoord2d", _wrap_glTexCoord2d, 1 },
-        { "glTexCoord1sv", _wrap_glTexCoord1sv, 1 },
-        { "glTexCoord1s", _wrap_glTexCoord1s, 1 },
-        { "glTexCoord1iv", _wrap_glTexCoord1iv, 1 },
-        { "glTexCoord1i", _wrap_glTexCoord1i, 1 },
-        { "glTexCoord1fv", _wrap_glTexCoord1fv, 1 },
-        { "glTexCoord1f", _wrap_glTexCoord1f, 1 },
-        { "glTexCoord1dv", _wrap_glTexCoord1dv, 1 },
-        { "glTexCoord1d", _wrap_glTexCoord1d, 1 },
-        { "glStencilOp", _wrap_glStencilOp, 1 },
-        { "glStencilMask", _wrap_glStencilMask, 1 },
-        { "glStencilFunc", _wrap_glStencilFunc, 1 },
-        { "glShadeModel", _wrap_glShadeModel, 1 },
-        { "glSelectBuffer", _wrap_glSelectBuffer, 1 },
-        { "glScissor", _wrap_glScissor, 1 },
-        { "glScalef", _wrap_glScalef, 1 },
-        { "glScaled", _wrap_glScaled, 1 },
-        { "glRotatef", _wrap_glRotatef, 1 },
-        { "glRotated", _wrap_glRotated, 1 },
-        { "glRenderMode", _wrap_glRenderMode, 1 },
-        { "glRectsv", _wrap_glRectsv, 1 },
-        { "glRects", _wrap_glRects, 1 },
-        { "glRectiv", _wrap_glRectiv, 1 },
-        { "glRecti", _wrap_glRecti, 1 },
-        { "glRectfv", _wrap_glRectfv, 1 },
-        { "glRectf", _wrap_glRectf, 1 },
-        { "glRectdv", _wrap_glRectdv, 1 },
-        { "glRectd", _wrap_glRectd, 1 },
-        { "glReadPixels", _wrap_glReadPixels, 1 },
-        { "glReadBuffer", _wrap_glReadBuffer, 1 },
-        { "glRasterPos4sv", _wrap_glRasterPos4sv, 1 },
-        { "glRasterPos4s", _wrap_glRasterPos4s, 1 },
-        { "glRasterPos4iv", _wrap_glRasterPos4iv, 1 },
-        { "glRasterPos4i", _wrap_glRasterPos4i, 1 },
-        { "glRasterPos4fv", _wrap_glRasterPos4fv, 1 },
-        { "glRasterPos4f", _wrap_glRasterPos4f, 1 },
-        { "glRasterPos4dv", _wrap_glRasterPos4dv, 1 },
-        { "glRasterPos4d", _wrap_glRasterPos4d, 1 },
-        { "glRasterPos3sv", _wrap_glRasterPos3sv, 1 },
-        { "glRasterPos3s", _wrap_glRasterPos3s, 1 },
-        { "glRasterPos3iv", _wrap_glRasterPos3iv, 1 },
-        { "glRasterPos3i", _wrap_glRasterPos3i, 1 },
-        { "glRasterPos3fv", _wrap_glRasterPos3fv, 1 },
-        { "glRasterPos3f", _wrap_glRasterPos3f, 1 },
-        { "glRasterPos3dv", _wrap_glRasterPos3dv, 1 },
-        { "glRasterPos3d", _wrap_glRasterPos3d, 1 },
-        { "glRasterPos2sv", _wrap_glRasterPos2sv, 1 },
-        { "glRasterPos2s", _wrap_glRasterPos2s, 1 },
-        { "glRasterPos2iv", _wrap_glRasterPos2iv, 1 },
-        { "glRasterPos2i", _wrap_glRasterPos2i, 1 },
-        { "glRasterPos2fv", _wrap_glRasterPos2fv, 1 },
-        { "glRasterPos2f", _wrap_glRasterPos2f, 1 },
-        { "glRasterPos2dv", _wrap_glRasterPos2dv, 1 },
-        { "glRasterPos2d", _wrap_glRasterPos2d, 1 },
-        { "glPushName", _wrap_glPushName, 1 },
-        { "glPushMatrix", _wrap_glPushMatrix, 1 },
-        { "glPushClientAttrib", _wrap_glPushClientAttrib, 1 },
-        { "glPushAttrib", _wrap_glPushAttrib, 1 },
-        { "glPrioritizeTextures", _wrap_glPrioritizeTextures, 1 },
-        { "glPopName", _wrap_glPopName, 1 },
-        { "glPopMatrix", _wrap_glPopMatrix, 1 },
-        { "glPopClientAttrib", _wrap_glPopClientAttrib, 1 },
-        { "glPopAttrib", _wrap_glPopAttrib, 1 },
-        { "glPolygonStipple", _wrap_glPolygonStipple, 1 },
-        { "glPolygonOffset", _wrap_glPolygonOffset, 1 },
-        { "glPolygonMode", _wrap_glPolygonMode, 1 },
-        { "glPointSize", _wrap_glPointSize, 1 },
-        { "glPixelZoom", _wrap_glPixelZoom, 1 },
-        { "glPixelTransferi", _wrap_glPixelTransferi, 1 },
-        { "glPixelTransferf", _wrap_glPixelTransferf, 1 },
-        { "glPixelStorei", _wrap_glPixelStorei, 1 },
-        { "glPixelStoref", _wrap_glPixelStoref, 1 },
-        { "glPixelMapusv", _wrap_glPixelMapusv, 1 },
-        { "glPixelMapuiv", _wrap_glPixelMapuiv, 1 },
-        { "glPixelMapfv", _wrap_glPixelMapfv, 1 },
-        { "glPassThrough", _wrap_glPassThrough, 1 },
-        { "glOrtho", _wrap_glOrtho, 1 },
-        { "glNormalPointer", _wrap_glNormalPointer, 1 },
-        { "glNormal3sv", _wrap_glNormal3sv, 1 },
-        { "glNormal3s", _wrap_glNormal3s, 1 },
-        { "glNormal3iv", _wrap_glNormal3iv, 1 },
-        { "glNormal3i", _wrap_glNormal3i, 1 },
-        { "glNormal3fv", _wrap_glNormal3fv, 1 },
-        { "glNormal3f", _wrap_glNormal3f, 1 },
-        { "glNormal3dv", _wrap_glNormal3dv, 1 },
-        { "glNormal3d", _wrap_glNormal3d, 1 },
-        { "glNormal3bv", _wrap_glNormal3bv, 1 },
-        { "glNormal3b", _wrap_glNormal3b, 1 },
-        { "glNewList", _wrap_glNewList, 1 },
-        { "glMultMatrixf", _wrap_glMultMatrixf, 1 },
-        { "glMultMatrixd", _wrap_glMultMatrixd, 1 },
-        { "glMatrixMode", _wrap_glMatrixMode, 1 },
-        { "glMaterialiv", _wrap_glMaterialiv, 1 },
-        { "glMateriali", _wrap_glMateriali, 1 },
-        { "glMaterialfv", _wrap_glMaterialfv, 1 },
-        { "glMaterialf", _wrap_glMaterialf, 1 },
-        { "glMapGrid2f", _wrap_glMapGrid2f, 1 },
-        { "glMapGrid2d", _wrap_glMapGrid2d, 1 },
-        { "glMapGrid1f", _wrap_glMapGrid1f, 1 },
-        { "glMapGrid1d", _wrap_glMapGrid1d, 1 },
-        { "glMap2f", _wrap_glMap2f, 1 },
-        { "glMap2d", _wrap_glMap2d, 1 },
-        { "glMap1f", _wrap_glMap1f, 1 },
-        { "glMap1d", _wrap_glMap1d, 1 },
-        { "glLogicOp", _wrap_glLogicOp, 1 },
-        { "glLoadName", _wrap_glLoadName, 1 },
-        { "glLoadMatrixf", _wrap_glLoadMatrixf, 1 },
-        { "glLoadMatrixd", _wrap_glLoadMatrixd, 1 },
-        { "glLoadIdentity", _wrap_glLoadIdentity, 1 },
-        { "glListBase", _wrap_glListBase, 1 },
-        { "glLineWidth", _wrap_glLineWidth, 1 },
-        { "glLineStipple", _wrap_glLineStipple, 1 },
-        { "glLightiv", _wrap_glLightiv, 1 },
-        { "glLighti", _wrap_glLighti, 1 },
-        { "glLightfv", _wrap_glLightfv, 1 },
-        { "glLightf", _wrap_glLightf, 1 },
-        { "glLightModeliv", _wrap_glLightModeliv, 1 },
-        { "glLightModeli", _wrap_glLightModeli, 1 },
-        { "glLightModelfv", _wrap_glLightModelfv, 1 },
-        { "glLightModelf", _wrap_glLightModelf, 1 },
-        { "glIsTexture", _wrap_glIsTexture, 1 },
-        { "glIsList", _wrap_glIsList, 1 },
-        { "glIsEnabled", _wrap_glIsEnabled, 1 },
-        { "glInterleavedArrays", _wrap_glInterleavedArrays, 1 },
-        { "glInitNames", _wrap_glInitNames, 1 },
-        { "glIndexubv", _wrap_glIndexubv, 1 },
-        { "glIndexub", _wrap_glIndexub, 1 },
-        { "glIndexsv", _wrap_glIndexsv, 1 },
-        { "glIndexs", _wrap_glIndexs, 1 },
-        { "glIndexiv", _wrap_glIndexiv, 1 },
-        { "glIndexi", _wrap_glIndexi, 1 },
-        { "glIndexfv", _wrap_glIndexfv, 1 },
-        { "glIndexf", _wrap_glIndexf, 1 },
-        { "glIndexdv", _wrap_glIndexdv, 1 },
-        { "glIndexd", _wrap_glIndexd, 1 },
-        { "glIndexPointer", _wrap_glIndexPointer, 1 },
-        { "glIndexMask", _wrap_glIndexMask, 1 },
-        { "glHint", _wrap_glHint, 1 },
-        { "glGetTexParameteriv", _wrap_glGetTexParameteriv, 1 },
-        { "glGetTexParameterfv", _wrap_glGetTexParameterfv, 1 },
-        { "glGetTexLevelParameteriv", _wrap_glGetTexLevelParameteriv, 1 },
-        { "glGetTexLevelParameterfv", _wrap_glGetTexLevelParameterfv, 1 },
-        { "glGetTexImage", _wrap_glGetTexImage, 1 },
-        { "glGetTexGeniv", _wrap_glGetTexGeniv, 1 },
-        { "glGetTexGenfv", _wrap_glGetTexGenfv, 1 },
-        { "glGetTexGendv", _wrap_glGetTexGendv, 1 },
-        { "glGetTexEnviv", _wrap_glGetTexEnviv, 1 },
-        { "glGetTexEnvfv", _wrap_glGetTexEnvfv, 1 },
-        { "glGetString", _wrap_glGetString, 1 },
-        { "glGetPolygonStipple", _wrap_glGetPolygonStipple, 1 },
-        { "glGetPointerv", _wrap_glGetPointerv, 1 },
-        { "glGetPixelMapusv", _wrap_glGetPixelMapusv, 1 },
-        { "glGetPixelMapuiv", _wrap_glGetPixelMapuiv, 1 },
-        { "glGetPixelMapfv", _wrap_glGetPixelMapfv, 1 },
-        { "glGetMaterialiv", _wrap_glGetMaterialiv, 1 },
-        { "glGetMaterialfv", _wrap_glGetMaterialfv, 1 },
-        { "glGetMapiv", _wrap_glGetMapiv, 1 },
-        { "glGetMapfv", _wrap_glGetMapfv, 1 },
-        { "glGetMapdv", _wrap_glGetMapdv, 1 },
-        { "glGetLightiv", _wrap_glGetLightiv, 1 },
-        { "glGetLightfv", _wrap_glGetLightfv, 1 },
-        { "glGetIntegerv", _wrap_glGetIntegerv, 1 },
-        { "glGetFloatv", _wrap_glGetFloatv, 1 },
-        { "glGetError", _wrap_glGetError, 1 },
-        { "glGetDoublev", _wrap_glGetDoublev, 1 },
-        { "glGetClipPlane", _wrap_glGetClipPlane, 1 },
-        { "glGetBooleanv", _wrap_glGetBooleanv, 1 },
-        { "glGenTextures", _wrap_glGenTextures, 1 },
-        { "glGenLists", _wrap_glGenLists, 1 },
-        { "glFrustum", _wrap_glFrustum, 1 },
-        { "glFrontFace", _wrap_glFrontFace, 1 },
-        { "glFogiv", _wrap_glFogiv, 1 },
-        { "glFogi", _wrap_glFogi, 1 },
-        { "glFogfv", _wrap_glFogfv, 1 },
-        { "glFogf", _wrap_glFogf, 1 },
-        { "glFlush", _wrap_glFlush, 1 },
-        { "glFinish", _wrap_glFinish, 1 },
-        { "glFeedbackBuffer", _wrap_glFeedbackBuffer, 1 },
-        { "glEvalPoint2", _wrap_glEvalPoint2, 1 },
-        { "glEvalPoint1", _wrap_glEvalPoint1, 1 },
-        { "glEvalMesh2", _wrap_glEvalMesh2, 1 },
-        { "glEvalMesh1", _wrap_glEvalMesh1, 1 },
-        { "glEvalCoord2fv", _wrap_glEvalCoord2fv, 1 },
-        { "glEvalCoord2f", _wrap_glEvalCoord2f, 1 },
-        { "glEvalCoord2dv", _wrap_glEvalCoord2dv, 1 },
-        { "glEvalCoord2d", _wrap_glEvalCoord2d, 1 },
-        { "glEvalCoord1fv", _wrap_glEvalCoord1fv, 1 },
-        { "glEvalCoord1f", _wrap_glEvalCoord1f, 1 },
-        { "glEvalCoord1dv", _wrap_glEvalCoord1dv, 1 },
-        { "glEvalCoord1d", _wrap_glEvalCoord1d, 1 },
-        { "glEndList", _wrap_glEndList, 1 },
-        { "glEnd", _wrap_glEnd, 1 },
-        { "glEnableClientState", _wrap_glEnableClientState, 1 },
-        { "glEnable", _wrap_glEnable, 1 },
-        { "glEdgeFlagv", _wrap_glEdgeFlagv, 1 },
-        { "glEdgeFlagPointer", _wrap_glEdgeFlagPointer, 1 },
-        { "glEdgeFlag", _wrap_glEdgeFlag, 1 },
-        { "glDrawPixels", _wrap_glDrawPixels, 1 },
-        { "glDrawElements", _wrap_glDrawElements, 1 },
-        { "glDrawBuffer", _wrap_glDrawBuffer, 1 },
-        { "glDrawArrays", _wrap_glDrawArrays, 1 },
-        { "glDisableClientState", _wrap_glDisableClientState, 1 },
-        { "glDisable", _wrap_glDisable, 1 },
-        { "glDepthRange", _wrap_glDepthRange, 1 },
-        { "glDepthMask", _wrap_glDepthMask, 1 },
-        { "glDepthFunc", _wrap_glDepthFunc, 1 },
-        { "glDeleteTextures", _wrap_glDeleteTextures, 1 },
-        { "glDeleteLists", _wrap_glDeleteLists, 1 },
-        { "glCullFace", _wrap_glCullFace, 1 },
-        { "glCopyTexSubImage2D", _wrap_glCopyTexSubImage2D, 1 },
-        { "glCopyTexSubImage1D", _wrap_glCopyTexSubImage1D, 1 },
-        { "glCopyTexImage2D", _wrap_glCopyTexImage2D, 1 },
-        { "glCopyTexImage1D", _wrap_glCopyTexImage1D, 1 },
-        { "glCopyPixels", _wrap_glCopyPixels, 1 },
-        { "glColorPointer", _wrap_glColorPointer, 1 },
-        { "glColorMaterial", _wrap_glColorMaterial, 1 },
-        { "glColorMask", _wrap_glColorMask, 1 },
-        { "glColor4usv", _wrap_glColor4usv, 1 },
-        { "glColor4us", _wrap_glColor4us, 1 },
-        { "glColor4uiv", _wrap_glColor4uiv, 1 },
-        { "glColor4ui", _wrap_glColor4ui, 1 },
-        { "glColor4ubv", _wrap_glColor4ubv, 1 },
-        { "glColor4ub", _wrap_glColor4ub, 1 },
-        { "glColor4sv", _wrap_glColor4sv, 1 },
-        { "glColor4s", _wrap_glColor4s, 1 },
-        { "glColor4iv", _wrap_glColor4iv, 1 },
-        { "glColor4i", _wrap_glColor4i, 1 },
-        { "glColor4fv", _wrap_glColor4fv, 1 },
-        { "glColor4f", _wrap_glColor4f, 1 },
-        { "glColor4dv", _wrap_glColor4dv, 1 },
-        { "glColor4d", _wrap_glColor4d, 1 },
-        { "glColor4bv", _wrap_glColor4bv, 1 },
-        { "glColor4b", _wrap_glColor4b, 1 },
-        { "glColor3usv", _wrap_glColor3usv, 1 },
-        { "glColor3us", _wrap_glColor3us, 1 },
-        { "glColor3uiv", _wrap_glColor3uiv, 1 },
-        { "glColor3ui", _wrap_glColor3ui, 1 },
-        { "glColor3ubv", _wrap_glColor3ubv, 1 },
-        { "glColor3ub", _wrap_glColor3ub, 1 },
-        { "glColor3sv", _wrap_glColor3sv, 1 },
-        { "glColor3s", _wrap_glColor3s, 1 },
-        { "glColor3iv", _wrap_glColor3iv, 1 },
-        { "glColor3i", _wrap_glColor3i, 1 },
-        { "glColor3fv", _wrap_glColor3fv, 1 },
-        { "glColor3f", _wrap_glColor3f, 1 },
-        { "glColor3dv", _wrap_glColor3dv, 1 },
-        { "glColor3d", _wrap_glColor3d, 1 },
-        { "glColor3bv", _wrap_glColor3bv, 1 },
-        { "glColor3b", _wrap_glColor3b, 1 },
-        { "glClipPlane", _wrap_glClipPlane, 1 },
-        { "glClearStencil", _wrap_glClearStencil, 1 },
-        { "glClearIndex", _wrap_glClearIndex, 1 },
-        { "glClearDepth", _wrap_glClearDepth, 1 },
-        { "glClearColor", _wrap_glClearColor, 1 },
-        { "glClearAccum", _wrap_glClearAccum, 1 },
-        { "glClear", _wrap_glClear, 1 },
-        { "glCallLists", _wrap_glCallLists, 1 },
-        { "glCallList", _wrap_glCallList, 1 },
-        { "glBlendFunc", _wrap_glBlendFunc, 1 },
-        { "glBitmap", _wrap_glBitmap, 1 },
-        { "glBindTexture", _wrap_glBindTexture, 1 },
-        { "glBegin", _wrap_glBegin, 1 },
-        { "glArrayElement", _wrap_glArrayElement, 1 },
-        { "glAreTexturesResident", _wrap_glAreTexturesResident, 1 },
-        { "glAlphaFunc", _wrap_glAlphaFunc, 1 },
-        { "glAccum", _wrap_glAccum, 1 },
-        { "glGetColorTableEXT", _wrap_glGetColorTableEXT, 1 },
-        { "glColorTableEXT", _wrap_glColorTableEXT, 1 },
-        { "glVertexPointerEXT", _wrap_glVertexPointerEXT, 1 },
-        { "glTexCoordPointerEXT", _wrap_glTexCoordPointerEXT, 1 },
-        { "glNormalPointerEXT", _wrap_glNormalPointerEXT, 1 },
-        { "glIndexPointerEXT", _wrap_glIndexPointerEXT, 1 },
-        { "glGetPointervEXT", _wrap_glGetPointervEXT, 1 },
-        { "glEdgeFlagPointerEXT", _wrap_glEdgeFlagPointerEXT, 1 },
-        { "glDrawArraysEXT", _wrap_glDrawArraysEXT, 1 },
-        { "glColorPointerEXT", _wrap_glColorPointerEXT, 1 },
-        { "glArrayElementEXT", _wrap_glArrayElementEXT, 1 },
+        { "wxGLCanvas_GetContext", (PyCFunction) _wrap_wxGLCanvas_GetContext, METH_VARARGS | METH_KEYWORDS },
+        { "wxGLCanvas_SwapBuffers", (PyCFunction) _wrap_wxGLCanvas_SwapBuffers, METH_VARARGS | METH_KEYWORDS },
+        { "wxGLCanvas_SetColour", (PyCFunction) _wrap_wxGLCanvas_SetColour, METH_VARARGS | METH_KEYWORDS },
+        { "wxGLCanvas_SetCurrent", (PyCFunction) _wrap_wxGLCanvas_SetCurrent, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxGLCanvas", (PyCFunction) _wrap_new_wxGLCanvas, METH_VARARGS | METH_KEYWORDS },
+        { "wxGLContext_GetWindow", (PyCFunction) _wrap_wxGLContext_GetWindow, METH_VARARGS | METH_KEYWORDS },
+        { "wxGLContext_GetPalette", (PyCFunction) _wrap_wxGLContext_GetPalette, METH_VARARGS | METH_KEYWORDS },
+        { "wxGLContext_CreateDefaultPalette", (PyCFunction) _wrap_wxGLContext_CreateDefaultPalette, METH_VARARGS | METH_KEYWORDS },
+        { "wxGLContext_SetupPalette", (PyCFunction) _wrap_wxGLContext_SetupPalette, METH_VARARGS | METH_KEYWORDS },
+        { "wxGLContext_SetupPixelFormat", (PyCFunction) _wrap_wxGLContext_SetupPixelFormat, METH_VARARGS | METH_KEYWORDS },
+        { "wxGLContext_SwapBuffers", (PyCFunction) _wrap_wxGLContext_SwapBuffers, METH_VARARGS | METH_KEYWORDS },
+        { "wxGLContext_SetColour", (PyCFunction) _wrap_wxGLContext_SetColour, METH_VARARGS | METH_KEYWORDS },
+        { "wxGLContext_SetCurrent", (PyCFunction) _wrap_wxGLContext_SetCurrent, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxGLContext", (PyCFunction) _wrap_delete_wxGLContext, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxGLContext", (PyCFunction) _wrap_new_wxGLContext, METH_VARARGS | METH_KEYWORDS },
+        { "glViewport", (PyCFunction) _wrap_glViewport, METH_VARARGS | METH_KEYWORDS },
+        { "glVertexPointer", (PyCFunction) _wrap_glVertexPointer, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex4sv", (PyCFunction) _wrap_glVertex4sv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex4s", (PyCFunction) _wrap_glVertex4s, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex4iv", (PyCFunction) _wrap_glVertex4iv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex4i", (PyCFunction) _wrap_glVertex4i, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex4fv", (PyCFunction) _wrap_glVertex4fv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex4f", (PyCFunction) _wrap_glVertex4f, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex4dv", (PyCFunction) _wrap_glVertex4dv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex4d", (PyCFunction) _wrap_glVertex4d, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex3sv", (PyCFunction) _wrap_glVertex3sv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex3s", (PyCFunction) _wrap_glVertex3s, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex3iv", (PyCFunction) _wrap_glVertex3iv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex3i", (PyCFunction) _wrap_glVertex3i, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex3fv", (PyCFunction) _wrap_glVertex3fv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex3f", (PyCFunction) _wrap_glVertex3f, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex3dv", (PyCFunction) _wrap_glVertex3dv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex3d", (PyCFunction) _wrap_glVertex3d, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex2sv", (PyCFunction) _wrap_glVertex2sv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex2s", (PyCFunction) _wrap_glVertex2s, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex2iv", (PyCFunction) _wrap_glVertex2iv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex2i", (PyCFunction) _wrap_glVertex2i, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex2fv", (PyCFunction) _wrap_glVertex2fv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex2f", (PyCFunction) _wrap_glVertex2f, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex2dv", (PyCFunction) _wrap_glVertex2dv, METH_VARARGS | METH_KEYWORDS },
+        { "glVertex2d", (PyCFunction) _wrap_glVertex2d, METH_VARARGS | METH_KEYWORDS },
+        { "glTranslatef", (PyCFunction) _wrap_glTranslatef, METH_VARARGS | METH_KEYWORDS },
+        { "glTranslated", (PyCFunction) _wrap_glTranslated, METH_VARARGS | METH_KEYWORDS },
+        { "glTexSubImage2D", (PyCFunction) _wrap_glTexSubImage2D, METH_VARARGS | METH_KEYWORDS },
+        { "glTexSubImage1D", (PyCFunction) _wrap_glTexSubImage1D, METH_VARARGS | METH_KEYWORDS },
+        { "glTexParameteriv", (PyCFunction) _wrap_glTexParameteriv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexParameteri", (PyCFunction) _wrap_glTexParameteri, METH_VARARGS | METH_KEYWORDS },
+        { "glTexParameterfv", (PyCFunction) _wrap_glTexParameterfv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexParameterf", (PyCFunction) _wrap_glTexParameterf, METH_VARARGS | METH_KEYWORDS },
+        { "glTexImage2D", (PyCFunction) _wrap_glTexImage2D, METH_VARARGS | METH_KEYWORDS },
+        { "glTexImage1D", (PyCFunction) _wrap_glTexImage1D, METH_VARARGS | METH_KEYWORDS },
+        { "glTexGeniv", (PyCFunction) _wrap_glTexGeniv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexGeni", (PyCFunction) _wrap_glTexGeni, METH_VARARGS | METH_KEYWORDS },
+        { "glTexGenfv", (PyCFunction) _wrap_glTexGenfv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexGenf", (PyCFunction) _wrap_glTexGenf, METH_VARARGS | METH_KEYWORDS },
+        { "glTexGendv", (PyCFunction) _wrap_glTexGendv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexGend", (PyCFunction) _wrap_glTexGend, METH_VARARGS | METH_KEYWORDS },
+        { "glTexEnviv", (PyCFunction) _wrap_glTexEnviv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexEnvi", (PyCFunction) _wrap_glTexEnvi, METH_VARARGS | METH_KEYWORDS },
+        { "glTexEnvfv", (PyCFunction) _wrap_glTexEnvfv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexEnvf", (PyCFunction) _wrap_glTexEnvf, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoordPointer", (PyCFunction) _wrap_glTexCoordPointer, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord4sv", (PyCFunction) _wrap_glTexCoord4sv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord4s", (PyCFunction) _wrap_glTexCoord4s, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord4iv", (PyCFunction) _wrap_glTexCoord4iv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord4i", (PyCFunction) _wrap_glTexCoord4i, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord4fv", (PyCFunction) _wrap_glTexCoord4fv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord4f", (PyCFunction) _wrap_glTexCoord4f, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord4dv", (PyCFunction) _wrap_glTexCoord4dv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord4d", (PyCFunction) _wrap_glTexCoord4d, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord3sv", (PyCFunction) _wrap_glTexCoord3sv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord3s", (PyCFunction) _wrap_glTexCoord3s, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord3iv", (PyCFunction) _wrap_glTexCoord3iv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord3i", (PyCFunction) _wrap_glTexCoord3i, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord3fv", (PyCFunction) _wrap_glTexCoord3fv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord3f", (PyCFunction) _wrap_glTexCoord3f, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord3dv", (PyCFunction) _wrap_glTexCoord3dv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord3d", (PyCFunction) _wrap_glTexCoord3d, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord2sv", (PyCFunction) _wrap_glTexCoord2sv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord2s", (PyCFunction) _wrap_glTexCoord2s, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord2iv", (PyCFunction) _wrap_glTexCoord2iv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord2i", (PyCFunction) _wrap_glTexCoord2i, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord2fv", (PyCFunction) _wrap_glTexCoord2fv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord2f", (PyCFunction) _wrap_glTexCoord2f, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord2dv", (PyCFunction) _wrap_glTexCoord2dv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord2d", (PyCFunction) _wrap_glTexCoord2d, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord1sv", (PyCFunction) _wrap_glTexCoord1sv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord1s", (PyCFunction) _wrap_glTexCoord1s, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord1iv", (PyCFunction) _wrap_glTexCoord1iv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord1i", (PyCFunction) _wrap_glTexCoord1i, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord1fv", (PyCFunction) _wrap_glTexCoord1fv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord1f", (PyCFunction) _wrap_glTexCoord1f, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord1dv", (PyCFunction) _wrap_glTexCoord1dv, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoord1d", (PyCFunction) _wrap_glTexCoord1d, METH_VARARGS | METH_KEYWORDS },
+        { "glStencilOp", (PyCFunction) _wrap_glStencilOp, METH_VARARGS | METH_KEYWORDS },
+        { "glStencilMask", (PyCFunction) _wrap_glStencilMask, METH_VARARGS | METH_KEYWORDS },
+        { "glStencilFunc", (PyCFunction) _wrap_glStencilFunc, METH_VARARGS | METH_KEYWORDS },
+        { "glShadeModel", (PyCFunction) _wrap_glShadeModel, METH_VARARGS | METH_KEYWORDS },
+        { "glSelectBuffer", (PyCFunction) _wrap_glSelectBuffer, METH_VARARGS | METH_KEYWORDS },
+        { "glScissor", (PyCFunction) _wrap_glScissor, METH_VARARGS | METH_KEYWORDS },
+        { "glScalef", (PyCFunction) _wrap_glScalef, METH_VARARGS | METH_KEYWORDS },
+        { "glScaled", (PyCFunction) _wrap_glScaled, METH_VARARGS | METH_KEYWORDS },
+        { "glRotatef", (PyCFunction) _wrap_glRotatef, METH_VARARGS | METH_KEYWORDS },
+        { "glRotated", (PyCFunction) _wrap_glRotated, METH_VARARGS | METH_KEYWORDS },
+        { "glRenderMode", (PyCFunction) _wrap_glRenderMode, METH_VARARGS | METH_KEYWORDS },
+        { "glRectsv", (PyCFunction) _wrap_glRectsv, METH_VARARGS | METH_KEYWORDS },
+        { "glRects", (PyCFunction) _wrap_glRects, METH_VARARGS | METH_KEYWORDS },
+        { "glRectiv", (PyCFunction) _wrap_glRectiv, METH_VARARGS | METH_KEYWORDS },
+        { "glRecti", (PyCFunction) _wrap_glRecti, METH_VARARGS | METH_KEYWORDS },
+        { "glRectfv", (PyCFunction) _wrap_glRectfv, METH_VARARGS | METH_KEYWORDS },
+        { "glRectf", (PyCFunction) _wrap_glRectf, METH_VARARGS | METH_KEYWORDS },
+        { "glRectdv", (PyCFunction) _wrap_glRectdv, METH_VARARGS | METH_KEYWORDS },
+        { "glRectd", (PyCFunction) _wrap_glRectd, METH_VARARGS | METH_KEYWORDS },
+        { "glReadPixels", (PyCFunction) _wrap_glReadPixels, METH_VARARGS | METH_KEYWORDS },
+        { "glReadBuffer", (PyCFunction) _wrap_glReadBuffer, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos4sv", (PyCFunction) _wrap_glRasterPos4sv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos4s", (PyCFunction) _wrap_glRasterPos4s, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos4iv", (PyCFunction) _wrap_glRasterPos4iv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos4i", (PyCFunction) _wrap_glRasterPos4i, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos4fv", (PyCFunction) _wrap_glRasterPos4fv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos4f", (PyCFunction) _wrap_glRasterPos4f, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos4dv", (PyCFunction) _wrap_glRasterPos4dv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos4d", (PyCFunction) _wrap_glRasterPos4d, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos3sv", (PyCFunction) _wrap_glRasterPos3sv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos3s", (PyCFunction) _wrap_glRasterPos3s, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos3iv", (PyCFunction) _wrap_glRasterPos3iv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos3i", (PyCFunction) _wrap_glRasterPos3i, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos3fv", (PyCFunction) _wrap_glRasterPos3fv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos3f", (PyCFunction) _wrap_glRasterPos3f, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos3dv", (PyCFunction) _wrap_glRasterPos3dv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos3d", (PyCFunction) _wrap_glRasterPos3d, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos2sv", (PyCFunction) _wrap_glRasterPos2sv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos2s", (PyCFunction) _wrap_glRasterPos2s, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos2iv", (PyCFunction) _wrap_glRasterPos2iv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos2i", (PyCFunction) _wrap_glRasterPos2i, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos2fv", (PyCFunction) _wrap_glRasterPos2fv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos2f", (PyCFunction) _wrap_glRasterPos2f, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos2dv", (PyCFunction) _wrap_glRasterPos2dv, METH_VARARGS | METH_KEYWORDS },
+        { "glRasterPos2d", (PyCFunction) _wrap_glRasterPos2d, METH_VARARGS | METH_KEYWORDS },
+        { "glPushName", (PyCFunction) _wrap_glPushName, METH_VARARGS | METH_KEYWORDS },
+        { "glPushMatrix", (PyCFunction) _wrap_glPushMatrix, METH_VARARGS | METH_KEYWORDS },
+        { "glPushClientAttrib", (PyCFunction) _wrap_glPushClientAttrib, METH_VARARGS | METH_KEYWORDS },
+        { "glPushAttrib", (PyCFunction) _wrap_glPushAttrib, METH_VARARGS | METH_KEYWORDS },
+        { "glPrioritizeTextures", (PyCFunction) _wrap_glPrioritizeTextures, METH_VARARGS | METH_KEYWORDS },
+        { "glPopName", (PyCFunction) _wrap_glPopName, METH_VARARGS | METH_KEYWORDS },
+        { "glPopMatrix", (PyCFunction) _wrap_glPopMatrix, METH_VARARGS | METH_KEYWORDS },
+        { "glPopClientAttrib", (PyCFunction) _wrap_glPopClientAttrib, METH_VARARGS | METH_KEYWORDS },
+        { "glPopAttrib", (PyCFunction) _wrap_glPopAttrib, METH_VARARGS | METH_KEYWORDS },
+        { "glPolygonStipple", (PyCFunction) _wrap_glPolygonStipple, METH_VARARGS | METH_KEYWORDS },
+        { "glPolygonOffset", (PyCFunction) _wrap_glPolygonOffset, METH_VARARGS | METH_KEYWORDS },
+        { "glPolygonMode", (PyCFunction) _wrap_glPolygonMode, METH_VARARGS | METH_KEYWORDS },
+        { "glPointSize", (PyCFunction) _wrap_glPointSize, METH_VARARGS | METH_KEYWORDS },
+        { "glPixelZoom", (PyCFunction) _wrap_glPixelZoom, METH_VARARGS | METH_KEYWORDS },
+        { "glPixelTransferi", (PyCFunction) _wrap_glPixelTransferi, METH_VARARGS | METH_KEYWORDS },
+        { "glPixelTransferf", (PyCFunction) _wrap_glPixelTransferf, METH_VARARGS | METH_KEYWORDS },
+        { "glPixelStorei", (PyCFunction) _wrap_glPixelStorei, METH_VARARGS | METH_KEYWORDS },
+        { "glPixelStoref", (PyCFunction) _wrap_glPixelStoref, METH_VARARGS | METH_KEYWORDS },
+        { "glPixelMapusv", (PyCFunction) _wrap_glPixelMapusv, METH_VARARGS | METH_KEYWORDS },
+        { "glPixelMapuiv", (PyCFunction) _wrap_glPixelMapuiv, METH_VARARGS | METH_KEYWORDS },
+        { "glPixelMapfv", (PyCFunction) _wrap_glPixelMapfv, METH_VARARGS | METH_KEYWORDS },
+        { "glPassThrough", (PyCFunction) _wrap_glPassThrough, METH_VARARGS | METH_KEYWORDS },
+        { "glOrtho", (PyCFunction) _wrap_glOrtho, METH_VARARGS | METH_KEYWORDS },
+        { "glNormalPointer", (PyCFunction) _wrap_glNormalPointer, METH_VARARGS | METH_KEYWORDS },
+        { "glNormal3sv", (PyCFunction) _wrap_glNormal3sv, METH_VARARGS | METH_KEYWORDS },
+        { "glNormal3s", (PyCFunction) _wrap_glNormal3s, METH_VARARGS | METH_KEYWORDS },
+        { "glNormal3iv", (PyCFunction) _wrap_glNormal3iv, METH_VARARGS | METH_KEYWORDS },
+        { "glNormal3i", (PyCFunction) _wrap_glNormal3i, METH_VARARGS | METH_KEYWORDS },
+        { "glNormal3fv", (PyCFunction) _wrap_glNormal3fv, METH_VARARGS | METH_KEYWORDS },
+        { "glNormal3f", (PyCFunction) _wrap_glNormal3f, METH_VARARGS | METH_KEYWORDS },
+        { "glNormal3dv", (PyCFunction) _wrap_glNormal3dv, METH_VARARGS | METH_KEYWORDS },
+        { "glNormal3d", (PyCFunction) _wrap_glNormal3d, METH_VARARGS | METH_KEYWORDS },
+        { "glNormal3bv", (PyCFunction) _wrap_glNormal3bv, METH_VARARGS | METH_KEYWORDS },
+        { "glNormal3b", (PyCFunction) _wrap_glNormal3b, METH_VARARGS | METH_KEYWORDS },
+        { "glNewList", (PyCFunction) _wrap_glNewList, METH_VARARGS | METH_KEYWORDS },
+        { "glMultMatrixf", (PyCFunction) _wrap_glMultMatrixf, METH_VARARGS | METH_KEYWORDS },
+        { "glMultMatrixd", (PyCFunction) _wrap_glMultMatrixd, METH_VARARGS | METH_KEYWORDS },
+        { "glMatrixMode", (PyCFunction) _wrap_glMatrixMode, METH_VARARGS | METH_KEYWORDS },
+        { "glMaterialiv", (PyCFunction) _wrap_glMaterialiv, METH_VARARGS | METH_KEYWORDS },
+        { "glMateriali", (PyCFunction) _wrap_glMateriali, METH_VARARGS | METH_KEYWORDS },
+        { "glMaterialfv", (PyCFunction) _wrap_glMaterialfv, METH_VARARGS | METH_KEYWORDS },
+        { "glMaterialf", (PyCFunction) _wrap_glMaterialf, METH_VARARGS | METH_KEYWORDS },
+        { "glMapGrid2f", (PyCFunction) _wrap_glMapGrid2f, METH_VARARGS | METH_KEYWORDS },
+        { "glMapGrid2d", (PyCFunction) _wrap_glMapGrid2d, METH_VARARGS | METH_KEYWORDS },
+        { "glMapGrid1f", (PyCFunction) _wrap_glMapGrid1f, METH_VARARGS | METH_KEYWORDS },
+        { "glMapGrid1d", (PyCFunction) _wrap_glMapGrid1d, METH_VARARGS | METH_KEYWORDS },
+        { "glMap2f", (PyCFunction) _wrap_glMap2f, METH_VARARGS | METH_KEYWORDS },
+        { "glMap2d", (PyCFunction) _wrap_glMap2d, METH_VARARGS | METH_KEYWORDS },
+        { "glMap1f", (PyCFunction) _wrap_glMap1f, METH_VARARGS | METH_KEYWORDS },
+        { "glMap1d", (PyCFunction) _wrap_glMap1d, METH_VARARGS | METH_KEYWORDS },
+        { "glLogicOp", (PyCFunction) _wrap_glLogicOp, METH_VARARGS | METH_KEYWORDS },
+        { "glLoadName", (PyCFunction) _wrap_glLoadName, METH_VARARGS | METH_KEYWORDS },
+        { "glLoadMatrixf", (PyCFunction) _wrap_glLoadMatrixf, METH_VARARGS | METH_KEYWORDS },
+        { "glLoadMatrixd", (PyCFunction) _wrap_glLoadMatrixd, METH_VARARGS | METH_KEYWORDS },
+        { "glLoadIdentity", (PyCFunction) _wrap_glLoadIdentity, METH_VARARGS | METH_KEYWORDS },
+        { "glListBase", (PyCFunction) _wrap_glListBase, METH_VARARGS | METH_KEYWORDS },
+        { "glLineWidth", (PyCFunction) _wrap_glLineWidth, METH_VARARGS | METH_KEYWORDS },
+        { "glLineStipple", (PyCFunction) _wrap_glLineStipple, METH_VARARGS | METH_KEYWORDS },
+        { "glLightiv", (PyCFunction) _wrap_glLightiv, METH_VARARGS | METH_KEYWORDS },
+        { "glLighti", (PyCFunction) _wrap_glLighti, METH_VARARGS | METH_KEYWORDS },
+        { "glLightfv", (PyCFunction) _wrap_glLightfv, METH_VARARGS | METH_KEYWORDS },
+        { "glLightf", (PyCFunction) _wrap_glLightf, METH_VARARGS | METH_KEYWORDS },
+        { "glLightModeliv", (PyCFunction) _wrap_glLightModeliv, METH_VARARGS | METH_KEYWORDS },
+        { "glLightModeli", (PyCFunction) _wrap_glLightModeli, METH_VARARGS | METH_KEYWORDS },
+        { "glLightModelfv", (PyCFunction) _wrap_glLightModelfv, METH_VARARGS | METH_KEYWORDS },
+        { "glLightModelf", (PyCFunction) _wrap_glLightModelf, METH_VARARGS | METH_KEYWORDS },
+        { "glIsTexture", (PyCFunction) _wrap_glIsTexture, METH_VARARGS | METH_KEYWORDS },
+        { "glIsList", (PyCFunction) _wrap_glIsList, METH_VARARGS | METH_KEYWORDS },
+        { "glIsEnabled", (PyCFunction) _wrap_glIsEnabled, METH_VARARGS | METH_KEYWORDS },
+        { "glInterleavedArrays", (PyCFunction) _wrap_glInterleavedArrays, METH_VARARGS | METH_KEYWORDS },
+        { "glInitNames", (PyCFunction) _wrap_glInitNames, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexubv", (PyCFunction) _wrap_glIndexubv, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexub", (PyCFunction) _wrap_glIndexub, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexsv", (PyCFunction) _wrap_glIndexsv, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexs", (PyCFunction) _wrap_glIndexs, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexiv", (PyCFunction) _wrap_glIndexiv, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexi", (PyCFunction) _wrap_glIndexi, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexfv", (PyCFunction) _wrap_glIndexfv, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexf", (PyCFunction) _wrap_glIndexf, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexdv", (PyCFunction) _wrap_glIndexdv, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexd", (PyCFunction) _wrap_glIndexd, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexPointer", (PyCFunction) _wrap_glIndexPointer, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexMask", (PyCFunction) _wrap_glIndexMask, METH_VARARGS | METH_KEYWORDS },
+        { "glHint", (PyCFunction) _wrap_glHint, METH_VARARGS | METH_KEYWORDS },
+        { "glGetTexParameteriv", (PyCFunction) _wrap_glGetTexParameteriv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetTexParameterfv", (PyCFunction) _wrap_glGetTexParameterfv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetTexLevelParameteriv", (PyCFunction) _wrap_glGetTexLevelParameteriv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetTexLevelParameterfv", (PyCFunction) _wrap_glGetTexLevelParameterfv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetTexImage", (PyCFunction) _wrap_glGetTexImage, METH_VARARGS | METH_KEYWORDS },
+        { "glGetTexGeniv", (PyCFunction) _wrap_glGetTexGeniv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetTexGenfv", (PyCFunction) _wrap_glGetTexGenfv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetTexGendv", (PyCFunction) _wrap_glGetTexGendv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetTexEnviv", (PyCFunction) _wrap_glGetTexEnviv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetTexEnvfv", (PyCFunction) _wrap_glGetTexEnvfv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetString", (PyCFunction) _wrap_glGetString, METH_VARARGS | METH_KEYWORDS },
+        { "glGetPolygonStipple", (PyCFunction) _wrap_glGetPolygonStipple, METH_VARARGS | METH_KEYWORDS },
+        { "glGetPointerv", (PyCFunction) _wrap_glGetPointerv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetPixelMapusv", (PyCFunction) _wrap_glGetPixelMapusv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetPixelMapuiv", (PyCFunction) _wrap_glGetPixelMapuiv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetPixelMapfv", (PyCFunction) _wrap_glGetPixelMapfv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetMaterialiv", (PyCFunction) _wrap_glGetMaterialiv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetMaterialfv", (PyCFunction) _wrap_glGetMaterialfv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetMapiv", (PyCFunction) _wrap_glGetMapiv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetMapfv", (PyCFunction) _wrap_glGetMapfv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetMapdv", (PyCFunction) _wrap_glGetMapdv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetLightiv", (PyCFunction) _wrap_glGetLightiv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetLightfv", (PyCFunction) _wrap_glGetLightfv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetIntegerv", (PyCFunction) _wrap_glGetIntegerv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetFloatv", (PyCFunction) _wrap_glGetFloatv, METH_VARARGS | METH_KEYWORDS },
+        { "glGetError", (PyCFunction) _wrap_glGetError, METH_VARARGS | METH_KEYWORDS },
+        { "glGetDoublev", (PyCFunction) _wrap_glGetDoublev, METH_VARARGS | METH_KEYWORDS },
+        { "glGetClipPlane", (PyCFunction) _wrap_glGetClipPlane, METH_VARARGS | METH_KEYWORDS },
+        { "glGetBooleanv", (PyCFunction) _wrap_glGetBooleanv, METH_VARARGS | METH_KEYWORDS },
+        { "glGenTextures", (PyCFunction) _wrap_glGenTextures, METH_VARARGS | METH_KEYWORDS },
+        { "glGenLists", (PyCFunction) _wrap_glGenLists, METH_VARARGS | METH_KEYWORDS },
+        { "glFrustum", (PyCFunction) _wrap_glFrustum, METH_VARARGS | METH_KEYWORDS },
+        { "glFrontFace", (PyCFunction) _wrap_glFrontFace, METH_VARARGS | METH_KEYWORDS },
+        { "glFogiv", (PyCFunction) _wrap_glFogiv, METH_VARARGS | METH_KEYWORDS },
+        { "glFogi", (PyCFunction) _wrap_glFogi, METH_VARARGS | METH_KEYWORDS },
+        { "glFogfv", (PyCFunction) _wrap_glFogfv, METH_VARARGS | METH_KEYWORDS },
+        { "glFogf", (PyCFunction) _wrap_glFogf, METH_VARARGS | METH_KEYWORDS },
+        { "glFlush", (PyCFunction) _wrap_glFlush, METH_VARARGS | METH_KEYWORDS },
+        { "glFinish", (PyCFunction) _wrap_glFinish, METH_VARARGS | METH_KEYWORDS },
+        { "glFeedbackBuffer", (PyCFunction) _wrap_glFeedbackBuffer, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalPoint2", (PyCFunction) _wrap_glEvalPoint2, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalPoint1", (PyCFunction) _wrap_glEvalPoint1, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalMesh2", (PyCFunction) _wrap_glEvalMesh2, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalMesh1", (PyCFunction) _wrap_glEvalMesh1, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalCoord2fv", (PyCFunction) _wrap_glEvalCoord2fv, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalCoord2f", (PyCFunction) _wrap_glEvalCoord2f, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalCoord2dv", (PyCFunction) _wrap_glEvalCoord2dv, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalCoord2d", (PyCFunction) _wrap_glEvalCoord2d, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalCoord1fv", (PyCFunction) _wrap_glEvalCoord1fv, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalCoord1f", (PyCFunction) _wrap_glEvalCoord1f, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalCoord1dv", (PyCFunction) _wrap_glEvalCoord1dv, METH_VARARGS | METH_KEYWORDS },
+        { "glEvalCoord1d", (PyCFunction) _wrap_glEvalCoord1d, METH_VARARGS | METH_KEYWORDS },
+        { "glEndList", (PyCFunction) _wrap_glEndList, METH_VARARGS | METH_KEYWORDS },
+        { "glEnd", (PyCFunction) _wrap_glEnd, METH_VARARGS | METH_KEYWORDS },
+        { "glEnableClientState", (PyCFunction) _wrap_glEnableClientState, METH_VARARGS | METH_KEYWORDS },
+        { "glEnable", (PyCFunction) _wrap_glEnable, METH_VARARGS | METH_KEYWORDS },
+        { "glEdgeFlagv", (PyCFunction) _wrap_glEdgeFlagv, METH_VARARGS | METH_KEYWORDS },
+        { "glEdgeFlagPointer", (PyCFunction) _wrap_glEdgeFlagPointer, METH_VARARGS | METH_KEYWORDS },
+        { "glEdgeFlag", (PyCFunction) _wrap_glEdgeFlag, METH_VARARGS | METH_KEYWORDS },
+        { "glDrawPixels", (PyCFunction) _wrap_glDrawPixels, METH_VARARGS | METH_KEYWORDS },
+        { "glDrawElements", (PyCFunction) _wrap_glDrawElements, METH_VARARGS | METH_KEYWORDS },
+        { "glDrawBuffer", (PyCFunction) _wrap_glDrawBuffer, METH_VARARGS | METH_KEYWORDS },
+        { "glDrawArrays", (PyCFunction) _wrap_glDrawArrays, METH_VARARGS | METH_KEYWORDS },
+        { "glDisableClientState", (PyCFunction) _wrap_glDisableClientState, METH_VARARGS | METH_KEYWORDS },
+        { "glDisable", (PyCFunction) _wrap_glDisable, METH_VARARGS | METH_KEYWORDS },
+        { "glDepthRange", (PyCFunction) _wrap_glDepthRange, METH_VARARGS | METH_KEYWORDS },
+        { "glDepthMask", (PyCFunction) _wrap_glDepthMask, METH_VARARGS | METH_KEYWORDS },
+        { "glDepthFunc", (PyCFunction) _wrap_glDepthFunc, METH_VARARGS | METH_KEYWORDS },
+        { "glDeleteTextures", (PyCFunction) _wrap_glDeleteTextures, METH_VARARGS | METH_KEYWORDS },
+        { "glDeleteLists", (PyCFunction) _wrap_glDeleteLists, METH_VARARGS | METH_KEYWORDS },
+        { "glCullFace", (PyCFunction) _wrap_glCullFace, METH_VARARGS | METH_KEYWORDS },
+        { "glCopyTexSubImage2D", (PyCFunction) _wrap_glCopyTexSubImage2D, METH_VARARGS | METH_KEYWORDS },
+        { "glCopyTexSubImage1D", (PyCFunction) _wrap_glCopyTexSubImage1D, METH_VARARGS | METH_KEYWORDS },
+        { "glCopyTexImage2D", (PyCFunction) _wrap_glCopyTexImage2D, METH_VARARGS | METH_KEYWORDS },
+        { "glCopyTexImage1D", (PyCFunction) _wrap_glCopyTexImage1D, METH_VARARGS | METH_KEYWORDS },
+        { "glCopyPixels", (PyCFunction) _wrap_glCopyPixels, METH_VARARGS | METH_KEYWORDS },
+        { "glColorPointer", (PyCFunction) _wrap_glColorPointer, METH_VARARGS | METH_KEYWORDS },
+        { "glColorMaterial", (PyCFunction) _wrap_glColorMaterial, METH_VARARGS | METH_KEYWORDS },
+        { "glColorMask", (PyCFunction) _wrap_glColorMask, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4usv", (PyCFunction) _wrap_glColor4usv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4us", (PyCFunction) _wrap_glColor4us, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4uiv", (PyCFunction) _wrap_glColor4uiv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4ui", (PyCFunction) _wrap_glColor4ui, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4ubv", (PyCFunction) _wrap_glColor4ubv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4ub", (PyCFunction) _wrap_glColor4ub, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4sv", (PyCFunction) _wrap_glColor4sv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4s", (PyCFunction) _wrap_glColor4s, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4iv", (PyCFunction) _wrap_glColor4iv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4i", (PyCFunction) _wrap_glColor4i, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4fv", (PyCFunction) _wrap_glColor4fv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4f", (PyCFunction) _wrap_glColor4f, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4dv", (PyCFunction) _wrap_glColor4dv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4d", (PyCFunction) _wrap_glColor4d, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4bv", (PyCFunction) _wrap_glColor4bv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor4b", (PyCFunction) _wrap_glColor4b, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3usv", (PyCFunction) _wrap_glColor3usv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3us", (PyCFunction) _wrap_glColor3us, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3uiv", (PyCFunction) _wrap_glColor3uiv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3ui", (PyCFunction) _wrap_glColor3ui, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3ubv", (PyCFunction) _wrap_glColor3ubv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3ub", (PyCFunction) _wrap_glColor3ub, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3sv", (PyCFunction) _wrap_glColor3sv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3s", (PyCFunction) _wrap_glColor3s, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3iv", (PyCFunction) _wrap_glColor3iv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3i", (PyCFunction) _wrap_glColor3i, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3fv", (PyCFunction) _wrap_glColor3fv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3f", (PyCFunction) _wrap_glColor3f, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3dv", (PyCFunction) _wrap_glColor3dv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3d", (PyCFunction) _wrap_glColor3d, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3bv", (PyCFunction) _wrap_glColor3bv, METH_VARARGS | METH_KEYWORDS },
+        { "glColor3b", (PyCFunction) _wrap_glColor3b, METH_VARARGS | METH_KEYWORDS },
+        { "glClipPlane", (PyCFunction) _wrap_glClipPlane, METH_VARARGS | METH_KEYWORDS },
+        { "glClearStencil", (PyCFunction) _wrap_glClearStencil, METH_VARARGS | METH_KEYWORDS },
+        { "glClearIndex", (PyCFunction) _wrap_glClearIndex, METH_VARARGS | METH_KEYWORDS },
+        { "glClearDepth", (PyCFunction) _wrap_glClearDepth, METH_VARARGS | METH_KEYWORDS },
+        { "glClearColor", (PyCFunction) _wrap_glClearColor, METH_VARARGS | METH_KEYWORDS },
+        { "glClearAccum", (PyCFunction) _wrap_glClearAccum, METH_VARARGS | METH_KEYWORDS },
+        { "glClear", (PyCFunction) _wrap_glClear, METH_VARARGS | METH_KEYWORDS },
+        { "glCallLists", (PyCFunction) _wrap_glCallLists, METH_VARARGS | METH_KEYWORDS },
+        { "glCallList", (PyCFunction) _wrap_glCallList, METH_VARARGS | METH_KEYWORDS },
+        { "glBlendFunc", (PyCFunction) _wrap_glBlendFunc, METH_VARARGS | METH_KEYWORDS },
+        { "glBitmap", (PyCFunction) _wrap_glBitmap, METH_VARARGS | METH_KEYWORDS },
+        { "glBindTexture", (PyCFunction) _wrap_glBindTexture, METH_VARARGS | METH_KEYWORDS },
+        { "glBegin", (PyCFunction) _wrap_glBegin, METH_VARARGS | METH_KEYWORDS },
+        { "glArrayElement", (PyCFunction) _wrap_glArrayElement, METH_VARARGS | METH_KEYWORDS },
+        { "glAreTexturesResident", (PyCFunction) _wrap_glAreTexturesResident, METH_VARARGS | METH_KEYWORDS },
+        { "glAlphaFunc", (PyCFunction) _wrap_glAlphaFunc, METH_VARARGS | METH_KEYWORDS },
+        { "glAccum", (PyCFunction) _wrap_glAccum, METH_VARARGS | METH_KEYWORDS },
+        { "glGetColorTableEXT", (PyCFunction) _wrap_glGetColorTableEXT, METH_VARARGS | METH_KEYWORDS },
+        { "glColorTableEXT", (PyCFunction) _wrap_glColorTableEXT, METH_VARARGS | METH_KEYWORDS },
+        { "glVertexPointerEXT", (PyCFunction) _wrap_glVertexPointerEXT, METH_VARARGS | METH_KEYWORDS },
+        { "glTexCoordPointerEXT", (PyCFunction) _wrap_glTexCoordPointerEXT, METH_VARARGS | METH_KEYWORDS },
+        { "glNormalPointerEXT", (PyCFunction) _wrap_glNormalPointerEXT, METH_VARARGS | METH_KEYWORDS },
+        { "glIndexPointerEXT", (PyCFunction) _wrap_glIndexPointerEXT, METH_VARARGS | METH_KEYWORDS },
+        { "glGetPointervEXT", (PyCFunction) _wrap_glGetPointervEXT, METH_VARARGS | METH_KEYWORDS },
+        { "glEdgeFlagPointerEXT", (PyCFunction) _wrap_glEdgeFlagPointerEXT, METH_VARARGS | METH_KEYWORDS },
+        { "glDrawArraysEXT", (PyCFunction) _wrap_glDrawArraysEXT, METH_VARARGS | METH_KEYWORDS },
+        { "glColorPointerEXT", (PyCFunction) _wrap_glColorPointerEXT, METH_VARARGS | METH_KEYWORDS },
+        { "glArrayElementEXT", (PyCFunction) _wrap_glArrayElementEXT, METH_VARARGS | METH_KEYWORDS },
         { 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},
+    { "_class_wxMenuItem","_wxMenuItem",0},
+    { "_class_wxPaintEvent","_wxPaintEvent",0},
+    { "_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0},
+    { "_class_wxStatusBar","_wxStatusBar",0},
+    { "_class_wxGIFHandler","_wxGIFHandler",0},
+    { "_class_wxPostScriptDC","_wxPostScriptDC",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},
+    { "_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},
+    { "_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_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},
+    { "_wxPostScriptDC","_class_wxPostScriptDC",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_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_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)() {
+SWIGEXPORT(void) initglcanvasc() {
         PyObject *m, *d;
         SWIG_globals = SWIG_newvarlink();
         m = Py_InitModule("glcanvasc", glcanvascMethods);
@@ -9101,492 +10177,9 @@ SWIGEXPORT(void,initglcanvasc)() {
     wxClassInfo::CleanUpClasses();
     wxClassInfo::InitializeClasses();
 
-/*
- * These are the pointer type-equivalency mappings. 
- * (Used by the SWIG pointer type-checker).
- */
-        SWIG_RegisterMapping("_wxAcceleratorTable","_class_wxAcceleratorTable",0);
-        SWIG_RegisterMapping("_wxEvent","_class_wxEvent",0);
-        SWIG_RegisterMapping("_class_wxActivateEvent","_wxActivateEvent",0);
-        SWIG_RegisterMapping("_GLfloat","_GLclampf",0);
-        SWIG_RegisterMapping("_GLfloat","_float",0);
-        SWIG_RegisterMapping("_signed_long","_long",0);
-        SWIG_RegisterMapping("_wxMenuEvent","_class_wxMenuEvent",0);
-        SWIG_RegisterMapping("_class_wxJPEGHandler","_wxJPEGHandler",0);
-        SWIG_RegisterMapping("_wxBMPHandler","_class_wxBMPHandler",0);
-        SWIG_RegisterMapping("_wxImage","_class_wxImage",0);
-        SWIG_RegisterMapping("_double","_GLclampd",0);
-        SWIG_RegisterMapping("_double","_GLdouble",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_GLuint",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_GLsizei",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_GLint",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_GLbitfield",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_GLenum",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_int",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_signed_int",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_unsigned_int",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_wxWindowID",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_uint",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_EBool",0);
-        SWIG_RegisterMapping("_wxPrintQuality","_size_t",0);
-        SWIG_RegisterMapping("_wxFontData","_class_wxFontData",0);
-        SWIG_RegisterMapping("___wxPyCleanup","_class___wxPyCleanup",0);
-        SWIG_RegisterMapping("_class_wxRegionIterator","_wxRegionIterator",0);
-        SWIG_RegisterMapping("_class_wxMenuBar","_wxMenuBar",0);
-        SWIG_RegisterMapping("_class_wxPyTreeItemData","_wxPyTreeItemData",0);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxGLCanvas",SwigwxGLCanvasTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxGLCanvas",SwigwxGLCanvasTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxEvtHandler",0);
-        SWIG_RegisterMapping("_wxPaintEvent","_class_wxPaintEvent",0);
-        SWIG_RegisterMapping("_wxGIFHandler","_class_wxGIFHandler",0);
-        SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0);
-        SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0);
-        SWIG_RegisterMapping("_wxNotifyEvent","_class_wxNotifyEvent",0);
-        SWIG_RegisterMapping("_wxImageHandler","_class_wxImageHandler",0);
-        SWIG_RegisterMapping("_GLsizei","_GLuint",0);
-        SWIG_RegisterMapping("_GLsizei","_int",0);
-        SWIG_RegisterMapping("_GLsizei","_signed_int",0);
-        SWIG_RegisterMapping("_GLsizei","_unsigned_int",0);
-        SWIG_RegisterMapping("_GLsizei","_wxWindowID",0);
-        SWIG_RegisterMapping("_GLsizei","_uint",0);
-        SWIG_RegisterMapping("_GLsizei","_EBool",0);
-        SWIG_RegisterMapping("_GLsizei","_size_t",0);
-        SWIG_RegisterMapping("_GLsizei","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_GLsizei","_GLenum",0);
-        SWIG_RegisterMapping("_GLsizei","_GLbitfield",0);
-        SWIG_RegisterMapping("_GLsizei","_GLint",0);
-        SWIG_RegisterMapping("_class_wxTreeCtrl","_wxTreeCtrl",0);
-        SWIG_RegisterMapping("_wxMask","_class_wxMask",0);
-        SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0);
-        SWIG_RegisterMapping("_wxGrid","_class_wxGrid",0);
-        SWIG_RegisterMapping("_wxPNGHandler","_class_wxPNGHandler",0);
-        SWIG_RegisterMapping("_class_wxColourData","_wxColourData",0);
-        SWIG_RegisterMapping("_class_wxPageSetupDialogData","_wxPageSetupDialogData",0);
-        SWIG_RegisterMapping("_wxPrinter","_class_wxPrinter",0);
-        SWIG_RegisterMapping("_GLbyte","_signed_char",0);
-        SWIG_RegisterMapping("_wxPen","_class_wxPen",0);
-        SWIG_RegisterMapping("_wxUpdateUIEvent","_class_wxUpdateUIEvent",0);
-        SWIG_RegisterMapping("_byte","_GLubyte",0);
-        SWIG_RegisterMapping("_byte","_GLboolean",0);
-        SWIG_RegisterMapping("_byte","_unsigned_char",0);
-        SWIG_RegisterMapping("_wxStaticBox","_class_wxStaticBox",0);
-        SWIG_RegisterMapping("_wxChoice","_class_wxChoice",0);
-        SWIG_RegisterMapping("_wxSlider","_class_wxSlider",0);
-        SWIG_RegisterMapping("_wxNotebookEvent","_class_wxNotebookEvent",0);
-        SWIG_RegisterMapping("_wxPyPrintout","_class_wxPyPrintout",0);
-        SWIG_RegisterMapping("_long","_wxDash",0);
-        SWIG_RegisterMapping("_long","_unsigned_long",0);
-        SWIG_RegisterMapping("_long","_signed_long",0);
-        SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0);
-        SWIG_RegisterMapping("_wxDropFilesEvent","_class_wxDropFilesEvent",0);
-        SWIG_RegisterMapping("_wxBitmapButton","_class_wxBitmapButton",0);
-        SWIG_RegisterMapping("_wxSashWindow","_class_wxSashWindow",0);
-        SWIG_RegisterMapping("_GLenum","_GLuint",0);
-        SWIG_RegisterMapping("_GLenum","_GLsizei",0);
-        SWIG_RegisterMapping("_GLenum","_GLint",0);
-        SWIG_RegisterMapping("_GLenum","_GLbitfield",0);
-        SWIG_RegisterMapping("_GLenum","_unsigned_int",0);
-        SWIG_RegisterMapping("_GLenum","_int",0);
-        SWIG_RegisterMapping("_GLenum","_wxWindowID",0);
-        SWIG_RegisterMapping("_GLenum","_uint",0);
-        SWIG_RegisterMapping("_GLenum","_size_t",0);
-        SWIG_RegisterMapping("_GLenum","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_class_wxPrintDialogData","_wxPrintDialogData",0);
-        SWIG_RegisterMapping("_wxGLContext","_class_wxGLContext",0);
-        SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0);
-        SWIG_RegisterMapping("_class_wxGauge","_wxGauge",0);
-        SWIG_RegisterMapping("_class_wxSashEvent","_wxSashEvent",0);
-        SWIG_RegisterMapping("_float","_GLclampf",0);
-        SWIG_RegisterMapping("_float","_GLfloat",0);
-        SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
-        SWIG_RegisterMapping("_wxListEvent","_class_wxListEvent",0);
-        SWIG_RegisterMapping("_class_wxSingleChoiceDialog","_wxSingleChoiceDialog",0);
-        SWIG_RegisterMapping("_wxProgressDialog","_class_wxProgressDialog",0);
-        SWIG_RegisterMapping("_class_wxBMPHandler","_wxBMPHandler",0);
-        SWIG_RegisterMapping("_wxPrintPreview","_class_wxPrintPreview",0);
-        SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
-        SWIG_RegisterMapping("_wxSashLayoutWindow","_class_wxSashLayoutWindow",0);
-        SWIG_RegisterMapping("_size_t","_GLuint",0);
-        SWIG_RegisterMapping("_size_t","_GLsizei",0);
-        SWIG_RegisterMapping("_size_t","_GLint",0);
-        SWIG_RegisterMapping("_size_t","_GLbitfield",0);
-        SWIG_RegisterMapping("_size_t","_GLenum",0);
-        SWIG_RegisterMapping("_size_t","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_size_t","_unsigned_int",0);
-        SWIG_RegisterMapping("_size_t","_int",0);
-        SWIG_RegisterMapping("_size_t","_wxWindowID",0);
-        SWIG_RegisterMapping("_size_t","_uint",0);
-        SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
-        SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
-        SWIG_RegisterMapping("_class_wxPaintEvent","_wxPaintEvent",0);
-        SWIG_RegisterMapping("_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0);
-        SWIG_RegisterMapping("_class_wxStatusBar","_wxStatusBar",0);
-        SWIG_RegisterMapping("_class_wxGIFHandler","_wxGIFHandler",0);
-        SWIG_RegisterMapping("_class_wxPostScriptDC","_wxPostScriptDC",0);
-        SWIG_RegisterMapping("_wxPanel","_class_wxGLCanvas",SwigwxGLCanvasTowxPanel);
-        SWIG_RegisterMapping("_wxPanel","_wxGLCanvas",SwigwxGLCanvasTowxPanel);
-        SWIG_RegisterMapping("_wxPanel","_class_wxPanel",0);
-        SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0);
-        SWIG_RegisterMapping("_wxCheckBox","_class_wxCheckBox",0);
-        SWIG_RegisterMapping("_wxPyEvent","_class_wxPyEvent",0);
-        SWIG_RegisterMapping("_wxTextCtrl","_class_wxTextCtrl",0);
-        SWIG_RegisterMapping("_signed_char","_GLbyte",0);
-        SWIG_RegisterMapping("_class_wxMask","_wxMask",0);
-        SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0);
-        SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0);
-        SWIG_RegisterMapping("_class_wxGrid","_wxGrid",0);
-        SWIG_RegisterMapping("_class_wxPNGHandler","_wxPNGHandler",0);
-        SWIG_RegisterMapping("_wxColour","_class_wxColour",0);
-        SWIG_RegisterMapping("_class_wxDialog","_wxDialog",0);
-        SWIG_RegisterMapping("_wxPageSetupDialog","_class_wxPageSetupDialog",0);
-        SWIG_RegisterMapping("_class_wxPrinter","_wxPrinter",0);
-        SWIG_RegisterMapping("_wxIdleEvent","_class_wxIdleEvent",0);
-        SWIG_RegisterMapping("_class_wxUpdateUIEvent","_wxUpdateUIEvent",0);
-        SWIG_RegisterMapping("_wxToolBar","_class_wxToolBar",0);
-        SWIG_RegisterMapping("_wxStaticLine","_class_wxStaticLine",0);
-        SWIG_RegisterMapping("_class_wxLayoutAlgorithm","_wxLayoutAlgorithm",0);
-        SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
-        SWIG_RegisterMapping("_wxMiniFrame","_class_wxMiniFrame",0);
-        SWIG_RegisterMapping("_class_wxNotebookEvent","_wxNotebookEvent",0);
-        SWIG_RegisterMapping("_class_wxPyPrintout","_wxPyPrintout",0);
-        SWIG_RegisterMapping("_class_wxSashWindow","_wxSashWindow",0);
-        SWIG_RegisterMapping("_GLuint","_unsigned_int",0);
-        SWIG_RegisterMapping("_GLuint","_int",0);
-        SWIG_RegisterMapping("_GLuint","_wxWindowID",0);
-        SWIG_RegisterMapping("_GLuint","_uint",0);
-        SWIG_RegisterMapping("_GLuint","_size_t",0);
-        SWIG_RegisterMapping("_GLuint","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_GLuint","_GLenum",0);
-        SWIG_RegisterMapping("_GLuint","_GLbitfield",0);
-        SWIG_RegisterMapping("_GLuint","_GLint",0);
-        SWIG_RegisterMapping("_GLuint","_GLsizei",0);
-        SWIG_RegisterMapping("_wxShowEvent","_class_wxShowEvent",0);
-        SWIG_RegisterMapping("_uint","_GLuint",0);
-        SWIG_RegisterMapping("_uint","_GLsizei",0);
-        SWIG_RegisterMapping("_uint","_GLint",0);
-        SWIG_RegisterMapping("_uint","_GLbitfield",0);
-        SWIG_RegisterMapping("_uint","_GLenum",0);
-        SWIG_RegisterMapping("_uint","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_uint","_size_t",0);
-        SWIG_RegisterMapping("_uint","_unsigned_int",0);
-        SWIG_RegisterMapping("_uint","_int",0);
-        SWIG_RegisterMapping("_uint","_wxWindowID",0);
-        SWIG_RegisterMapping("_class_wxEvent","_wxEvent",0);
-        SWIG_RegisterMapping("_wxCheckListBox","_class_wxCheckListBox",0);
-        SWIG_RegisterMapping("_wxSplitterEvent","_class_wxSplitterEvent",0);
-        SWIG_RegisterMapping("_wxGridEvent","_class_wxGridEvent",0);
-        SWIG_RegisterMapping("_wxRect","_class_wxRect",0);
-        SWIG_RegisterMapping("_wxCommandEvent","_class_wxCommandEvent",0);
-        SWIG_RegisterMapping("_wxSizeEvent","_class_wxSizeEvent",0);
-        SWIG_RegisterMapping("_class_wxImage","_wxImage",0);
-        SWIG_RegisterMapping("_GLclampd","_double",0);
-        SWIG_RegisterMapping("_GLclampd","_GLdouble",0);
-        SWIG_RegisterMapping("_wxPoint","_class_wxPoint",0);
-        SWIG_RegisterMapping("_class_wxSashLayoutWindow","_wxSashLayoutWindow",0);
-        SWIG_RegisterMapping("_class_wxButton","_wxButton",0);
-        SWIG_RegisterMapping("_wxRadioBox","_class_wxRadioBox",0);
-        SWIG_RegisterMapping("_class_wxFontData","_wxFontData",0);
-        SWIG_RegisterMapping("_class___wxPyCleanup","___wxPyCleanup",0);
-        SWIG_RegisterMapping("_GLclampf","_float",0);
-        SWIG_RegisterMapping("_GLclampf","_GLfloat",0);
-        SWIG_RegisterMapping("_wxBitmap","_class_wxBitmap",0);
-        SWIG_RegisterMapping("_wxPrintDialog","_class_wxPrintDialog",0);
-        SWIG_RegisterMapping("_wxPyTimer","_class_wxPyTimer",0);
-        SWIG_RegisterMapping("_wxWindowDC","_class_wxWindowDC",0);
-        SWIG_RegisterMapping("_wxScrollBar","_class_wxScrollBar",0);
-        SWIG_RegisterMapping("_wxSpinButton","_class_wxSpinButton",0);
-        SWIG_RegisterMapping("_wxToolBarTool","_class_wxToolBarTool",0);
-        SWIG_RegisterMapping("_wxColourDialog","_class_wxColourDialog",0);
-        SWIG_RegisterMapping("_wxPrintData","_class_wxPrintData",0);
-        SWIG_RegisterMapping("_class_wxIndividualLayoutConstraint","_wxIndividualLayoutConstraint",0);
-        SWIG_RegisterMapping("_class_wxNotifyEvent","_wxNotifyEvent",0);
-        SWIG_RegisterMapping("_wxMessageDialog","_class_wxMessageDialog",0);
-        SWIG_RegisterMapping("_GLbitfield","_GLuint",0);
-        SWIG_RegisterMapping("_GLbitfield","_GLsizei",0);
-        SWIG_RegisterMapping("_GLbitfield","_GLint",0);
-        SWIG_RegisterMapping("_GLbitfield","_unsigned_int",0);
-        SWIG_RegisterMapping("_GLbitfield","_int",0);
-        SWIG_RegisterMapping("_GLbitfield","_wxWindowID",0);
-        SWIG_RegisterMapping("_GLbitfield","_uint",0);
-        SWIG_RegisterMapping("_GLbitfield","_size_t",0);
-        SWIG_RegisterMapping("_GLbitfield","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_GLbitfield","_GLenum",0);
-        SWIG_RegisterMapping("_class_wxPyEvent","_wxPyEvent",0);
-        SWIG_RegisterMapping("_wxTextEntryDialog","_class_wxTextEntryDialog",0);
-        SWIG_RegisterMapping("_class_wxIconizeEvent","_wxIconizeEvent",0);
-        SWIG_RegisterMapping("_class_wxStaticBitmap","_wxStaticBitmap",0);
-        SWIG_RegisterMapping("_wxMDIChildFrame","_class_wxMDIChildFrame",0);
-        SWIG_RegisterMapping("_wxListItem","_class_wxListItem",0);
-        SWIG_RegisterMapping("_class_wxToolBar","_wxToolBar",0);
-        SWIG_RegisterMapping("_class_wxStaticLine","_wxStaticLine",0);
-        SWIG_RegisterMapping("_wxScrollEvent","_class_wxScrollEvent",0);
-        SWIG_RegisterMapping("_wxCalculateLayoutEvent","_class_wxCalculateLayoutEvent",0);
-        SWIG_RegisterMapping("_EBool","_GLsizei",0);
-        SWIG_RegisterMapping("_EBool","_GLint",0);
-        SWIG_RegisterMapping("_EBool","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_EBool","_signed_int",0);
-        SWIG_RegisterMapping("_EBool","_int",0);
-        SWIG_RegisterMapping("_EBool","_wxWindowID",0);
-        SWIG_RegisterMapping("_class_wxRegion","_wxRegion",0);
-        SWIG_RegisterMapping("_class_wxDropFilesEvent","_wxDropFilesEvent",0);
-        SWIG_RegisterMapping("_class_wxPreviewFrame","_wxPreviewFrame",0);
-        SWIG_RegisterMapping("_wxStaticText","_class_wxStaticText",0);
-        SWIG_RegisterMapping("_wxFont","_class_wxFont",0);
-        SWIG_RegisterMapping("_wxCloseEvent","_class_wxCloseEvent",0);
-        SWIG_RegisterMapping("_class_wxSplitterEvent","_wxSplitterEvent",0);
-        SWIG_RegisterMapping("_wxNotebook","_class_wxNotebook",0);
-        SWIG_RegisterMapping("_unsigned_long","_wxDash",0);
-        SWIG_RegisterMapping("_unsigned_long","_long",0);
-        SWIG_RegisterMapping("_class_wxRect","_wxRect",0);
-        SWIG_RegisterMapping("_class_wxDC","_wxDC",0);
-        SWIG_RegisterMapping("_class_wxProgressDialog","_wxProgressDialog",0);
-        SWIG_RegisterMapping("_wxPyApp","_class_wxPyApp",0);
-        SWIG_RegisterMapping("_wxMDIParentFrame","_class_wxMDIParentFrame",0);
-        SWIG_RegisterMapping("_class_wxTreeEvent","_wxTreeEvent",0);
-        SWIG_RegisterMapping("_class_wxDirDialog","_wxDirDialog",0);
-        SWIG_RegisterMapping("_class_wxPyTimer","_wxPyTimer",0);
-        SWIG_RegisterMapping("_wxFocusEvent","_class_wxFocusEvent",0);
-        SWIG_RegisterMapping("_wxMaximizeEvent","_class_wxMaximizeEvent",0);
-        SWIG_RegisterMapping("_class_wxSpinButton","_wxSpinButton",0);
-        SWIG_RegisterMapping("_wxAcceleratorEntry","_class_wxAcceleratorEntry",0);
-        SWIG_RegisterMapping("_class_wxPanel","_class_wxGLCanvas",SwigwxGLCanvasTowxPanel);
-        SWIG_RegisterMapping("_class_wxPanel","_wxGLCanvas",SwigwxGLCanvasTowxPanel);
-        SWIG_RegisterMapping("_class_wxPanel","_wxPanel",0);
-        SWIG_RegisterMapping("_class_wxCheckBox","_wxCheckBox",0);
-        SWIG_RegisterMapping("_wxComboBox","_class_wxComboBox",0);
-        SWIG_RegisterMapping("_wxRadioButton","_class_wxRadioButton",0);
-        SWIG_RegisterMapping("_class_wxMessageDialog","_wxMessageDialog",0);
-        SWIG_RegisterMapping("_signed_int","_GLsizei",0);
-        SWIG_RegisterMapping("_signed_int","_GLint",0);
-        SWIG_RegisterMapping("_signed_int","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_signed_int","_EBool",0);
-        SWIG_RegisterMapping("_signed_int","_wxWindowID",0);
-        SWIG_RegisterMapping("_signed_int","_int",0);
-        SWIG_RegisterMapping("_class_wxTextCtrl","_wxTextCtrl",0);
-        SWIG_RegisterMapping("_GLboolean","_GLubyte",0);
-        SWIG_RegisterMapping("_GLboolean","_unsigned_char",0);
-        SWIG_RegisterMapping("_GLboolean","_byte",0);
-        SWIG_RegisterMapping("_wxLayoutConstraints","_class_wxLayoutConstraints",0);
-        SWIG_RegisterMapping("_wxMenu","_class_wxMenu",0);
-        SWIG_RegisterMapping("_class_wxMoveEvent","_wxMoveEvent",0);
-        SWIG_RegisterMapping("_wxListBox","_class_wxListBox",0);
-        SWIG_RegisterMapping("_wxScreenDC","_class_wxScreenDC",0);
-        SWIG_RegisterMapping("_class_wxMDIChildFrame","_wxMDIChildFrame",0);
-        SWIG_RegisterMapping("_WXTYPE","_GLushort",0);
-        SWIG_RegisterMapping("_WXTYPE","_GLshort",0);
-        SWIG_RegisterMapping("_WXTYPE","_short",0);
-        SWIG_RegisterMapping("_WXTYPE","_signed_short",0);
-        SWIG_RegisterMapping("_WXTYPE","_unsigned_short",0);
-        SWIG_RegisterMapping("_wxFileDialog","_class_wxFileDialog",0);
-        SWIG_RegisterMapping("_GLshort","_GLushort",0);
-        SWIG_RegisterMapping("_GLshort","_short",0);
-        SWIG_RegisterMapping("_GLshort","_signed_short",0);
-        SWIG_RegisterMapping("_GLshort","_unsigned_short",0);
-        SWIG_RegisterMapping("_GLshort","_WXTYPE",0);
-        SWIG_RegisterMapping("_class_wxMDIClientWindow","_wxMDIClientWindow",0);
-        SWIG_RegisterMapping("_class_wxBrush","_wxBrush",0);
-        SWIG_RegisterMapping("_unsigned_short","_GLushort",0);
-        SWIG_RegisterMapping("_unsigned_short","_GLshort",0);
-        SWIG_RegisterMapping("_unsigned_short","_WXTYPE",0);
-        SWIG_RegisterMapping("_unsigned_short","_short",0);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxGLCanvas",SwigwxGLCanvasTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxGLCanvas",SwigwxGLCanvasTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxWindow",0);
-        SWIG_RegisterMapping("_wxSplitterWindow","_class_wxSplitterWindow",0);
-        SWIG_RegisterMapping("_class_wxStaticText","_wxStaticText",0);
-        SWIG_RegisterMapping("_wxPrintDialogData","_class_wxPrintDialogData",0);
-        SWIG_RegisterMapping("_GLushort","_unsigned_short",0);
-        SWIG_RegisterMapping("_GLushort","_short",0);
-        SWIG_RegisterMapping("_GLushort","_WXTYPE",0);
-        SWIG_RegisterMapping("_GLushort","_GLshort",0);
-        SWIG_RegisterMapping("_class_wxFont","_wxFont",0);
-        SWIG_RegisterMapping("_class_wxCloseEvent","_wxCloseEvent",0);
-        SWIG_RegisterMapping("_wxSashEvent","_class_wxSashEvent",0);
-        SWIG_RegisterMapping("_class_wxMenuEvent","_wxMenuEvent",0);
-        SWIG_RegisterMapping("_wxClientDC","_class_wxClientDC",0);
-        SWIG_RegisterMapping("_wxMouseEvent","_class_wxMouseEvent",0);
-        SWIG_RegisterMapping("_wxListCtrl","_class_wxListCtrl",0);
-        SWIG_RegisterMapping("_wxSingleChoiceDialog","_class_wxSingleChoiceDialog",0);
-        SWIG_RegisterMapping("_wxGLCanvas","_class_wxGLCanvas",0);
-        SWIG_RegisterMapping("_class_wxPoint","_wxPoint",0);
-        SWIG_RegisterMapping("_wxRealPoint","_class_wxRealPoint",0);
-        SWIG_RegisterMapping("_class_wxRadioBox","_wxRadioBox",0);
-        SWIG_RegisterMapping("_wxGridCell","_class_wxGridCell",0);
-        SWIG_RegisterMapping("_signed_short","_GLshort",0);
-        SWIG_RegisterMapping("_signed_short","_WXTYPE",0);
-        SWIG_RegisterMapping("_signed_short","_short",0);
-        SWIG_RegisterMapping("_wxMemoryDC","_class_wxMemoryDC",0);
-        SWIG_RegisterMapping("_class_wxPrintDialog","_wxPrintDialog",0);
-        SWIG_RegisterMapping("_wxPaintDC","_class_wxPaintDC",0);
-        SWIG_RegisterMapping("_class_wxWindowDC","_wxWindowDC",0);
-        SWIG_RegisterMapping("_class_wxFocusEvent","_wxFocusEvent",0);
-        SWIG_RegisterMapping("_class_wxMaximizeEvent","_wxMaximizeEvent",0);
-        SWIG_RegisterMapping("_wxStatusBar","_class_wxStatusBar",0);
-        SWIG_RegisterMapping("_class_wxToolBarTool","_wxToolBarTool",0);
-        SWIG_RegisterMapping("_class_wxAcceleratorEntry","_wxAcceleratorEntry",0);
-        SWIG_RegisterMapping("_class_wxCursor","_wxCursor",0);
-        SWIG_RegisterMapping("_wxPostScriptDC","_class_wxPostScriptDC",0);
-        SWIG_RegisterMapping("_class_wxImageHandler","_wxImageHandler",0);
-        SWIG_RegisterMapping("_wxScrolledWindow","_class_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow);
-        SWIG_RegisterMapping("_wxScrolledWindow","_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow);
-        SWIG_RegisterMapping("_wxScrolledWindow","_class_wxScrolledWindow",0);
-        SWIG_RegisterMapping("_wxTreeItemId","_class_wxTreeItemId",0);
-        SWIG_RegisterMapping("_unsigned_char","_GLubyte",0);
-        SWIG_RegisterMapping("_unsigned_char","_GLboolean",0);
-        SWIG_RegisterMapping("_unsigned_char","_byte",0);
-        SWIG_RegisterMapping("_class_wxMenu","_wxMenu",0);
-        SWIG_RegisterMapping("_wxControl","_class_wxControl",0);
-        SWIG_RegisterMapping("_class_wxListBox","_wxListBox",0);
-        SWIG_RegisterMapping("_unsigned_int","_GLuint",0);
-        SWIG_RegisterMapping("_unsigned_int","_GLsizei",0);
-        SWIG_RegisterMapping("_unsigned_int","_GLint",0);
-        SWIG_RegisterMapping("_unsigned_int","_GLbitfield",0);
-        SWIG_RegisterMapping("_unsigned_int","_GLenum",0);
-        SWIG_RegisterMapping("_unsigned_int","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_unsigned_int","_size_t",0);
-        SWIG_RegisterMapping("_unsigned_int","_uint",0);
-        SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
-        SWIG_RegisterMapping("_unsigned_int","_int",0);
-        SWIG_RegisterMapping("_wxIcon","_class_wxIcon",0);
-        SWIG_RegisterMapping("_wxDialog","_class_wxDialog",0);
-        SWIG_RegisterMapping("_class_wxListItem","_wxListItem",0);
-        SWIG_RegisterMapping("_GLdouble","_GLclampd",0);
-        SWIG_RegisterMapping("_GLdouble","_double",0);
-        SWIG_RegisterMapping("_class_wxPen","_wxPen",0);
-        SWIG_RegisterMapping("_class_wxFileDialog","_wxFileDialog",0);
-        SWIG_RegisterMapping("_wxQueryLayoutInfoEvent","_class_wxQueryLayoutInfoEvent",0);
-        SWIG_RegisterMapping("_short","_GLushort",0);
-        SWIG_RegisterMapping("_short","_GLshort",0);
-        SWIG_RegisterMapping("_short","_WXTYPE",0);
-        SWIG_RegisterMapping("_short","_unsigned_short",0);
-        SWIG_RegisterMapping("_short","_signed_short",0);
-        SWIG_RegisterMapping("_class_wxStaticBox","_wxStaticBox",0);
-        SWIG_RegisterMapping("_wxLayoutAlgorithm","_class_wxLayoutAlgorithm",0);
-        SWIG_RegisterMapping("_class_wxScrollEvent","_wxScrollEvent",0);
-        SWIG_RegisterMapping("_wxJoystickEvent","_class_wxJoystickEvent",0);
-        SWIG_RegisterMapping("_class_wxChoice","_wxChoice",0);
-        SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0);
-        SWIG_RegisterMapping("_class_wxCalculateLayoutEvent","_wxCalculateLayoutEvent",0);
-        SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0);
-        SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0);
-        SWIG_RegisterMapping("_wxFrame","_class_wxFrame",0);
-        SWIG_RegisterMapping("_class_wxGLContext","_wxGLContext",0);
-        SWIG_RegisterMapping("_class_wxNotebook","_wxNotebook",0);
-        SWIG_RegisterMapping("_wxJPEGHandler","_class_wxJPEGHandler",0);
-        SWIG_RegisterMapping("_wxWindowID","_GLuint",0);
-        SWIG_RegisterMapping("_wxWindowID","_GLsizei",0);
-        SWIG_RegisterMapping("_wxWindowID","_GLint",0);
-        SWIG_RegisterMapping("_wxWindowID","_GLbitfield",0);
-        SWIG_RegisterMapping("_wxWindowID","_GLenum",0);
-        SWIG_RegisterMapping("_wxWindowID","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_wxWindowID","_size_t",0);
-        SWIG_RegisterMapping("_wxWindowID","_EBool",0);
-        SWIG_RegisterMapping("_wxWindowID","_uint",0);
-        SWIG_RegisterMapping("_wxWindowID","_int",0);
-        SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
-        SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
-        SWIG_RegisterMapping("_int","_GLuint",0);
-        SWIG_RegisterMapping("_int","_GLsizei",0);
-        SWIG_RegisterMapping("_int","_GLint",0);
-        SWIG_RegisterMapping("_int","_GLbitfield",0);
-        SWIG_RegisterMapping("_int","_GLenum",0);
-        SWIG_RegisterMapping("_int","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_int","_size_t",0);
-        SWIG_RegisterMapping("_int","_EBool",0);
-        SWIG_RegisterMapping("_int","_uint",0);
-        SWIG_RegisterMapping("_int","_wxWindowID",0);
-        SWIG_RegisterMapping("_int","_unsigned_int",0);
-        SWIG_RegisterMapping("_int","_signed_int",0);
-        SWIG_RegisterMapping("_class_wxMouseEvent","_wxMouseEvent",0);
-        SWIG_RegisterMapping("_class_wxListEvent","_wxListEvent",0);
-        SWIG_RegisterMapping("_class_wxPrintPreview","_wxPrintPreview",0);
-        SWIG_RegisterMapping("_class_wxSpinEvent","_wxSpinEvent",0);
-        SWIG_RegisterMapping("_wxButton","_class_wxButton",0);
-        SWIG_RegisterMapping("_class_wxPyApp","_wxPyApp",0);
-        SWIG_RegisterMapping("_wxSize","_class_wxSize",0);
-        SWIG_RegisterMapping("_wxRegionIterator","_class_wxRegionIterator",0);
-        SWIG_RegisterMapping("_class_wxMDIParentFrame","_wxMDIParentFrame",0);
-        SWIG_RegisterMapping("_wxPyTreeItemData","_class_wxPyTreeItemData",0);
-        SWIG_RegisterMapping("_class_wxPaintDC","_wxPaintDC",0);
-        SWIG_RegisterMapping("_class_wxSysColourChangedEvent","_wxSysColourChangedEvent",0);
-        SWIG_RegisterMapping("_class_wxInitDialogEvent","_wxInitDialogEvent",0);
-        SWIG_RegisterMapping("_class_wxComboBox","_wxComboBox",0);
-        SWIG_RegisterMapping("_class_wxRadioButton","_wxRadioButton",0);
-        SWIG_RegisterMapping("_class_wxTreeItemId","_wxTreeItemId",0);
-        SWIG_RegisterMapping("_wxTreeCtrl","_class_wxTreeCtrl",0);
-        SWIG_RegisterMapping("_class_wxLayoutConstraints","_wxLayoutConstraints",0);
-        SWIG_RegisterMapping("_wxIconizeEvent","_class_wxIconizeEvent",0);
-        SWIG_RegisterMapping("_class_wxControl","_wxControl",0);
-        SWIG_RegisterMapping("_wxStaticBitmap","_class_wxStaticBitmap",0);
-        SWIG_RegisterMapping("_class_wxIcon","_wxIcon",0);
-        SWIG_RegisterMapping("_class_wxColour","_wxColour",0);
-        SWIG_RegisterMapping("_class_wxScreenDC","_wxScreenDC",0);
-        SWIG_RegisterMapping("_class_wxPageSetupDialog","_wxPageSetupDialog",0);
-        SWIG_RegisterMapping("_wxPalette","_class_wxPalette",0);
-        SWIG_RegisterMapping("_class_wxIdleEvent","_wxIdleEvent",0);
-        SWIG_RegisterMapping("_wxEraseEvent","_class_wxEraseEvent",0);
-        SWIG_RegisterMapping("_class_wxJoystickEvent","_wxJoystickEvent",0);
-        SWIG_RegisterMapping("_class_wxMiniFrame","_wxMiniFrame",0);
-        SWIG_RegisterMapping("_wxFontDialog","_class_wxFontDialog",0);
-        SWIG_RegisterMapping("_wxRegion","_class_wxRegion",0);
-        SWIG_RegisterMapping("_class_wxSplitterWindow","_wxSplitterWindow",0);
-        SWIG_RegisterMapping("_wxPreviewFrame","_class_wxPreviewFrame",0);
-        SWIG_RegisterMapping("_class_wxShowEvent","_wxShowEvent",0);
-        SWIG_RegisterMapping("_GLint","_GLuint",0);
-        SWIG_RegisterMapping("_GLint","_GLsizei",0);
-        SWIG_RegisterMapping("_GLint","_int",0);
-        SWIG_RegisterMapping("_GLint","_signed_int",0);
-        SWIG_RegisterMapping("_GLint","_unsigned_int",0);
-        SWIG_RegisterMapping("_GLint","_wxWindowID",0);
-        SWIG_RegisterMapping("_GLint","_uint",0);
-        SWIG_RegisterMapping("_GLint","_EBool",0);
-        SWIG_RegisterMapping("_GLint","_size_t",0);
-        SWIG_RegisterMapping("_GLint","_wxPrintQuality",0);
-        SWIG_RegisterMapping("_GLint","_GLenum",0);
-        SWIG_RegisterMapping("_GLint","_GLbitfield",0);
-        SWIG_RegisterMapping("_wxActivateEvent","_class_wxActivateEvent",0);
-        SWIG_RegisterMapping("_wxGauge","_class_wxGauge",0);
-        SWIG_RegisterMapping("_class_wxCheckListBox","_wxCheckListBox",0);
-        SWIG_RegisterMapping("_class_wxGridEvent","_wxGridEvent",0);
-        SWIG_RegisterMapping("_class_wxCommandEvent","_wxCommandEvent",0);
-        SWIG_RegisterMapping("_GLubyte","_unsigned_char",0);
-        SWIG_RegisterMapping("_GLubyte","_byte",0);
-        SWIG_RegisterMapping("_GLubyte","_GLboolean",0);
-        SWIG_RegisterMapping("_class_wxClientDC","_wxClientDC",0);
-        SWIG_RegisterMapping("_class_wxSizeEvent","_wxSizeEvent",0);
-        SWIG_RegisterMapping("_class_wxListCtrl","_wxListCtrl",0);
-        SWIG_RegisterMapping("_class_wxGLCanvas","_wxGLCanvas",0);
-        SWIG_RegisterMapping("_class_wxGridCell","_wxGridCell",0);
-        SWIG_RegisterMapping("_class_wxSize","_wxSize",0);
-        SWIG_RegisterMapping("_class_wxBitmap","_wxBitmap",0);
-        SWIG_RegisterMapping("_class_wxMemoryDC","_wxMemoryDC",0);
-        SWIG_RegisterMapping("_wxMenuBar","_class_wxMenuBar",0);
-        SWIG_RegisterMapping("_wxTreeEvent","_class_wxTreeEvent",0);
-        SWIG_RegisterMapping("_wxDirDialog","_class_wxDirDialog",0);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxGLCanvas",SwigwxGLCanvasTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxGLCanvas",SwigwxGLCanvasTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxEvtHandler",0);
-        SWIG_RegisterMapping("_wxMenuItem","_class_wxMenuItem",0);
-        SWIG_RegisterMapping("_class_wxScrollBar","_wxScrollBar",0);
-        SWIG_RegisterMapping("_class_wxColourDialog","_wxColourDialog",0);
-        SWIG_RegisterMapping("_class_wxPrintData","_wxPrintData",0);
-        SWIG_RegisterMapping("_wxDash","_unsigned_long",0);
-        SWIG_RegisterMapping("_wxDash","_long",0);
-        SWIG_RegisterMapping("_class_wxScrolledWindow","_class_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow);
-        SWIG_RegisterMapping("_class_wxScrolledWindow","_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow);
-        SWIG_RegisterMapping("_class_wxScrolledWindow","_wxScrolledWindow",0);
-        SWIG_RegisterMapping("_class_wxTextEntryDialog","_wxTextEntryDialog",0);
-        SWIG_RegisterMapping("_wxKeyEvent","_class_wxKeyEvent",0);
-        SWIG_RegisterMapping("_wxMoveEvent","_class_wxMoveEvent",0);
-        SWIG_RegisterMapping("_wxColourData","_class_wxColourData",0);
-        SWIG_RegisterMapping("_wxPageSetupDialogData","_class_wxPageSetupDialogData",0);
-        SWIG_RegisterMapping("_class_wxPalette","_wxPalette",0);
-        SWIG_RegisterMapping("_class_wxQueryLayoutInfoEvent","_wxQueryLayoutInfoEvent",0);
-        SWIG_RegisterMapping("_class_wxEraseEvent","_wxEraseEvent",0);
-        SWIG_RegisterMapping("_wxMDIClientWindow","_class_wxMDIClientWindow",0);
-        SWIG_RegisterMapping("_class_wxFontDialog","_wxFontDialog",0);
-        SWIG_RegisterMapping("_wxWindow","_class_wxGLCanvas",SwigwxGLCanvasTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxGLCanvas",SwigwxGLCanvasTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxWindow",0);
-        SWIG_RegisterMapping("_class_wxFrame","_wxFrame",0);
+{
+   int i;
+   for (i = 0; _swig_mapping[i].n1; i++)
+        SWIG_RegisterMapping(_swig_mapping[i].n1,_swig_mapping[i].n2,_swig_mapping[i].pcnv);
+}
 }