]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/modules/ogl/oglshapes2.cpp
wxPython module for OGL added.
[wxWidgets.git] / utils / wxPython / modules / ogl / oglshapes2.cpp
diff --git a/utils/wxPython/modules/ogl/oglshapes2.cpp b/utils/wxPython/modules/ogl/oglshapes2.cpp
new file mode 100644 (file)
index 0000000..21f8783
--- /dev/null
@@ -0,0 +1,8282 @@
+/*
+ * FILE : ./oglshapes2.cpp
+ * 
+ * This file was automatically generated by :
+ * Simplified Wrapper and Interface Generator (SWIG)
+ * Version 1.1 (Build 810)
+ * 
+ * Portions Copyright (c) 1995-1998
+ * The University of Utah and The Regents of the University of California.
+ * Permission is granted to distribute this file in any manner provided
+ * this notice remains intact.
+ * 
+ * Do not make changes to this file--changes will be lost!
+ *
+ */
+
+
+#define SWIGCODE
+/* Implementation : PYTHON */
+
+#define SWIGPYTHON
+#include <string.h>
+#include <stdlib.h>
+/* Definitions for Windows/Unix exporting */
+#if defined(__WIN32__)
+#   if defined(_MSC_VER)
+#      define SWIGEXPORT(a) __declspec(dllexport) a
+#   else
+#      if defined(__BORLANDC__)
+#          define SWIGEXPORT(a) a _export 
+#      else
+#          define SWIGEXPORT(a) a 
+#      endif
+#   endif
+#else
+#   define SWIGEXPORT(a) a 
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include "Python.h"
+extern void SWIG_MakePtr(char *, void *, char *);
+extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *));
+extern char *SWIG_GetPtr(char *, void **, char *);
+extern char *SWIG_GetPtrObj(PyObject *, void **, char *);
+extern void SWIG_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
+extern PyObject *SWIG_newvarlink(void);
+#ifdef __cplusplus
+}
+#endif
+#define SWIG_init    initoglshapes2c
+
+#define SWIG_name    "oglshapes2c"
+
+#include "helpers.h"
+#include "oglhelpers.h"
+
+static PyObject* l_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyList_Check(target)) {
+            o2 = target;
+            target = PyList_New(0);
+            PyList_Append(target, o2);
+           Py_XDECREF(o2);
+        }
+        PyList_Append(target,o);
+       Py_XDECREF(o);
+    }
+    return target;
+}
+
+static PyObject* t_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyTuple_Check(target)) {
+            o2 = target;
+            target = PyTuple_New(1);
+            PyTuple_SetItem(target, 0, o2);
+        }
+        o3 = PyTuple_New(1);            
+        PyTuple_SetItem(o3, 0, o);      
+
+        o2 = target;
+        target = PySequence_Concat(o2, o3); 
+        Py_DECREF(o2);                      
+        Py_DECREF(o3);
+    }
+    return target;
+}
+
+
+HELPEREXPORT byte* byte_LIST_helper(PyObject* source);
+HELPEREXPORT int* int_LIST_helper(PyObject* source);
+HELPEREXPORT long* long_LIST_helper(PyObject* source);
+HELPEREXPORT char** string_LIST_helper(PyObject* source);
+HELPEREXPORT wxPoint* wxPoint_LIST_helper(PyObject* source);
+HELPEREXPORT wxBitmap** wxBitmap_LIST_helper(PyObject* source);
+HELPEREXPORT wxString* wxString_LIST_helper(PyObject* source);
+HELPEREXPORT wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
+
+
+static char* wxStringErrorMsg = "string type is required for parameter";
+
+    WXSHAPE_IMP_CALLBACKS(wxPyEllipseShape, wxEllipseShape);
+
+    WXSHAPE_IMP_CALLBACKS(wxPyCircleShape, wxCircleShape);
+
+    WXSHAPE_IMP_CALLBACKS(wxPyLineShape, wxLineShape);
+
+    WXSHAPE_IMP_CALLBACKS(wxPyPolygonShape, wxPolygonShape);
+
+    WXSHAPE_IMP_CALLBACKS(wxPyTextShape, wxTextShape);
+#ifdef __cplusplus
+extern "C" {
+#endif
+static void *SwigwxPyEllipseShapeTowxPyShape(void *ptr) {
+    wxPyEllipseShape *src;
+    wxPyShape *dest;
+    src = (wxPyEllipseShape *) ptr;
+    dest = (wxPyShape *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyEllipseShapeTowxPyShapeEvtHandler(void *ptr) {
+    wxPyEllipseShape *src;
+    wxPyShapeEvtHandler *dest;
+    src = (wxPyEllipseShape *) ptr;
+    dest = (wxPyShapeEvtHandler *) src;
+    return (void *) dest;
+}
+
+#define new_wxPyEllipseShape(_swigarg0,_swigarg1) (new wxPyEllipseShape(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxPyEllipseShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _result;
+    double  _arg0 = (double ) 0.0;
+    double  _arg1 = (double ) 0.0;
+    char *_kwnames[] = { "width","height", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|dd:new_wxPyEllipseShape",_kwnames,&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPyEllipseShape *)new_wxPyEllipseShape(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyEllipseShape_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyEllipseShape__setSelf(_swigobj,_swigarg0)  (_swigobj->_setSelf(_swigarg0))
+static PyObject *_wrap_wxPyEllipseShape__setSelf(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    PyObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyEllipseShape__setSelf",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape__setSelf. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape__setSelf(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnDraw(_swigobj,_swigarg0)  (_swigobj->base_OnDraw(_swigarg0))
+static PyObject *_wrap_wxPyEllipseShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyEllipseShape_base_OnDraw",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnDraw. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnDraw. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnDraw(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnDrawContents(_swigobj,_swigarg0)  (_swigobj->base_OnDrawContents(_swigarg0))
+static PyObject *_wrap_wxPyEllipseShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyEllipseShape_base_OnDrawContents",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnDrawContents. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnDrawContents. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnDrawContents(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnDrawBranches(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnDrawBranches(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyEllipseShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    bool  _arg2 = (bool ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) FALSE;
+    char *_kwnames[] = { "self","dc","erase", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxPyEllipseShape_base_OnDrawBranches",_kwnames,&_argo0,&_argo1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnDrawBranches. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnDrawBranches. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnDrawBranches(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnMoveLinks(_swigobj,_swigarg0)  (_swigobj->base_OnMoveLinks(_swigarg0))
+static PyObject *_wrap_wxPyEllipseShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyEllipseShape_base_OnMoveLinks",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnMoveLinks. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnMoveLinks. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnMoveLinks(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnErase(_swigobj,_swigarg0)  (_swigobj->base_OnErase(_swigarg0))
+static PyObject *_wrap_wxPyEllipseShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyEllipseShape_base_OnErase",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnErase. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnErase. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnErase(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnEraseContents(_swigobj,_swigarg0)  (_swigobj->base_OnEraseContents(_swigarg0))
+static PyObject *_wrap_wxPyEllipseShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyEllipseShape_base_OnEraseContents",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnEraseContents. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnEraseContents. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnEraseContents(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnHighlight(_swigobj,_swigarg0)  (_swigobj->base_OnHighlight(_swigarg0))
+static PyObject *_wrap_wxPyEllipseShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyEllipseShape_base_OnHighlight",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnHighlight. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnHighlight. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnHighlight(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnLeftClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnLeftClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyEllipseShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyEllipseShape_base_OnLeftClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnLeftClick. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnLeftClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnLeftDoubleClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnLeftDoubleClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyEllipseShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyEllipseShape_base_OnLeftDoubleClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnLeftDoubleClick. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnLeftDoubleClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnRightClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnRightClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyEllipseShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyEllipseShape_base_OnRightClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnRightClick. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnRightClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyEllipseShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyEllipseShape_base_OnSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnSize. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnMovePre(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnMovePre(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyEllipseShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    bool  _arg6 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool6 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","x","y","old_x","old_y","display", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd|i:wxPyEllipseShape_base_OnMovePre",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5,&tempbool6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnMovePre. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnMovePre. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg6 = (bool ) tempbool6;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyEllipseShape_base_OnMovePre(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnMovePost(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnMovePost(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyEllipseShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    bool  _arg6 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool6 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","x","y","old_x","old_y","display", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd|i:wxPyEllipseShape_base_OnMovePost",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5,&tempbool6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnMovePost. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnMovePost. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg6 = (bool ) tempbool6;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnMovePost(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyEllipseShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    bool  _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oidd|ii:wxPyEllipseShape_base_OnDragLeft",_kwnames,&_argo0,&tempbool1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnDragLeft. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnBeginDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnBeginDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyEllipseShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyEllipseShape_base_OnBeginDragLeft",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnBeginDragLeft. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnBeginDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnEndDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnEndDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyEllipseShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyEllipseShape_base_OnEndDragLeft",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnEndDragLeft. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnEndDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyEllipseShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    bool  _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oidd|ii:wxPyEllipseShape_base_OnDragRight",_kwnames,&_argo0,&tempbool1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnDragRight. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnDragRight(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnBeginDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnBeginDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyEllipseShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyEllipseShape_base_OnBeginDragRight",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnBeginDragRight. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnBeginDragRight(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnEndDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnEndDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyEllipseShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyEllipseShape_base_OnEndDragRight",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnEndDragRight. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnEndDragRight(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnDrawOutline(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDrawOutline(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyEllipseShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc","x","y","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd:wxPyEllipseShape_base_OnDrawOutline",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnDrawOutline. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnDrawOutline. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnDrawOutline(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnDrawControlPoints(_swigobj,_swigarg0)  (_swigobj->base_OnDrawControlPoints(_swigarg0))
+static PyObject *_wrap_wxPyEllipseShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyEllipseShape_base_OnDrawControlPoints",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnDrawControlPoints. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnDrawControlPoints. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnDrawControlPoints(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnEraseControlPoints(_swigobj,_swigarg0)  (_swigobj->base_OnEraseControlPoints(_swigarg0))
+static PyObject *_wrap_wxPyEllipseShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyEllipseShape_base_OnEraseControlPoints",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnEraseControlPoints. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnEraseControlPoints. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnEraseControlPoints(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnMoveLink(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnMoveLink(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyEllipseShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxDC * _arg1;
+    bool  _arg2 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","moveControlPoints", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxPyEllipseShape_base_OnMoveLink",_kwnames,&_argo0,&_argo1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnMoveLink. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnMoveLink. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnMoveLink(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnSizingDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnSizingDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyEllipseShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxControlPoint * _arg1;
+    bool  _arg2;
+    double  _arg3;
+    double  _arg4;
+    int  _arg5 = (int ) 0;
+    int  _arg6 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2;
+    char *_kwnames[] = { "self","pt","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOidd|ii:wxPyEllipseShape_base_OnSizingDragLeft",_kwnames,&_argo0,&_argo1,&tempbool2,&_arg3,&_arg4,&_arg5,&_arg6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnSizingDragLeft. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnSizingDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnSizingDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnSizingBeginDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnSizingBeginDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyEllipseShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxControlPoint * _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","pt","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdd|ii:wxPyEllipseShape_base_OnSizingBeginDragLeft",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnSizingBeginDragLeft. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnSizingBeginDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnSizingBeginDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnSizingEndDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnSizingEndDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyEllipseShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    wxControlPoint * _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","pt","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdd|ii:wxPyEllipseShape_base_OnSizingEndDragLeft",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnSizingEndDragLeft. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyEllipseShape_base_OnSizingEndDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnSizingEndDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnBeginSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnBeginSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyEllipseShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyEllipseShape_base_OnBeginSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnBeginSize. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnBeginSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyEllipseShape_base_OnEndSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnEndSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyEllipseShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyEllipseShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyEllipseShape_base_OnEndSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyEllipseShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyEllipseShape_base_OnEndSize. Expected _wxPyEllipseShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyEllipseShape_base_OnEndSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxPyCircleShapeTowxPyEllipseShape(void *ptr) {
+    wxPyCircleShape *src;
+    wxPyEllipseShape *dest;
+    src = (wxPyCircleShape *) ptr;
+    dest = (wxPyEllipseShape *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyCircleShapeTowxPyShape(void *ptr) {
+    wxPyCircleShape *src;
+    wxPyShape *dest;
+    src = (wxPyCircleShape *) ptr;
+    dest = (wxPyShape *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyCircleShapeTowxPyShapeEvtHandler(void *ptr) {
+    wxPyCircleShape *src;
+    wxPyShapeEvtHandler *dest;
+    src = (wxPyCircleShape *) ptr;
+    dest = (wxPyShapeEvtHandler *) src;
+    return (void *) dest;
+}
+
+#define new_wxPyCircleShape(_swigarg0) (new wxPyCircleShape(_swigarg0))
+static PyObject *_wrap_new_wxPyCircleShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _result;
+    double  _arg0 = (double ) 0.0;
+    char *_kwnames[] = { "width", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|d:new_wxPyCircleShape",_kwnames,&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPyCircleShape *)new_wxPyCircleShape(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyCircleShape_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyCircleShape__setSelf(_swigobj,_swigarg0)  (_swigobj->_setSelf(_swigarg0))
+static PyObject *_wrap_wxPyCircleShape__setSelf(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    PyObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyCircleShape__setSelf",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape__setSelf. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape__setSelf(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnDraw(_swigobj,_swigarg0)  (_swigobj->base_OnDraw(_swigarg0))
+static PyObject *_wrap_wxPyCircleShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyCircleShape_base_OnDraw",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnDraw. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnDraw. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnDraw(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnDrawContents(_swigobj,_swigarg0)  (_swigobj->base_OnDrawContents(_swigarg0))
+static PyObject *_wrap_wxPyCircleShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyCircleShape_base_OnDrawContents",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnDrawContents. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnDrawContents. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnDrawContents(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnDrawBranches(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnDrawBranches(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyCircleShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    bool  _arg2 = (bool ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) FALSE;
+    char *_kwnames[] = { "self","dc","erase", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxPyCircleShape_base_OnDrawBranches",_kwnames,&_argo0,&_argo1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnDrawBranches. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnDrawBranches. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnDrawBranches(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnMoveLinks(_swigobj,_swigarg0)  (_swigobj->base_OnMoveLinks(_swigarg0))
+static PyObject *_wrap_wxPyCircleShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyCircleShape_base_OnMoveLinks",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnMoveLinks. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnMoveLinks. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnMoveLinks(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnErase(_swigobj,_swigarg0)  (_swigobj->base_OnErase(_swigarg0))
+static PyObject *_wrap_wxPyCircleShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyCircleShape_base_OnErase",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnErase. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnErase. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnErase(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnEraseContents(_swigobj,_swigarg0)  (_swigobj->base_OnEraseContents(_swigarg0))
+static PyObject *_wrap_wxPyCircleShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyCircleShape_base_OnEraseContents",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnEraseContents. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnEraseContents. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnEraseContents(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnHighlight(_swigobj,_swigarg0)  (_swigobj->base_OnHighlight(_swigarg0))
+static PyObject *_wrap_wxPyCircleShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyCircleShape_base_OnHighlight",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnHighlight. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnHighlight. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnHighlight(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnLeftClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnLeftClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyCircleShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyCircleShape_base_OnLeftClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnLeftClick. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnLeftClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnLeftDoubleClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnLeftDoubleClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyCircleShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyCircleShape_base_OnLeftDoubleClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnLeftDoubleClick. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnLeftDoubleClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnRightClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnRightClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyCircleShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyCircleShape_base_OnRightClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnRightClick. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnRightClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyCircleShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyCircleShape_base_OnSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnSize. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnMovePre(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnMovePre(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyCircleShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    bool  _arg6 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool6 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","x","y","old_x","old_y","display", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd|i:wxPyCircleShape_base_OnMovePre",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5,&tempbool6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnMovePre. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnMovePre. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg6 = (bool ) tempbool6;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyCircleShape_base_OnMovePre(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnMovePost(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnMovePost(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyCircleShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    bool  _arg6 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool6 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","x","y","old_x","old_y","display", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd|i:wxPyCircleShape_base_OnMovePost",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5,&tempbool6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnMovePost. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnMovePost. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg6 = (bool ) tempbool6;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnMovePost(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyCircleShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    bool  _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oidd|ii:wxPyCircleShape_base_OnDragLeft",_kwnames,&_argo0,&tempbool1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnDragLeft. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnBeginDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnBeginDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyCircleShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyCircleShape_base_OnBeginDragLeft",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnBeginDragLeft. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnBeginDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnEndDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnEndDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyCircleShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyCircleShape_base_OnEndDragLeft",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnEndDragLeft. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnEndDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyCircleShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    bool  _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oidd|ii:wxPyCircleShape_base_OnDragRight",_kwnames,&_argo0,&tempbool1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnDragRight. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnDragRight(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnBeginDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnBeginDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyCircleShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyCircleShape_base_OnBeginDragRight",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnBeginDragRight. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnBeginDragRight(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnEndDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnEndDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyCircleShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyCircleShape_base_OnEndDragRight",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnEndDragRight. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnEndDragRight(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnDrawOutline(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDrawOutline(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyCircleShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc","x","y","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd:wxPyCircleShape_base_OnDrawOutline",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnDrawOutline. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnDrawOutline. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnDrawOutline(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnDrawControlPoints(_swigobj,_swigarg0)  (_swigobj->base_OnDrawControlPoints(_swigarg0))
+static PyObject *_wrap_wxPyCircleShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyCircleShape_base_OnDrawControlPoints",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnDrawControlPoints. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnDrawControlPoints. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnDrawControlPoints(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnEraseControlPoints(_swigobj,_swigarg0)  (_swigobj->base_OnEraseControlPoints(_swigarg0))
+static PyObject *_wrap_wxPyCircleShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyCircleShape_base_OnEraseControlPoints",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnEraseControlPoints. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnEraseControlPoints. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnEraseControlPoints(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnMoveLink(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnMoveLink(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyCircleShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxDC * _arg1;
+    bool  _arg2 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","moveControlPoints", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxPyCircleShape_base_OnMoveLink",_kwnames,&_argo0,&_argo1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnMoveLink. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnMoveLink. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnMoveLink(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnSizingDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnSizingDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyCircleShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxControlPoint * _arg1;
+    bool  _arg2;
+    double  _arg3;
+    double  _arg4;
+    int  _arg5 = (int ) 0;
+    int  _arg6 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2;
+    char *_kwnames[] = { "self","pt","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOidd|ii:wxPyCircleShape_base_OnSizingDragLeft",_kwnames,&_argo0,&_argo1,&tempbool2,&_arg3,&_arg4,&_arg5,&_arg6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnSizingDragLeft. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnSizingDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnSizingDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnSizingBeginDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnSizingBeginDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyCircleShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxControlPoint * _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","pt","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdd|ii:wxPyCircleShape_base_OnSizingBeginDragLeft",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnSizingBeginDragLeft. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnSizingBeginDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnSizingBeginDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnSizingEndDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnSizingEndDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyCircleShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    wxControlPoint * _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","pt","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdd|ii:wxPyCircleShape_base_OnSizingEndDragLeft",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnSizingEndDragLeft. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyCircleShape_base_OnSizingEndDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnSizingEndDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnBeginSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnBeginSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyCircleShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyCircleShape_base_OnBeginSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnBeginSize. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnBeginSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyCircleShape_base_OnEndSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnEndSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyCircleShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyCircleShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyCircleShape_base_OnEndSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyCircleShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyCircleShape_base_OnEndSize. Expected _wxPyCircleShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyCircleShape_base_OnEndSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define new_wxArrowHead(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxArrowHead(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6))
+static PyObject *_wrap_new_wxArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxArrowHead * _result;
+    int  _arg0 = (int ) 0;
+    int  _arg1 = (int ) 0;
+    double  _arg2 = (double ) 0.0;
+    double  _arg3 = (double ) 0.0;
+    char * _arg4 = (char *) "";
+    wxPseudoMetaFile * _arg5 = (wxPseudoMetaFile *) NULL;
+    long  _arg6 = (long ) -1;
+    PyObject * _argo5 = 0;
+    char *_kwnames[] = { "type","end","size","dist","name","mf","arrowId", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iiddsOl:new_wxArrowHead",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_argo5,&_arg6)) 
+        return NULL;
+    if (_argo5) {
+        if (_argo5 == Py_None) { _arg5 = NULL; }
+        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxPseudoMetaFile_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of new_wxArrowHead. Expected _wxPseudoMetaFile_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxArrowHead *)new_wxArrowHead(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxArrowHead_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define delete_wxArrowHead(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxArrowHead",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxArrowHead. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxArrowHead(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxArrowHead__GetType(_swigobj)  (_swigobj->_GetType())
+static PyObject *_wrap_wxArrowHead__GetType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxArrowHead__GetType",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead__GetType. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxArrowHead__GetType(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxArrowHead_GetPosition(_swigobj)  (_swigobj->GetPosition())
+static PyObject *_wrap_wxArrowHead_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxArrowHead_GetPosition",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_GetPosition. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxArrowHead_GetPosition(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxArrowHead_SetPosition(_swigobj,_swigarg0)  (_swigobj->SetPosition(_swigarg0))
+static PyObject *_wrap_wxArrowHead_SetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxArrowHead * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","pos", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxArrowHead_SetPosition",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_SetPosition. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxArrowHead_SetPosition(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxArrowHead_GetXOffset(_swigobj)  (_swigobj->GetXOffset())
+static PyObject *_wrap_wxArrowHead_GetXOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    double  _result;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxArrowHead_GetXOffset",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_GetXOffset. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (double )wxArrowHead_GetXOffset(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("d",_result);
+    return _resultobj;
+}
+
+#define wxArrowHead_GetYOffset(_swigobj)  (_swigobj->GetYOffset())
+static PyObject *_wrap_wxArrowHead_GetYOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    double  _result;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxArrowHead_GetYOffset",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_GetYOffset. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (double )wxArrowHead_GetYOffset(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("d",_result);
+    return _resultobj;
+}
+
+#define wxArrowHead_GetSpacing(_swigobj)  (_swigobj->GetSpacing())
+static PyObject *_wrap_wxArrowHead_GetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    double  _result;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxArrowHead_GetSpacing",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_GetSpacing. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (double )wxArrowHead_GetSpacing(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("d",_result);
+    return _resultobj;
+}
+
+#define wxArrowHead_GetSize(_swigobj)  (_swigobj->GetSize())
+static PyObject *_wrap_wxArrowHead_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    double  _result;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxArrowHead_GetSize",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_GetSize. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (double )wxArrowHead_GetSize(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("d",_result);
+    return _resultobj;
+}
+
+#define wxArrowHead_GetName(_swigobj)  (_swigobj->GetName())
+static PyObject *_wrap_wxArrowHead_GetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxArrowHead_GetName",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_GetName. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxArrowHead_GetName(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxArrowHead_SetXOffset(_swigobj,_swigarg0)  (_swigobj->SetXOffset(_swigarg0))
+static PyObject *_wrap_wxArrowHead_SetXOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxArrowHead * _arg0;
+    double  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Od:wxArrowHead_SetXOffset",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_SetXOffset. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxArrowHead_SetXOffset(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxArrowHead_SetYOffset(_swigobj,_swigarg0)  (_swigobj->SetYOffset(_swigarg0))
+static PyObject *_wrap_wxArrowHead_SetYOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxArrowHead * _arg0;
+    double  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Od:wxArrowHead_SetYOffset",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_SetYOffset. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxArrowHead_SetYOffset(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxArrowHead_GetMetaFile(_swigobj)  (_swigobj->GetMetaFile())
+static PyObject *_wrap_wxArrowHead_GetMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPseudoMetaFile * _result;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxArrowHead_GetMetaFile",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_GetMetaFile. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPseudoMetaFile *)wxArrowHead_GetMetaFile(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPseudoMetaFile_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxArrowHead_GetId(_swigobj)  (_swigobj->GetId())
+static PyObject *_wrap_wxArrowHead_GetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxArrowHead_GetId",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_GetId. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxArrowHead_GetId(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+#define wxArrowHead_GetArrowEnd(_swigobj)  (_swigobj->GetArrowEnd())
+static PyObject *_wrap_wxArrowHead_GetArrowEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxArrowHead_GetArrowEnd",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_GetArrowEnd. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxArrowHead_GetArrowEnd(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxArrowHead_GetArrowSize(_swigobj)  (_swigobj->GetArrowSize())
+static PyObject *_wrap_wxArrowHead_GetArrowSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    double  _result;
+    wxArrowHead * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxArrowHead_GetArrowSize",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_GetArrowSize. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (double )wxArrowHead_GetArrowSize(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("d",_result);
+    return _resultobj;
+}
+
+#define wxArrowHead_SetSize(_swigobj,_swigarg0)  (_swigobj->SetSize(_swigarg0))
+static PyObject *_wrap_wxArrowHead_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxArrowHead * _arg0;
+    double  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","size", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Od:wxArrowHead_SetSize",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_SetSize. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxArrowHead_SetSize(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxArrowHead_SetSpacing(_swigobj,_swigarg0)  (_swigobj->SetSpacing(_swigarg0))
+static PyObject *_wrap_wxArrowHead_SetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxArrowHead * _arg0;
+    double  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","sp", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Od:wxArrowHead_SetSpacing",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxArrowHead_SetSpacing. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxArrowHead_SetSpacing(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxPyLineShapeTowxPyShape(void *ptr) {
+    wxPyLineShape *src;
+    wxPyShape *dest;
+    src = (wxPyLineShape *) ptr;
+    dest = (wxPyShape *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyLineShapeTowxPyShapeEvtHandler(void *ptr) {
+    wxPyLineShape *src;
+    wxPyShapeEvtHandler *dest;
+    src = (wxPyLineShape *) ptr;
+    dest = (wxPyShapeEvtHandler *) src;
+    return (void *) dest;
+}
+
+#define new_wxPyLineShape() (new wxPyLineShape())
+static PyObject *_wrap_new_wxPyLineShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxPyLineShape",_kwnames)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPyLineShape *)new_wxPyLineShape();
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyLineShape_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyLineShape__setSelf(_swigobj,_swigarg0)  (_swigobj->_setSelf(_swigarg0))
+static PyObject *_wrap_wxPyLineShape__setSelf(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    PyObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape__setSelf",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape__setSelf. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape__setSelf(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_AddArrow(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6)  (_swigobj->AddArrow(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6))
+static PyObject *_wrap_wxPyLineShape_AddArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    int  _arg1;
+    int  _arg2 = (int ) ARROW_POSITION_END;
+    double  _arg3 = (double ) 10.0;
+    double  _arg4 = (double ) 0.0;
+    char * _arg5 = (char *) "";
+    wxPseudoMetaFile * _arg6 = (wxPseudoMetaFile *) NULL;
+    long  _arg7 = (long ) -1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo6 = 0;
+    char *_kwnames[] = { "self","type","end","arrowSize","xOffset","name","mf","arrowId", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|iddsOl:wxPyLineShape_AddArrow",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_argo6,&_arg7)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_AddArrow. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxPseudoMetaFile_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of wxPyLineShape_AddArrow. Expected _wxPseudoMetaFile_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_AddArrow(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void  wxPyLineShape_AddArrowOrdered(wxPyLineShape *self,wxArrowHead * arrow,PyObject * referenceList,int  end) {
+            wxList* list = wxPy_wxListHelper(referenceList, "wxArrowHead");
+            self->AddArrowOrdered(arrow, *list, end);
+            delete list;
+        }
+static PyObject *_wrap_wxPyLineShape_AddArrowOrdered(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxArrowHead * _arg1;
+    PyObject * _arg2;
+    int  _arg3;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","arrow","referenceList","end", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOi:wxPyLineShape_AddArrowOrdered",_kwnames,&_argo0,&_argo1,&_obj2,&_arg3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_AddArrowOrdered. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_AddArrowOrdered. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+{
+  _arg2 = _obj2;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_AddArrowOrdered(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_ClearArrow(_swigobj,_swigarg0)  (_swigobj->ClearArrow(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_ClearArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyLineShape * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","name", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_ClearArrow",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_ClearArrow. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyLineShape_ClearArrow(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxPyLineShape_ClearArrowsAtPosition(_swigobj,_swigarg0)  (_swigobj->ClearArrowsAtPosition(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_ClearArrowsAtPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    int  _arg1 = (int ) -1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","position", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxPyLineShape_ClearArrowsAtPosition",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_ClearArrowsAtPosition. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_ClearArrowsAtPosition(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_DrawArrow(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->DrawArrow(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_DrawArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    wxArrowHead * _arg2;
+    double  _arg3;
+    bool  _arg4;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    int tempbool4;
+    char *_kwnames[] = { "self","dc","arrow","xOffset","proportionalOffset", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOdi:wxPyLineShape_DrawArrow",_kwnames,&_argo0,&_argo1,&_argo2,&_arg3,&tempbool4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_DrawArrow. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_DrawArrow. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxArrowHead_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPyLineShape_DrawArrow. Expected _wxArrowHead_p.");
+        return NULL;
+        }
+    }
+    _arg4 = (bool ) tempbool4;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_DrawArrow(_arg0,*_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_DeleteArrowHeadId(_swigobj,_swigarg0)  (_swigobj->DeleteArrowHead(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_DeleteArrowHeadId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyLineShape * _arg0;
+    long  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","arrowId", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxPyLineShape_DeleteArrowHeadId",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_DeleteArrowHeadId. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyLineShape_DeleteArrowHeadId(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyLineShape_DeleteArrowHead(_swigobj,_swigarg0,_swigarg1)  (_swigobj->DeleteArrowHead(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyLineShape_DeleteArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyLineShape * _arg0;
+    int  _arg1;
+    wxString * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","position","name", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxPyLineShape_DeleteArrowHead",_kwnames,&_argo0,&_arg1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_DeleteArrowHead. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyLineShape_DeleteArrowHead(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxPyLineShape_DeleteLineControlPoint(_swigobj)  (_swigobj->DeleteLineControlPoint())
+static PyObject *_wrap_wxPyLineShape_DeleteLineControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyLineShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyLineShape_DeleteLineControlPoint",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_DeleteLineControlPoint. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyLineShape_DeleteLineControlPoint(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyLineShape_DrawArrows(_swigobj,_swigarg0)  (_swigobj->DrawArrows(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_DrawArrows(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_DrawArrows",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_DrawArrows. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_DrawArrows. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_DrawArrows(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_DrawRegion(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->DrawRegion(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_DrawRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    wxShapeRegion * _arg2;
+    double  _arg3;
+    double  _arg4;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "self","dc","region","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOdd:wxPyLineShape_DrawRegion",_kwnames,&_argo0,&_argo1,&_argo2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_DrawRegion. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_DrawRegion. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxShapeRegion_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPyLineShape_DrawRegion. Expected _wxShapeRegion_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_DrawRegion(_arg0,*_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_EraseRegion(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->EraseRegion(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_EraseRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    wxShapeRegion * _arg2;
+    double  _arg3;
+    double  _arg4;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "self","dc","region","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOdd:wxPyLineShape_EraseRegion",_kwnames,&_argo0,&_argo1,&_argo2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_EraseRegion. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_EraseRegion. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxShapeRegion_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPyLineShape_EraseRegion. Expected _wxShapeRegion_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_EraseRegion(_arg0,*_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_FindArrowHeadId(_swigobj,_swigarg0)  (_swigobj->FindArrowHead(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_FindArrowHeadId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxArrowHead * _result;
+    wxPyLineShape * _arg0;
+    long  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","arrowId", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxPyLineShape_FindArrowHeadId",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_FindArrowHeadId. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxArrowHead *)wxPyLineShape_FindArrowHeadId(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxArrowHead_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyLineShape_FindArrowHead(_swigobj,_swigarg0,_swigarg1)  (_swigobj->FindArrowHead(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyLineShape_FindArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxArrowHead * _result;
+    wxPyLineShape * _arg0;
+    int  _arg1;
+    wxString * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","position","name", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxPyLineShape_FindArrowHead",_kwnames,&_argo0,&_arg1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_FindArrowHead. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxArrowHead *)wxPyLineShape_FindArrowHead(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxArrowHead_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxPyLineShape_FindLineEndPoints(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->FindLineEndPoints(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_FindLineEndPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double * _arg1;
+    double  temp;
+    double * _arg2;
+    double  temp0;
+    double * _arg3;
+    double  temp1;
+    double * _arg4;
+    double  temp2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+{
+  _arg1 = &temp;
+}
+{
+  _arg2 = &temp0;
+}
+{
+  _arg3 = &temp1;
+}
+{
+  _arg4 = &temp2;
+}
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyLineShape_FindLineEndPoints",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_FindLineEndPoints. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_FindLineEndPoints(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    PyObject *o;
+    o = PyFloat_FromDouble((double) (*_arg1));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    PyObject *o;
+    o = PyFloat_FromDouble((double) (*_arg2));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    PyObject *o;
+    o = PyFloat_FromDouble((double) (*_arg3));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    PyObject *o;
+    o = PyFloat_FromDouble((double) (*_arg4));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+    return _resultobj;
+}
+
+#define wxPyLineShape_FindLinePosition(_swigobj,_swigarg0,_swigarg1)  (_swigobj->FindLinePosition(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyLineShape_FindLinePosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyLineShape_FindLinePosition",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_FindLinePosition. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxPyLineShape_FindLinePosition(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyLineShape_FindMinimumWidth(_swigobj)  (_swigobj->FindMinimumWidth())
+static PyObject *_wrap_wxPyLineShape_FindMinimumWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    double  _result;
+    wxPyLineShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyLineShape_FindMinimumWidth",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_FindMinimumWidth. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (double )wxPyLineShape_FindMinimumWidth(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("d",_result);
+    return _resultobj;
+}
+
+#define wxPyLineShape_FindNth(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->FindNth(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_FindNth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxPyShape * _arg1;
+    int * _arg2;
+    int  temp;
+    int * _arg3;
+    int  temp0;
+    bool  _arg4;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool4;
+    char *_kwnames[] = { "self","image","incoming", NULL };
+
+    self = self;
+{
+  _arg2 = &temp;
+}
+{
+  _arg3 = &temp0;
+}
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxPyLineShape_FindNth",_kwnames,&_argo0,&_argo1,&tempbool4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_FindNth. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPyShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_FindNth. Expected _wxPyShape_p.");
+        return NULL;
+        }
+    }
+    _arg4 = (bool ) tempbool4;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_FindNth(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    PyObject *o;
+    o = PyInt_FromLong((long) (*_arg2));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    PyObject *o;
+    o = PyInt_FromLong((long) (*_arg3));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+    return _resultobj;
+}
+
+#define wxPyLineShape_GetAttachmentFrom(_swigobj)  (_swigobj->GetAttachmentFrom())
+static PyObject *_wrap_wxPyLineShape_GetAttachmentFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxPyLineShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyLineShape_GetAttachmentFrom",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_GetAttachmentFrom. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxPyLineShape_GetAttachmentFrom(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyLineShape_GetAttachmentTo(_swigobj)  (_swigobj->GetAttachmentTo())
+static PyObject *_wrap_wxPyLineShape_GetAttachmentTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxPyLineShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyLineShape_GetAttachmentTo",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_GetAttachmentTo. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxPyLineShape_GetAttachmentTo(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyLineShape_GetEnds(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->GetEnds(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_GetEnds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double * _arg1;
+    double  temp;
+    double * _arg2;
+    double  temp0;
+    double * _arg3;
+    double  temp1;
+    double * _arg4;
+    double  temp2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+{
+  _arg1 = &temp;
+}
+{
+  _arg2 = &temp0;
+}
+{
+  _arg3 = &temp1;
+}
+{
+  _arg4 = &temp2;
+}
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyLineShape_GetEnds",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_GetEnds. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_GetEnds(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    PyObject *o;
+    o = PyFloat_FromDouble((double) (*_arg1));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    PyObject *o;
+    o = PyFloat_FromDouble((double) (*_arg2));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    PyObject *o;
+    o = PyFloat_FromDouble((double) (*_arg3));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    PyObject *o;
+    o = PyFloat_FromDouble((double) (*_arg4));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+    return _resultobj;
+}
+
+#define wxPyLineShape_GetFrom(_swigobj)  (_swigobj->GetFrom())
+static PyObject *_wrap_wxPyLineShape_GetFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyShape * _result;
+    wxPyLineShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyLineShape_GetFrom",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_GetFrom. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPyShape *)wxPyLineShape_GetFrom(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyShape_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyLineShape_GetLabelPosition(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->GetLabelPosition(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxPyLineShape_GetLabelPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    int  _arg1;
+    double * _arg2;
+    double  temp;
+    double * _arg3;
+    double  temp0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","position", NULL };
+
+    self = self;
+{
+  _arg2 = &temp;
+}
+{
+  _arg3 = &temp0;
+}
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyLineShape_GetLabelPosition",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_GetLabelPosition. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_GetLabelPosition(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    PyObject *o;
+    o = PyFloat_FromDouble((double) (*_arg2));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    PyObject *o;
+    o = PyFloat_FromDouble((double) (*_arg3));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+    return _resultobj;
+}
+
+#define wxPyLineShape_GetNextControlPoint(_swigobj,_swigarg0)  (_swigobj->GetNextControlPoint(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_GetNextControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPoint * _result;
+    wxPyLineShape * _arg0;
+    wxPyShape * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","shape", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_GetNextControlPoint",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_GetNextControlPoint. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPyShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_GetNextControlPoint. Expected _wxPyShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPoint *)wxPyLineShape_GetNextControlPoint(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPoint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyLineShape_GetTo(_swigobj)  (_swigobj->GetTo())
+static PyObject *_wrap_wxPyLineShape_GetTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyShape * _result;
+    wxPyLineShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyLineShape_GetTo",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_GetTo. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPyShape *)wxPyLineShape_GetTo(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyShape_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyLineShape_Initialise(_swigobj)  (_swigobj->Initialise())
+static PyObject *_wrap_wxPyLineShape_Initialise(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyLineShape_Initialise",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_Initialise. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_Initialise(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_InsertLineControlPoint(_swigobj,_swigarg0)  (_swigobj->InsertLineControlPoint(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_InsertLineControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_InsertLineControlPoint",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_InsertLineControlPoint. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_InsertLineControlPoint. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_InsertLineControlPoint(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_IsEnd(_swigobj,_swigarg0)  (_swigobj->IsEnd(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_IsEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyLineShape * _arg0;
+    wxPyShape * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","shape", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_IsEnd",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_IsEnd. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPyShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_IsEnd. Expected _wxPyShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyLineShape_IsEnd(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyLineShape_IsSpline(_swigobj)  (_swigobj->IsSpline())
+static PyObject *_wrap_wxPyLineShape_IsSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyLineShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyLineShape_IsSpline",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_IsSpline. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyLineShape_IsSpline(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyLineShape_MakeLineControlPoints(_swigobj,_swigarg0)  (_swigobj->MakeLineControlPoints(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_MakeLineControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyLineShape_MakeLineControlPoints",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_MakeLineControlPoints. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_MakeLineControlPoints(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_SetAttachmentFrom(_swigobj,_swigarg0)  (_swigobj->SetAttachmentFrom(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_SetAttachmentFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","fromAttach", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyLineShape_SetAttachmentFrom",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_SetAttachmentFrom. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_SetAttachmentFrom(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_SetAttachments(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetAttachments(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyLineShape_SetAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    int  _arg1;
+    int  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","fromAttach","toAttach", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxPyLineShape_SetAttachments",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_SetAttachments. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_SetAttachments(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_SetAttachmentTo(_swigobj,_swigarg0)  (_swigobj->SetAttachmentTo(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_SetAttachmentTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","toAttach", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyLineShape_SetAttachmentTo",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_SetAttachmentTo. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_SetAttachmentTo(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_SetEnds(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->SetEnds(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_SetEnds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x1","y1","x2","y2", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odddd:wxPyLineShape_SetEnds",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_SetEnds. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_SetEnds(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_SetFrom(_swigobj,_swigarg0)  (_swigobj->SetFrom(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_SetFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxPyShape * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","object", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_SetFrom",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_SetFrom. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPyShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_SetFrom. Expected _wxPyShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_SetFrom(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_SetIgnoreOffsets(_swigobj,_swigarg0)  (_swigobj->SetIgnoreOffsets(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_SetIgnoreOffsets(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    bool  _arg1;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","ignore", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyLineShape_SetIgnoreOffsets",_kwnames,&_argo0,&tempbool1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_SetIgnoreOffsets. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_SetIgnoreOffsets(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_SetSpline(_swigobj,_swigarg0)  (_swigobj->SetSpline(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_SetSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    bool  _arg1;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","spline", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyLineShape_SetSpline",_kwnames,&_argo0,&tempbool1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_SetSpline. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_SetSpline(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_SetTo(_swigobj,_swigarg0)  (_swigobj->SetTo(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_SetTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxPyShape * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","object", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_SetTo",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_SetTo. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPyShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_SetTo. Expected _wxPyShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_SetTo(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_Straighten(_swigobj,_swigarg0)  (_swigobj->Straighten(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_Straighten(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1 = (wxDC *) NULL;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:wxPyLineShape_Straighten",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_Straighten. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_Straighten. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_Straighten(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_Unlink(_swigobj)  (_swigobj->Unlink())
+static PyObject *_wrap_wxPyLineShape_Unlink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyLineShape_Unlink",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_Unlink. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_Unlink(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnDraw(_swigobj,_swigarg0)  (_swigobj->base_OnDraw(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_base_OnDraw",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnDraw. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnDraw. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnDraw(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnDrawContents(_swigobj,_swigarg0)  (_swigobj->base_OnDrawContents(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_base_OnDrawContents",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnDrawContents. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnDrawContents. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnDrawContents(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnDrawBranches(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnDrawBranches(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyLineShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    bool  _arg2 = (bool ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) FALSE;
+    char *_kwnames[] = { "self","dc","erase", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxPyLineShape_base_OnDrawBranches",_kwnames,&_argo0,&_argo1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnDrawBranches. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnDrawBranches. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnDrawBranches(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnMoveLinks(_swigobj,_swigarg0)  (_swigobj->base_OnMoveLinks(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_base_OnMoveLinks",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnMoveLinks. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnMoveLinks. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnMoveLinks(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnErase(_swigobj,_swigarg0)  (_swigobj->base_OnErase(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_base_OnErase",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnErase. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnErase. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnErase(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnEraseContents(_swigobj,_swigarg0)  (_swigobj->base_OnEraseContents(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_base_OnEraseContents",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnEraseContents. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnEraseContents. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnEraseContents(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnHighlight(_swigobj,_swigarg0)  (_swigobj->base_OnHighlight(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_base_OnHighlight",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnHighlight. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnHighlight. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnHighlight(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnLeftClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnLeftClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyLineShape_base_OnLeftClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnLeftClick. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnLeftClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnLeftDoubleClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnLeftDoubleClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyLineShape_base_OnLeftDoubleClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnLeftDoubleClick. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnLeftDoubleClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnRightClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnRightClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyLineShape_base_OnRightClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnRightClick. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnRightClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyLineShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyLineShape_base_OnSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnSize. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnMovePre(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnMovePre(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyLineShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    bool  _arg6 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool6 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","x","y","old_x","old_y","display", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd|i:wxPyLineShape_base_OnMovePre",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5,&tempbool6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnMovePre. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnMovePre. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg6 = (bool ) tempbool6;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyLineShape_base_OnMovePre(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnMovePost(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnMovePost(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyLineShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    bool  _arg6 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool6 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","x","y","old_x","old_y","display", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd|i:wxPyLineShape_base_OnMovePost",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5,&tempbool6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnMovePost. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnMovePost. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg6 = (bool ) tempbool6;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnMovePost(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyLineShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    bool  _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oidd|ii:wxPyLineShape_base_OnDragLeft",_kwnames,&_argo0,&tempbool1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnDragLeft. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnBeginDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnBeginDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyLineShape_base_OnBeginDragLeft",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnBeginDragLeft. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnBeginDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnEndDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnEndDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyLineShape_base_OnEndDragLeft",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnEndDragLeft. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnEndDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyLineShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    bool  _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oidd|ii:wxPyLineShape_base_OnDragRight",_kwnames,&_argo0,&tempbool1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnDragRight. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnDragRight(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnBeginDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnBeginDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyLineShape_base_OnBeginDragRight",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnBeginDragRight. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnBeginDragRight(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnEndDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnEndDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyLineShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyLineShape_base_OnEndDragRight",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnEndDragRight. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnEndDragRight(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnDrawOutline(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDrawOutline(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyLineShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc","x","y","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd:wxPyLineShape_base_OnDrawOutline",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnDrawOutline. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnDrawOutline. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnDrawOutline(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnDrawControlPoints(_swigobj,_swigarg0)  (_swigobj->base_OnDrawControlPoints(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_base_OnDrawControlPoints",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnDrawControlPoints. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnDrawControlPoints. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnDrawControlPoints(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnEraseControlPoints(_swigobj,_swigarg0)  (_swigobj->base_OnEraseControlPoints(_swigarg0))
+static PyObject *_wrap_wxPyLineShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyLineShape_base_OnEraseControlPoints",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnEraseControlPoints. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnEraseControlPoints. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnEraseControlPoints(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnMoveLink(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnMoveLink(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyLineShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxDC * _arg1;
+    bool  _arg2 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","moveControlPoints", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxPyLineShape_base_OnMoveLink",_kwnames,&_argo0,&_argo1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnMoveLink. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnMoveLink. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnMoveLink(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnSizingDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnSizingDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyLineShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxControlPoint * _arg1;
+    bool  _arg2;
+    double  _arg3;
+    double  _arg4;
+    int  _arg5 = (int ) 0;
+    int  _arg6 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2;
+    char *_kwnames[] = { "self","pt","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOidd|ii:wxPyLineShape_base_OnSizingDragLeft",_kwnames,&_argo0,&_argo1,&tempbool2,&_arg3,&_arg4,&_arg5,&_arg6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnSizingDragLeft. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnSizingDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnSizingDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnSizingBeginDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnSizingBeginDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyLineShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxControlPoint * _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","pt","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdd|ii:wxPyLineShape_base_OnSizingBeginDragLeft",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnSizingBeginDragLeft. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnSizingBeginDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnSizingBeginDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnSizingEndDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnSizingEndDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyLineShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    wxControlPoint * _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","pt","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdd|ii:wxPyLineShape_base_OnSizingEndDragLeft",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnSizingEndDragLeft. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyLineShape_base_OnSizingEndDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnSizingEndDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnBeginSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnBeginSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyLineShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyLineShape_base_OnBeginSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnBeginSize. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnBeginSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyLineShape_base_OnEndSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnEndSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyLineShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyLineShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyLineShape_base_OnEndSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyLineShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyLineShape_base_OnEndSize. Expected _wxPyLineShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyLineShape_base_OnEndSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxPyPolygonShapeTowxPyShape(void *ptr) {
+    wxPyPolygonShape *src;
+    wxPyShape *dest;
+    src = (wxPyPolygonShape *) ptr;
+    dest = (wxPyShape *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyPolygonShapeTowxPyShapeEvtHandler(void *ptr) {
+    wxPyPolygonShape *src;
+    wxPyShapeEvtHandler *dest;
+    src = (wxPyPolygonShape *) ptr;
+    dest = (wxPyShapeEvtHandler *) src;
+    return (void *) dest;
+}
+
+#define new_wxPyPolygonShape() (new wxPyPolygonShape())
+static PyObject *_wrap_new_wxPyPolygonShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxPyPolygonShape",_kwnames)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPyPolygonShape *)new_wxPyPolygonShape();
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyPolygonShape_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyPolygonShape__setSelf(_swigobj,_swigarg0)  (_swigobj->_setSelf(_swigarg0))
+static PyObject *_wrap_wxPyPolygonShape__setSelf(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    PyObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPolygonShape__setSelf",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape__setSelf. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape__setSelf(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject * wxPyPolygonShape_Create(wxPyPolygonShape *self,PyObject * points) {
+            wxList* list = wxPy_wxRealPoint_ListHelper(points);
+            if (list) {
+                self->Create(list);
+                Py_INCREF(Py_None);
+                return Py_None;
+            }
+            else return NULL;
+        }
+static PyObject *_wrap_wxPyPolygonShape_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxPyPolygonShape * _arg0;
+    PyObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","points", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPolygonShape_Create",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_Create. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxPyPolygonShape_Create(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_AddPolygonPoint(_swigobj,_swigarg0)  (_swigobj->AddPolygonPoint(_swigarg0))
+static PyObject *_wrap_wxPyPolygonShape_AddPolygonPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    int  _arg1 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","pos", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxPyPolygonShape_AddPolygonPoint",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_AddPolygonPoint. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_AddPolygonPoint(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_CalculatePolygonCentre(_swigobj)  (_swigobj->CalculatePolygonCentre())
+static PyObject *_wrap_wxPyPolygonShape_CalculatePolygonCentre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyPolygonShape_CalculatePolygonCentre",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_CalculatePolygonCentre. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_CalculatePolygonCentre(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_DeletePolygonPoint(_swigobj,_swigarg0)  (_swigobj->DeletePolygonPoint(_swigarg0))
+static PyObject *_wrap_wxPyPolygonShape_DeletePolygonPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    int  _arg1 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","pos", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxPyPolygonShape_DeletePolygonPoint",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_DeletePolygonPoint. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_DeletePolygonPoint(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject * wxPyPolygonShape_GetPoints(wxPyPolygonShape *self) {
+            wxList* list = self->GetPoints();
+            return wxPy_ConvertList(list, "wxRealPoint");
+        }
+static PyObject *_wrap_wxPyPolygonShape_GetPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxPyPolygonShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyPolygonShape_GetPoints",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_GetPoints. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxPyPolygonShape_GetPoints(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_UpdateOriginalPoints(_swigobj)  (_swigobj->UpdateOriginalPoints())
+static PyObject *_wrap_wxPyPolygonShape_UpdateOriginalPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyPolygonShape_UpdateOriginalPoints",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_UpdateOriginalPoints. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_UpdateOriginalPoints(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnDraw(_swigobj,_swigarg0)  (_swigobj->base_OnDraw(_swigarg0))
+static PyObject *_wrap_wxPyPolygonShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPolygonShape_base_OnDraw",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnDraw. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnDraw. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnDraw(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnDrawContents(_swigobj,_swigarg0)  (_swigobj->base_OnDrawContents(_swigarg0))
+static PyObject *_wrap_wxPyPolygonShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPolygonShape_base_OnDrawContents",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnDrawContents. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnDrawContents. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnDrawContents(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnDrawBranches(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnDrawBranches(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyPolygonShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    bool  _arg2 = (bool ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) FALSE;
+    char *_kwnames[] = { "self","dc","erase", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxPyPolygonShape_base_OnDrawBranches",_kwnames,&_argo0,&_argo1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnDrawBranches. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnDrawBranches. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnDrawBranches(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnMoveLinks(_swigobj,_swigarg0)  (_swigobj->base_OnMoveLinks(_swigarg0))
+static PyObject *_wrap_wxPyPolygonShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPolygonShape_base_OnMoveLinks",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnMoveLinks. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnMoveLinks. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnMoveLinks(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnErase(_swigobj,_swigarg0)  (_swigobj->base_OnErase(_swigarg0))
+static PyObject *_wrap_wxPyPolygonShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPolygonShape_base_OnErase",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnErase. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnErase. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnErase(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnEraseContents(_swigobj,_swigarg0)  (_swigobj->base_OnEraseContents(_swigarg0))
+static PyObject *_wrap_wxPyPolygonShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPolygonShape_base_OnEraseContents",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnEraseContents. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnEraseContents. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnEraseContents(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnHighlight(_swigobj,_swigarg0)  (_swigobj->base_OnHighlight(_swigarg0))
+static PyObject *_wrap_wxPyPolygonShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPolygonShape_base_OnHighlight",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnHighlight. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnHighlight. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnHighlight(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnLeftClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnLeftClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyPolygonShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyPolygonShape_base_OnLeftClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnLeftClick. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnLeftClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnLeftDoubleClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnLeftDoubleClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyPolygonShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyPolygonShape_base_OnLeftDoubleClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnLeftDoubleClick. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnLeftDoubleClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnRightClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnRightClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyPolygonShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyPolygonShape_base_OnRightClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnRightClick. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnRightClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyPolygonShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyPolygonShape_base_OnSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnSize. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnMovePre(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnMovePre(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyPolygonShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    bool  _arg6 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool6 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","x","y","old_x","old_y","display", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd|i:wxPyPolygonShape_base_OnMovePre",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5,&tempbool6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnMovePre. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnMovePre. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg6 = (bool ) tempbool6;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyPolygonShape_base_OnMovePre(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnMovePost(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnMovePost(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyPolygonShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    bool  _arg6 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool6 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","x","y","old_x","old_y","display", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd|i:wxPyPolygonShape_base_OnMovePost",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5,&tempbool6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnMovePost. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnMovePost. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg6 = (bool ) tempbool6;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnMovePost(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyPolygonShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    bool  _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oidd|ii:wxPyPolygonShape_base_OnDragLeft",_kwnames,&_argo0,&tempbool1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnDragLeft. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnBeginDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnBeginDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyPolygonShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyPolygonShape_base_OnBeginDragLeft",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnBeginDragLeft. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnBeginDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnEndDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnEndDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyPolygonShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyPolygonShape_base_OnEndDragLeft",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnEndDragLeft. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnEndDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyPolygonShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    bool  _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oidd|ii:wxPyPolygonShape_base_OnDragRight",_kwnames,&_argo0,&tempbool1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnDragRight. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnDragRight(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnBeginDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnBeginDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyPolygonShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyPolygonShape_base_OnBeginDragRight",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnBeginDragRight. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnBeginDragRight(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnEndDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnEndDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyPolygonShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyPolygonShape_base_OnEndDragRight",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnEndDragRight. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnEndDragRight(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnDrawOutline(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDrawOutline(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyPolygonShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc","x","y","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd:wxPyPolygonShape_base_OnDrawOutline",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnDrawOutline. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnDrawOutline. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnDrawOutline(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnDrawControlPoints(_swigobj,_swigarg0)  (_swigobj->base_OnDrawControlPoints(_swigarg0))
+static PyObject *_wrap_wxPyPolygonShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPolygonShape_base_OnDrawControlPoints",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnDrawControlPoints. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnDrawControlPoints. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnDrawControlPoints(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnEraseControlPoints(_swigobj,_swigarg0)  (_swigobj->base_OnEraseControlPoints(_swigarg0))
+static PyObject *_wrap_wxPyPolygonShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPolygonShape_base_OnEraseControlPoints",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnEraseControlPoints. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnEraseControlPoints. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnEraseControlPoints(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnMoveLink(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnMoveLink(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyPolygonShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxDC * _arg1;
+    bool  _arg2 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","moveControlPoints", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxPyPolygonShape_base_OnMoveLink",_kwnames,&_argo0,&_argo1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnMoveLink. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnMoveLink. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnMoveLink(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnSizingDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnSizingDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyPolygonShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxControlPoint * _arg1;
+    bool  _arg2;
+    double  _arg3;
+    double  _arg4;
+    int  _arg5 = (int ) 0;
+    int  _arg6 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2;
+    char *_kwnames[] = { "self","pt","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOidd|ii:wxPyPolygonShape_base_OnSizingDragLeft",_kwnames,&_argo0,&_argo1,&tempbool2,&_arg3,&_arg4,&_arg5,&_arg6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnSizingDragLeft. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnSizingDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnSizingDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnSizingBeginDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnSizingBeginDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyPolygonShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxControlPoint * _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","pt","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdd|ii:wxPyPolygonShape_base_OnSizingBeginDragLeft",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnSizingBeginDragLeft. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnSizingBeginDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnSizingBeginDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnSizingEndDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnSizingEndDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyPolygonShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    wxControlPoint * _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","pt","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdd|ii:wxPyPolygonShape_base_OnSizingEndDragLeft",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnSizingEndDragLeft. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPolygonShape_base_OnSizingEndDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnSizingEndDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnBeginSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnBeginSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyPolygonShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyPolygonShape_base_OnBeginSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnBeginSize. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnBeginSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyPolygonShape_base_OnEndSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnEndSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyPolygonShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyPolygonShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyPolygonShape_base_OnEndSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPolygonShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPolygonShape_base_OnEndSize. Expected _wxPyPolygonShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyPolygonShape_base_OnEndSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxPyTextShapeTowxPyRectangleShape(void *ptr) {
+    wxPyTextShape *src;
+    wxPyRectangleShape *dest;
+    src = (wxPyTextShape *) ptr;
+    dest = (wxPyRectangleShape *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyTextShapeTowxPyShape(void *ptr) {
+    wxPyTextShape *src;
+    wxPyShape *dest;
+    src = (wxPyTextShape *) ptr;
+    dest = (wxPyShape *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyTextShapeTowxPyShapeEvtHandler(void *ptr) {
+    wxPyTextShape *src;
+    wxPyShapeEvtHandler *dest;
+    src = (wxPyTextShape *) ptr;
+    dest = (wxPyShapeEvtHandler *) src;
+    return (void *) dest;
+}
+
+#define new_wxPyTextShape(_swigarg0,_swigarg1) (new wxPyTextShape(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxPyTextShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _result;
+    double  _arg0 = (double ) 0.0;
+    double  _arg1 = (double ) 0.0;
+    char *_kwnames[] = { "width","height", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|dd:new_wxPyTextShape",_kwnames,&_arg0,&_arg1)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPyTextShape *)new_wxPyTextShape(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyTextShape_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyTextShape__setSelf(_swigobj,_swigarg0)  (_swigobj->_setSelf(_swigarg0))
+static PyObject *_wrap_wxPyTextShape__setSelf(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    PyObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyTextShape__setSelf",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape__setSelf. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape__setSelf(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnDelete(_swigobj)  (_swigobj->base_OnDelete())
+static PyObject *_wrap_wxPyTextShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyTextShape_base_OnDelete",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnDelete. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnDelete(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnDraw(_swigobj,_swigarg0)  (_swigobj->base_OnDraw(_swigarg0))
+static PyObject *_wrap_wxPyTextShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyTextShape_base_OnDraw",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnDraw. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnDraw. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnDraw(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnDrawContents(_swigobj,_swigarg0)  (_swigobj->base_OnDrawContents(_swigarg0))
+static PyObject *_wrap_wxPyTextShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyTextShape_base_OnDrawContents",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnDrawContents. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnDrawContents. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnDrawContents(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnDrawBranches(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnDrawBranches(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyTextShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    bool  _arg2 = (bool ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) FALSE;
+    char *_kwnames[] = { "self","dc","erase", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxPyTextShape_base_OnDrawBranches",_kwnames,&_argo0,&_argo1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnDrawBranches. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnDrawBranches. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnDrawBranches(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnMoveLinks(_swigobj,_swigarg0)  (_swigobj->base_OnMoveLinks(_swigarg0))
+static PyObject *_wrap_wxPyTextShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyTextShape_base_OnMoveLinks",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnMoveLinks. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnMoveLinks. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnMoveLinks(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnErase(_swigobj,_swigarg0)  (_swigobj->base_OnErase(_swigarg0))
+static PyObject *_wrap_wxPyTextShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyTextShape_base_OnErase",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnErase. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnErase. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnErase(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnEraseContents(_swigobj,_swigarg0)  (_swigobj->base_OnEraseContents(_swigarg0))
+static PyObject *_wrap_wxPyTextShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyTextShape_base_OnEraseContents",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnEraseContents. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnEraseContents. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnEraseContents(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnHighlight(_swigobj,_swigarg0)  (_swigobj->base_OnHighlight(_swigarg0))
+static PyObject *_wrap_wxPyTextShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyTextShape_base_OnHighlight",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnHighlight. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnHighlight. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnHighlight(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnLeftClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnLeftClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyTextShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyTextShape_base_OnLeftClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnLeftClick. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnLeftClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnLeftDoubleClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnLeftDoubleClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyTextShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyTextShape_base_OnLeftDoubleClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnLeftDoubleClick. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnLeftDoubleClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnRightClick(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnRightClick(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyTextShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyTextShape_base_OnRightClick",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnRightClick. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnRightClick(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyTextShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyTextShape_base_OnSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnSize. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnMovePre(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnMovePre(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyTextShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    bool  _arg6 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool6 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","x","y","old_x","old_y","display", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd|i:wxPyTextShape_base_OnMovePre",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5,&tempbool6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnMovePre. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnMovePre. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg6 = (bool ) tempbool6;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyTextShape_base_OnMovePre(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnMovePost(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnMovePost(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyTextShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    bool  _arg6 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool6 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","x","y","old_x","old_y","display", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd|i:wxPyTextShape_base_OnMovePost",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5,&tempbool6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnMovePost. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnMovePost. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg6 = (bool ) tempbool6;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnMovePost(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyTextShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    bool  _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oidd|ii:wxPyTextShape_base_OnDragLeft",_kwnames,&_argo0,&tempbool1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnDragLeft. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnBeginDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnBeginDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyTextShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyTextShape_base_OnBeginDragLeft",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnBeginDragLeft. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnBeginDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnEndDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnEndDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyTextShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyTextShape_base_OnEndDragLeft",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnEndDragLeft. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnEndDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyTextShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    bool  _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oidd|ii:wxPyTextShape_base_OnDragRight",_kwnames,&_argo0,&tempbool1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnDragRight. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnDragRight(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnBeginDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnBeginDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyTextShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyTextShape_base_OnBeginDragRight",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnBeginDragRight. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnBeginDragRight(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnEndDragRight(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->base_OnEndDragRight(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxPyTextShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    int  _arg3 = (int ) 0;
+    int  _arg4 = (int ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd|ii:wxPyTextShape_base_OnEndDragRight",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnEndDragRight. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnEndDragRight(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnDrawOutline(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnDrawOutline(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyTextShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    double  _arg2;
+    double  _arg3;
+    double  _arg4;
+    double  _arg5;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc","x","y","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdddd:wxPyTextShape_base_OnDrawOutline",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnDrawOutline. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnDrawOutline. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnDrawOutline(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnDrawControlPoints(_swigobj,_swigarg0)  (_swigobj->base_OnDrawControlPoints(_swigarg0))
+static PyObject *_wrap_wxPyTextShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyTextShape_base_OnDrawControlPoints",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnDrawControlPoints. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnDrawControlPoints. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnDrawControlPoints(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnEraseControlPoints(_swigobj,_swigarg0)  (_swigobj->base_OnEraseControlPoints(_swigarg0))
+static PyObject *_wrap_wxPyTextShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyTextShape_base_OnEraseControlPoints",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnEraseControlPoints. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnEraseControlPoints. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnEraseControlPoints(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnMoveLink(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnMoveLink(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyTextShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxDC * _arg1;
+    bool  _arg2 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) TRUE;
+    char *_kwnames[] = { "self","dc","moveControlPoints", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxPyTextShape_base_OnMoveLink",_kwnames,&_argo0,&_argo1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnMoveLink. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnMoveLink. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnMoveLink(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnSizingDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->base_OnSizingDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxPyTextShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxControlPoint * _arg1;
+    bool  _arg2;
+    double  _arg3;
+    double  _arg4;
+    int  _arg5 = (int ) 0;
+    int  _arg6 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2;
+    char *_kwnames[] = { "self","pt","draw","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOidd|ii:wxPyTextShape_base_OnSizingDragLeft",_kwnames,&_argo0,&_argo1,&tempbool2,&_arg3,&_arg4,&_arg5,&_arg6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnSizingDragLeft. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnSizingDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnSizingDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnSizingBeginDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnSizingBeginDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyTextShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxControlPoint * _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","pt","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdd|ii:wxPyTextShape_base_OnSizingBeginDragLeft",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnSizingBeginDragLeft. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnSizingBeginDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnSizingBeginDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnSizingEndDragLeft(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->base_OnSizingEndDragLeft(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxPyTextShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    wxControlPoint * _arg1;
+    double  _arg2;
+    double  _arg3;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","pt","x","y","keys","attachment", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOdd|ii:wxPyTextShape_base_OnSizingEndDragLeft",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnSizingEndDragLeft. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControlPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyTextShape_base_OnSizingEndDragLeft. Expected _wxControlPoint_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnSizingEndDragLeft(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnBeginSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnBeginSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyTextShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyTextShape_base_OnBeginSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnBeginSize. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnBeginSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTextShape_base_OnEndSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnEndSize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyTextShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextShape * _arg0;
+    double  _arg1;
+    double  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","w","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxPyTextShape_base_OnEndSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextShape_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextShape_base_OnEndSize. Expected _wxPyTextShape_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTextShape_base_OnEndSize(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyMethodDef oglshapes2cMethods[] = {
+        { "wxPyTextShape_base_OnEndSize", (PyCFunction) _wrap_wxPyTextShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnBeginSize", (PyCFunction) _wrap_wxPyTextShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_wxPyTextShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_wxPyTextShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnSizingDragLeft", (PyCFunction) _wrap_wxPyTextShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnMoveLink", (PyCFunction) _wrap_wxPyTextShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnEraseControlPoints", (PyCFunction) _wrap_wxPyTextShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnDrawControlPoints", (PyCFunction) _wrap_wxPyTextShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnDrawOutline", (PyCFunction) _wrap_wxPyTextShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnEndDragRight", (PyCFunction) _wrap_wxPyTextShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnBeginDragRight", (PyCFunction) _wrap_wxPyTextShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnDragRight", (PyCFunction) _wrap_wxPyTextShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnEndDragLeft", (PyCFunction) _wrap_wxPyTextShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnBeginDragLeft", (PyCFunction) _wrap_wxPyTextShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnDragLeft", (PyCFunction) _wrap_wxPyTextShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnMovePost", (PyCFunction) _wrap_wxPyTextShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnMovePre", (PyCFunction) _wrap_wxPyTextShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnSize", (PyCFunction) _wrap_wxPyTextShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnRightClick", (PyCFunction) _wrap_wxPyTextShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_wxPyTextShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnLeftClick", (PyCFunction) _wrap_wxPyTextShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnHighlight", (PyCFunction) _wrap_wxPyTextShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnEraseContents", (PyCFunction) _wrap_wxPyTextShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnErase", (PyCFunction) _wrap_wxPyTextShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnMoveLinks", (PyCFunction) _wrap_wxPyTextShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnDrawBranches", (PyCFunction) _wrap_wxPyTextShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnDrawContents", (PyCFunction) _wrap_wxPyTextShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnDraw", (PyCFunction) _wrap_wxPyTextShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape_base_OnDelete", (PyCFunction) _wrap_wxPyTextShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextShape__setSelf", (PyCFunction) _wrap_wxPyTextShape__setSelf, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPyTextShape", (PyCFunction) _wrap_new_wxPyTextShape, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnEndSize", (PyCFunction) _wrap_wxPyPolygonShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnBeginSize", (PyCFunction) _wrap_wxPyPolygonShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_wxPyPolygonShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_wxPyPolygonShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnSizingDragLeft", (PyCFunction) _wrap_wxPyPolygonShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnMoveLink", (PyCFunction) _wrap_wxPyPolygonShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnEraseControlPoints", (PyCFunction) _wrap_wxPyPolygonShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnDrawControlPoints", (PyCFunction) _wrap_wxPyPolygonShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnDrawOutline", (PyCFunction) _wrap_wxPyPolygonShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnEndDragRight", (PyCFunction) _wrap_wxPyPolygonShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnBeginDragRight", (PyCFunction) _wrap_wxPyPolygonShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnDragRight", (PyCFunction) _wrap_wxPyPolygonShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnEndDragLeft", (PyCFunction) _wrap_wxPyPolygonShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnBeginDragLeft", (PyCFunction) _wrap_wxPyPolygonShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnDragLeft", (PyCFunction) _wrap_wxPyPolygonShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnMovePost", (PyCFunction) _wrap_wxPyPolygonShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnMovePre", (PyCFunction) _wrap_wxPyPolygonShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnSize", (PyCFunction) _wrap_wxPyPolygonShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnRightClick", (PyCFunction) _wrap_wxPyPolygonShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_wxPyPolygonShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnLeftClick", (PyCFunction) _wrap_wxPyPolygonShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnHighlight", (PyCFunction) _wrap_wxPyPolygonShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnEraseContents", (PyCFunction) _wrap_wxPyPolygonShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnErase", (PyCFunction) _wrap_wxPyPolygonShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnMoveLinks", (PyCFunction) _wrap_wxPyPolygonShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnDrawBranches", (PyCFunction) _wrap_wxPyPolygonShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnDrawContents", (PyCFunction) _wrap_wxPyPolygonShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_base_OnDraw", (PyCFunction) _wrap_wxPyPolygonShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_UpdateOriginalPoints", (PyCFunction) _wrap_wxPyPolygonShape_UpdateOriginalPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_GetPoints", (PyCFunction) _wrap_wxPyPolygonShape_GetPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_DeletePolygonPoint", (PyCFunction) _wrap_wxPyPolygonShape_DeletePolygonPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_CalculatePolygonCentre", (PyCFunction) _wrap_wxPyPolygonShape_CalculatePolygonCentre, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_AddPolygonPoint", (PyCFunction) _wrap_wxPyPolygonShape_AddPolygonPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape_Create", (PyCFunction) _wrap_wxPyPolygonShape_Create, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyPolygonShape__setSelf", (PyCFunction) _wrap_wxPyPolygonShape__setSelf, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPyPolygonShape", (PyCFunction) _wrap_new_wxPyPolygonShape, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnEndSize", (PyCFunction) _wrap_wxPyLineShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnBeginSize", (PyCFunction) _wrap_wxPyLineShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_wxPyLineShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_wxPyLineShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnSizingDragLeft", (PyCFunction) _wrap_wxPyLineShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnMoveLink", (PyCFunction) _wrap_wxPyLineShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnEraseControlPoints", (PyCFunction) _wrap_wxPyLineShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnDrawControlPoints", (PyCFunction) _wrap_wxPyLineShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnDrawOutline", (PyCFunction) _wrap_wxPyLineShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnEndDragRight", (PyCFunction) _wrap_wxPyLineShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnBeginDragRight", (PyCFunction) _wrap_wxPyLineShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnDragRight", (PyCFunction) _wrap_wxPyLineShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnEndDragLeft", (PyCFunction) _wrap_wxPyLineShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnBeginDragLeft", (PyCFunction) _wrap_wxPyLineShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnDragLeft", (PyCFunction) _wrap_wxPyLineShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnMovePost", (PyCFunction) _wrap_wxPyLineShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnMovePre", (PyCFunction) _wrap_wxPyLineShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnSize", (PyCFunction) _wrap_wxPyLineShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnRightClick", (PyCFunction) _wrap_wxPyLineShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_wxPyLineShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnLeftClick", (PyCFunction) _wrap_wxPyLineShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnHighlight", (PyCFunction) _wrap_wxPyLineShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnEraseContents", (PyCFunction) _wrap_wxPyLineShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnErase", (PyCFunction) _wrap_wxPyLineShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnMoveLinks", (PyCFunction) _wrap_wxPyLineShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnDrawBranches", (PyCFunction) _wrap_wxPyLineShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnDrawContents", (PyCFunction) _wrap_wxPyLineShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_base_OnDraw", (PyCFunction) _wrap_wxPyLineShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_Unlink", (PyCFunction) _wrap_wxPyLineShape_Unlink, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_Straighten", (PyCFunction) _wrap_wxPyLineShape_Straighten, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_SetTo", (PyCFunction) _wrap_wxPyLineShape_SetTo, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_SetSpline", (PyCFunction) _wrap_wxPyLineShape_SetSpline, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_SetIgnoreOffsets", (PyCFunction) _wrap_wxPyLineShape_SetIgnoreOffsets, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_SetFrom", (PyCFunction) _wrap_wxPyLineShape_SetFrom, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_SetEnds", (PyCFunction) _wrap_wxPyLineShape_SetEnds, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_SetAttachmentTo", (PyCFunction) _wrap_wxPyLineShape_SetAttachmentTo, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_SetAttachments", (PyCFunction) _wrap_wxPyLineShape_SetAttachments, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_SetAttachmentFrom", (PyCFunction) _wrap_wxPyLineShape_SetAttachmentFrom, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_MakeLineControlPoints", (PyCFunction) _wrap_wxPyLineShape_MakeLineControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_IsSpline", (PyCFunction) _wrap_wxPyLineShape_IsSpline, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_IsEnd", (PyCFunction) _wrap_wxPyLineShape_IsEnd, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_InsertLineControlPoint", (PyCFunction) _wrap_wxPyLineShape_InsertLineControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_Initialise", (PyCFunction) _wrap_wxPyLineShape_Initialise, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_GetTo", (PyCFunction) _wrap_wxPyLineShape_GetTo, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_GetNextControlPoint", (PyCFunction) _wrap_wxPyLineShape_GetNextControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_GetLabelPosition", (PyCFunction) _wrap_wxPyLineShape_GetLabelPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_GetFrom", (PyCFunction) _wrap_wxPyLineShape_GetFrom, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_GetEnds", (PyCFunction) _wrap_wxPyLineShape_GetEnds, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_GetAttachmentTo", (PyCFunction) _wrap_wxPyLineShape_GetAttachmentTo, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_GetAttachmentFrom", (PyCFunction) _wrap_wxPyLineShape_GetAttachmentFrom, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_FindNth", (PyCFunction) _wrap_wxPyLineShape_FindNth, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_FindMinimumWidth", (PyCFunction) _wrap_wxPyLineShape_FindMinimumWidth, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_FindLinePosition", (PyCFunction) _wrap_wxPyLineShape_FindLinePosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_FindLineEndPoints", (PyCFunction) _wrap_wxPyLineShape_FindLineEndPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_FindArrowHead", (PyCFunction) _wrap_wxPyLineShape_FindArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_FindArrowHeadId", (PyCFunction) _wrap_wxPyLineShape_FindArrowHeadId, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_EraseRegion", (PyCFunction) _wrap_wxPyLineShape_EraseRegion, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_DrawRegion", (PyCFunction) _wrap_wxPyLineShape_DrawRegion, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_DrawArrows", (PyCFunction) _wrap_wxPyLineShape_DrawArrows, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_DeleteLineControlPoint", (PyCFunction) _wrap_wxPyLineShape_DeleteLineControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_DeleteArrowHead", (PyCFunction) _wrap_wxPyLineShape_DeleteArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_DeleteArrowHeadId", (PyCFunction) _wrap_wxPyLineShape_DeleteArrowHeadId, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_DrawArrow", (PyCFunction) _wrap_wxPyLineShape_DrawArrow, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_ClearArrowsAtPosition", (PyCFunction) _wrap_wxPyLineShape_ClearArrowsAtPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_ClearArrow", (PyCFunction) _wrap_wxPyLineShape_ClearArrow, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_AddArrowOrdered", (PyCFunction) _wrap_wxPyLineShape_AddArrowOrdered, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape_AddArrow", (PyCFunction) _wrap_wxPyLineShape_AddArrow, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyLineShape__setSelf", (PyCFunction) _wrap_wxPyLineShape__setSelf, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPyLineShape", (PyCFunction) _wrap_new_wxPyLineShape, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_SetSpacing", (PyCFunction) _wrap_wxArrowHead_SetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_SetSize", (PyCFunction) _wrap_wxArrowHead_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_GetArrowSize", (PyCFunction) _wrap_wxArrowHead_GetArrowSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_GetArrowEnd", (PyCFunction) _wrap_wxArrowHead_GetArrowEnd, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_GetId", (PyCFunction) _wrap_wxArrowHead_GetId, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_GetMetaFile", (PyCFunction) _wrap_wxArrowHead_GetMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_SetYOffset", (PyCFunction) _wrap_wxArrowHead_SetYOffset, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_SetXOffset", (PyCFunction) _wrap_wxArrowHead_SetXOffset, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_GetName", (PyCFunction) _wrap_wxArrowHead_GetName, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_GetSize", (PyCFunction) _wrap_wxArrowHead_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_GetSpacing", (PyCFunction) _wrap_wxArrowHead_GetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_GetYOffset", (PyCFunction) _wrap_wxArrowHead_GetYOffset, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_GetXOffset", (PyCFunction) _wrap_wxArrowHead_GetXOffset, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_SetPosition", (PyCFunction) _wrap_wxArrowHead_SetPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead_GetPosition", (PyCFunction) _wrap_wxArrowHead_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxArrowHead__GetType", (PyCFunction) _wrap_wxArrowHead__GetType, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxArrowHead", (PyCFunction) _wrap_delete_wxArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxArrowHead", (PyCFunction) _wrap_new_wxArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnEndSize", (PyCFunction) _wrap_wxPyCircleShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnBeginSize", (PyCFunction) _wrap_wxPyCircleShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_wxPyCircleShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_wxPyCircleShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnSizingDragLeft", (PyCFunction) _wrap_wxPyCircleShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnMoveLink", (PyCFunction) _wrap_wxPyCircleShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnEraseControlPoints", (PyCFunction) _wrap_wxPyCircleShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnDrawControlPoints", (PyCFunction) _wrap_wxPyCircleShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnDrawOutline", (PyCFunction) _wrap_wxPyCircleShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnEndDragRight", (PyCFunction) _wrap_wxPyCircleShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnBeginDragRight", (PyCFunction) _wrap_wxPyCircleShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnDragRight", (PyCFunction) _wrap_wxPyCircleShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnEndDragLeft", (PyCFunction) _wrap_wxPyCircleShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnBeginDragLeft", (PyCFunction) _wrap_wxPyCircleShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnDragLeft", (PyCFunction) _wrap_wxPyCircleShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnMovePost", (PyCFunction) _wrap_wxPyCircleShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnMovePre", (PyCFunction) _wrap_wxPyCircleShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnSize", (PyCFunction) _wrap_wxPyCircleShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnRightClick", (PyCFunction) _wrap_wxPyCircleShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_wxPyCircleShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnLeftClick", (PyCFunction) _wrap_wxPyCircleShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnHighlight", (PyCFunction) _wrap_wxPyCircleShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnEraseContents", (PyCFunction) _wrap_wxPyCircleShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnErase", (PyCFunction) _wrap_wxPyCircleShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnMoveLinks", (PyCFunction) _wrap_wxPyCircleShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnDrawBranches", (PyCFunction) _wrap_wxPyCircleShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnDrawContents", (PyCFunction) _wrap_wxPyCircleShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape_base_OnDraw", (PyCFunction) _wrap_wxPyCircleShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyCircleShape__setSelf", (PyCFunction) _wrap_wxPyCircleShape__setSelf, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPyCircleShape", (PyCFunction) _wrap_new_wxPyCircleShape, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnEndSize", (PyCFunction) _wrap_wxPyEllipseShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnBeginSize", (PyCFunction) _wrap_wxPyEllipseShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_wxPyEllipseShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_wxPyEllipseShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnSizingDragLeft", (PyCFunction) _wrap_wxPyEllipseShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnMoveLink", (PyCFunction) _wrap_wxPyEllipseShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnEraseControlPoints", (PyCFunction) _wrap_wxPyEllipseShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnDrawControlPoints", (PyCFunction) _wrap_wxPyEllipseShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnDrawOutline", (PyCFunction) _wrap_wxPyEllipseShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnEndDragRight", (PyCFunction) _wrap_wxPyEllipseShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnBeginDragRight", (PyCFunction) _wrap_wxPyEllipseShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnDragRight", (PyCFunction) _wrap_wxPyEllipseShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnEndDragLeft", (PyCFunction) _wrap_wxPyEllipseShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnBeginDragLeft", (PyCFunction) _wrap_wxPyEllipseShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnDragLeft", (PyCFunction) _wrap_wxPyEllipseShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnMovePost", (PyCFunction) _wrap_wxPyEllipseShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnMovePre", (PyCFunction) _wrap_wxPyEllipseShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnSize", (PyCFunction) _wrap_wxPyEllipseShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnRightClick", (PyCFunction) _wrap_wxPyEllipseShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_wxPyEllipseShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnLeftClick", (PyCFunction) _wrap_wxPyEllipseShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnHighlight", (PyCFunction) _wrap_wxPyEllipseShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnEraseContents", (PyCFunction) _wrap_wxPyEllipseShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnErase", (PyCFunction) _wrap_wxPyEllipseShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnMoveLinks", (PyCFunction) _wrap_wxPyEllipseShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnDrawBranches", (PyCFunction) _wrap_wxPyEllipseShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnDrawContents", (PyCFunction) _wrap_wxPyEllipseShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape_base_OnDraw", (PyCFunction) _wrap_wxPyEllipseShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyEllipseShape__setSelf", (PyCFunction) _wrap_wxPyEllipseShape__setSelf, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPyEllipseShape", (PyCFunction) _wrap_new_wxPyEllipseShape, 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},
+    { "_signed_long","_long",0},
+    { "_wxMenuEvent","_class_wxMenuEvent",0},
+    { "_class_wxJPEGHandler","_wxJPEGHandler",0},
+    { "_wxBMPHandler","_class_wxBMPHandler",0},
+    { "_wxImage","_class_wxImage",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","_wxEvtHandler",0},
+    { "_wxPaintEvent","_class_wxPaintEvent",0},
+    { "_wxGIFHandler","_class_wxGIFHandler",0},
+    { "_wxPyCompositeShape","_class_wxPyCompositeShape",0},
+    { "_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0},
+    { "_wxCursor","_class_wxCursor",0},
+    { "_wxNotifyEvent","_class_wxNotifyEvent",0},
+    { "_wxImageHandler","_class_wxImageHandler",0},
+    { "_class_wxPyRectangleShape","_class_wxPyTextShape",SwigwxPyTextShapeTowxPyRectangleShape},
+    { "_class_wxPyRectangleShape","_wxPyTextShape",SwigwxPyTextShapeTowxPyRectangleShape},
+    { "_class_wxPyRectangleShape","_wxPyRectangleShape",0},
+    { "_class_wxTreeCtrl","_wxTreeCtrl",0},
+    { "_wxMask","_class_wxMask",0},
+    { "_wxToolTip","_class_wxToolTip",0},
+    { "_wxGrid","_class_wxGrid",0},
+    { "_wxPNGHandler","_class_wxPNGHandler",0},
+    { "_class_wxOGLConstraint","_wxOGLConstraint",0},
+    { "_class_wxColourData","_wxColourData",0},
+    { "_class_wxPageSetupDialogData","_wxPageSetupDialogData",0},
+    { "_wxPrinter","_class_wxPrinter",0},
+    { "_wxPseudoMetaFile","_class_wxPseudoMetaFile",0},
+    { "_class_wxArrowHead","_wxArrowHead",0},
+    { "_wxPen","_class_wxPen",0},
+    { "_wxUpdateUIEvent","_class_wxUpdateUIEvent",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},
+    { "_wxShapeRegion","_class_wxShapeRegion",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},
+    { "_class_wxPrintDialogData","_wxPrintDialogData",0},
+    { "_class_wxAcceleratorTable","_wxAcceleratorTable",0},
+    { "_class_wxGauge","_wxGauge",0},
+    { "_class_wxSashEvent","_wxSashEvent",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},
+    { "_wxPyBitmapShape","_class_wxPyBitmapShape",0},
+    { "_class_wxPyEllipseShape","_class_wxPyCircleShape",SwigwxPyCircleShapeTowxPyEllipseShape},
+    { "_class_wxPyEllipseShape","_wxPyCircleShape",SwigwxPyCircleShapeTowxPyEllipseShape},
+    { "_class_wxPyEllipseShape","_wxPyEllipseShape",0},
+    { "_size_t","_wxPrintQuality",0},
+    { "_size_t","_unsigned_int",0},
+    { "_size_t","_int",0},
+    { "_size_t","_wxWindowID",0},
+    { "_size_t","_uint",0},
+    { "_class_wxRealPoint","_wxRealPoint",0},
+    { "_wxPrinterDC","_class_wxPrinterDC",0},
+    { "_class_wxPyShapeEvtHandler","_class_wxPyTextShape",SwigwxPyTextShapeTowxPyShapeEvtHandler},
+    { "_class_wxPyShapeEvtHandler","_wxPyTextShape",SwigwxPyTextShapeTowxPyShapeEvtHandler},
+    { "_class_wxPyShapeEvtHandler","_class_wxPyPolygonShape",SwigwxPyPolygonShapeTowxPyShapeEvtHandler},
+    { "_class_wxPyShapeEvtHandler","_wxPyPolygonShape",SwigwxPyPolygonShapeTowxPyShapeEvtHandler},
+    { "_class_wxPyShapeEvtHandler","_class_wxPyLineShape",SwigwxPyLineShapeTowxPyShapeEvtHandler},
+    { "_class_wxPyShapeEvtHandler","_wxPyLineShape",SwigwxPyLineShapeTowxPyShapeEvtHandler},
+    { "_class_wxPyShapeEvtHandler","_class_wxPyCircleShape",SwigwxPyCircleShapeTowxPyShapeEvtHandler},
+    { "_class_wxPyShapeEvtHandler","_wxPyCircleShape",SwigwxPyCircleShapeTowxPyShapeEvtHandler},
+    { "_class_wxPyShapeEvtHandler","_class_wxPyEllipseShape",SwigwxPyEllipseShapeTowxPyShapeEvtHandler},
+    { "_class_wxPyShapeEvtHandler","_wxPyEllipseShape",SwigwxPyEllipseShapeTowxPyShapeEvtHandler},
+    { "_class_wxPyShapeEvtHandler","_wxPyShapeEvtHandler",0},
+    { "_class_wxMenuItem","_wxMenuItem",0},
+    { "_class_wxPaintEvent","_wxPaintEvent",0},
+    { "_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0},
+    { "_class_wxStatusBar","_wxStatusBar",0},
+    { "_class_wxGIFHandler","_wxGIFHandler",0},
+    { "_class_wxPyCompositeShape","_wxPyCompositeShape",0},
+    { "_wxPyPolygonShape","_class_wxPyPolygonShape",0},
+    { "_wxPanel","_class_wxPanel",0},
+    { "_wxInitDialogEvent","_class_wxInitDialogEvent",0},
+    { "_wxCheckBox","_class_wxCheckBox",0},
+    { "_wxPyEvent","_class_wxPyEvent",0},
+    { "_wxTextCtrl","_class_wxTextCtrl",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},
+    { "_wxShowEvent","_class_wxShowEvent",0},
+    { "_class_wxPyDivisionShape","_wxPyDivisionShape",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},
+    { "_wxPoint","_class_wxPoint",0},
+    { "_class_wxSashLayoutWindow","_wxSashLayoutWindow",0},
+    { "_class_wxPyBitmapShape","_wxPyBitmapShape",0},
+    { "_class_wxButton","_wxButton",0},
+    { "_wxRadioBox","_class_wxRadioBox",0},
+    { "_class_wxFontData","_wxFontData",0},
+    { "_class___wxPyCleanup","___wxPyCleanup",0},
+    { "_wxBitmap","_class_wxBitmap",0},
+    { "_wxTaskBarIcon","_class_wxTaskBarIcon",0},
+    { "_wxPrintDialog","_class_wxPrintDialog",0},
+    { "_wxPyTimer","_class_wxPyTimer",0},
+    { "_wxWindowDC","_class_wxWindowDC",0},
+    { "_wxScrollBar","_class_wxScrollBar",0},
+    { "_wxSpinButton","_class_wxSpinButton",0},
+    { "_wxToolBarTool","_class_wxToolBarTool",0},
+    { "_wxColourDialog","_class_wxColourDialog",0},
+    { "_wxPrintData","_class_wxPrintData",0},
+    { "_class_wxIndividualLayoutConstraint","_wxIndividualLayoutConstraint",0},
+    { "_class_wxNotifyEvent","_wxNotifyEvent",0},
+    { "_wxMessageDialog","_class_wxMessageDialog",0},
+    { "_class_wxPyEvent","_wxPyEvent",0},
+    { "_wxTextEntryDialog","_class_wxTextEntryDialog",0},
+    { "_class_wxIconizeEvent","_wxIconizeEvent",0},
+    { "_class_wxStaticBitmap","_wxStaticBitmap",0},
+    { "_class_wxPyDrawnShape","_wxPyDrawnShape",0},
+    { "_wxMDIChildFrame","_class_wxMDIChildFrame",0},
+    { "_wxListItem","_class_wxListItem",0},
+    { "_class_wxPseudoMetaFile","_wxPseudoMetaFile",0},
+    { "_class_wxToolBar","_wxToolBar",0},
+    { "_class_wxStaticLine","_wxStaticLine",0},
+    { "_wxScrollEvent","_class_wxScrollEvent",0},
+    { "_wxCalculateLayoutEvent","_class_wxCalculateLayoutEvent",0},
+    { "_class_wxShapeRegion","_wxShapeRegion",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},
+    { "_wxPyCircleShape","_class_wxPyCircleShape",0},
+    { "_class_wxProgressDialog","_wxProgressDialog",0},
+    { "_wxPyApp","_class_wxPyApp",0},
+    { "_wxMDIParentFrame","_class_wxMDIParentFrame",0},
+    { "_class_wxTreeEvent","_wxTreeEvent",0},
+    { "_class_wxDirDialog","_wxDirDialog",0},
+    { "_wxPyLineShape","_class_wxPyLineShape",0},
+    { "_class_wxPyTimer","_wxPyTimer",0},
+    { "_wxFocusEvent","_class_wxFocusEvent",0},
+    { "_wxMaximizeEvent","_class_wxMaximizeEvent",0},
+    { "_class_wxSpinButton","_wxSpinButton",0},
+    { "_class_wxPyPolygonShape","_wxPyPolygonShape",0},
+    { "_wxAcceleratorEntry","_class_wxAcceleratorEntry",0},
+    { "_class_wxPanel","_wxPanel",0},
+    { "_class_wxCheckBox","_wxCheckBox",0},
+    { "_wxComboBox","_class_wxComboBox",0},
+    { "_wxRadioButton","_class_wxRadioButton",0},
+    { "_class_wxMessageDialog","_wxMessageDialog",0},
+    { "_signed_int","_wxPrintQuality",0},
+    { "_signed_int","_EBool",0},
+    { "_signed_int","_wxWindowID",0},
+    { "_signed_int","_int",0},
+    { "_class_wxTextCtrl","_wxTextCtrl",0},
+    { "_wxLayoutConstraints","_class_wxLayoutConstraints",0},
+    { "_wxMetaFileDC","_class_wxMetaFileDC",0},
+    { "_wxMenu","_class_wxMenu",0},
+    { "_class_wxMoveEvent","_wxMoveEvent",0},
+    { "_wxListBox","_class_wxListBox",0},
+    { "_wxScreenDC","_class_wxScreenDC",0},
+    { "_class_wxMDIChildFrame","_wxMDIChildFrame",0},
+    { "_wxArrowHead","_class_wxArrowHead",0},
+    { "_WXTYPE","_short",0},
+    { "_WXTYPE","_signed_short",0},
+    { "_WXTYPE","_unsigned_short",0},
+    { "_wxFileDialog","_class_wxFileDialog",0},
+    { "_class_wxMDIClientWindow","_wxMDIClientWindow",0},
+    { "_class_wxBrush","_wxBrush",0},
+    { "_unsigned_short","_WXTYPE",0},
+    { "_unsigned_short","_short",0},
+    { "_class_wxWindow","_wxWindow",0},
+    { "_wxSplitterWindow","_class_wxSplitterWindow",0},
+    { "_class_wxStaticText","_wxStaticText",0},
+    { "_wxPrintDialogData","_class_wxPrintDialogData",0},
+    { "_class_wxFont","_wxFont",0},
+    { "_class_wxCloseEvent","_wxCloseEvent",0},
+    { "_wxSashEvent","_class_wxSashEvent",0},
+    { "_class_wxMenuEvent","_wxMenuEvent",0},
+    { "_class_wxPyCircleShape","_wxPyCircleShape",0},
+    { "_wxClientDC","_class_wxClientDC",0},
+    { "_wxMouseEvent","_class_wxMouseEvent",0},
+    { "_wxListCtrl","_class_wxListCtrl",0},
+    { "_wxSingleChoiceDialog","_class_wxSingleChoiceDialog",0},
+    { "_wxPyDividedShape","_class_wxPyDividedShape",0},
+    { "_class_wxPoint","_wxPoint",0},
+    { "_wxRealPoint","_class_wxRealPoint",0},
+    { "_class_wxRadioBox","_wxRadioBox",0},
+    { "_wxGridCell","_class_wxGridCell",0},
+    { "_signed_short","_WXTYPE",0},
+    { "_signed_short","_short",0},
+    { "_wxMemoryDC","_class_wxMemoryDC",0},
+    { "_class_wxTaskBarIcon","_wxTaskBarIcon",0},
+    { "_class_wxPrintDialog","_wxPrintDialog",0},
+    { "_wxPaintDC","_class_wxPaintDC",0},
+    { "_class_wxWindowDC","_wxWindowDC",0},
+    { "_class_wxFocusEvent","_wxFocusEvent",0},
+    { "_class_wxMaximizeEvent","_wxMaximizeEvent",0},
+    { "_wxStatusBar","_class_wxStatusBar",0},
+    { "_class_wxToolBarTool","_wxToolBarTool",0},
+    { "_class_wxAcceleratorEntry","_wxAcceleratorEntry",0},
+    { "_class_wxCursor","_wxCursor",0},
+    { "_class_wxImageHandler","_wxImageHandler",0},
+    { "_wxPyShape","_class_wxPyTextShape",SwigwxPyTextShapeTowxPyShape},
+    { "_wxPyShape","_wxPyTextShape",SwigwxPyTextShapeTowxPyShape},
+    { "_wxPyShape","_class_wxPyPolygonShape",SwigwxPyPolygonShapeTowxPyShape},
+    { "_wxPyShape","_wxPyPolygonShape",SwigwxPyPolygonShapeTowxPyShape},
+    { "_wxPyShape","_class_wxPyLineShape",SwigwxPyLineShapeTowxPyShape},
+    { "_wxPyShape","_wxPyLineShape",SwigwxPyLineShapeTowxPyShape},
+    { "_wxPyShape","_class_wxPyCircleShape",SwigwxPyCircleShapeTowxPyShape},
+    { "_wxPyShape","_wxPyCircleShape",SwigwxPyCircleShapeTowxPyShape},
+    { "_wxPyShape","_class_wxPyEllipseShape",SwigwxPyEllipseShapeTowxPyShape},
+    { "_wxPyShape","_wxPyEllipseShape",SwigwxPyEllipseShapeTowxPyShape},
+    { "_wxPyShape","_class_wxPyShape",0},
+    { "_wxScrolledWindow","_class_wxScrolledWindow",0},
+    { "_wxTreeItemId","_class_wxTreeItemId",0},
+    { "_unsigned_char","_byte",0},
+    { "_class_wxMetaFileDC","_wxMetaFileDC",0},
+    { "_class_wxMenu","_wxMenu",0},
+    { "_wxControl","_class_wxControl",0},
+    { "_class_wxListBox","_wxListBox",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},
+    { "_class_wxPen","_wxPen",0},
+    { "_class_wxFileDialog","_wxFileDialog",0},
+    { "_wxQueryLayoutInfoEvent","_class_wxQueryLayoutInfoEvent",0},
+    { "_short","_WXTYPE",0},
+    { "_short","_unsigned_short",0},
+    { "_short","_signed_short",0},
+    { "_class_wxStaticBox","_wxStaticBox",0},
+    { "_wxLayoutAlgorithm","_class_wxLayoutAlgorithm",0},
+    { "_wxPyTextShape","_class_wxPyTextShape",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},
+    { "_wxPyDivisionShape","_class_wxPyDivisionShape",0},
+    { "_class_wxNotebook","_wxNotebook",0},
+    { "_wxJPEGHandler","_class_wxJPEGHandler",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","_wxPrintQuality",0},
+    { "_int","_size_t",0},
+    { "_int","_EBool",0},
+    { "_int","_uint",0},
+    { "_int","_wxWindowID",0},
+    { "_int","_unsigned_int",0},
+    { "_int","_signed_int",0},
+    { "_class_wxMouseEvent","_wxMouseEvent",0},
+    { "_class_wxListEvent","_wxListEvent",0},
+    { "_class_wxPrintPreview","_wxPrintPreview",0},
+    { "_class_wxSpinEvent","_wxSpinEvent",0},
+    { "_wxButton","_class_wxButton",0},
+    { "_class_wxPyApp","_wxPyApp",0},
+    { "_wxSize","_class_wxSize",0},
+    { "_wxRegionIterator","_class_wxRegionIterator",0},
+    { "_class_wxPrinterDC","_wxPrinterDC",0},
+    { "_class_wxMDIParentFrame","_wxMDIParentFrame",0},
+    { "_wxPyTreeItemData","_class_wxPyTreeItemData",0},
+    { "_class_wxPyLineShape","_wxPyLineShape",0},
+    { "_class_wxPaintDC","_wxPaintDC",0},
+    { "_class_wxSysColourChangedEvent","_wxSysColourChangedEvent",0},
+    { "_class_wxInitDialogEvent","_wxInitDialogEvent",0},
+    { "_class_wxComboBox","_wxComboBox",0},
+    { "_class_wxRadioButton","_wxRadioButton",0},
+    { "_class_wxPyShape","_class_wxPyTextShape",SwigwxPyTextShapeTowxPyShape},
+    { "_class_wxPyShape","_wxPyTextShape",SwigwxPyTextShapeTowxPyShape},
+    { "_class_wxPyShape","_class_wxPyPolygonShape",SwigwxPyPolygonShapeTowxPyShape},
+    { "_class_wxPyShape","_wxPyPolygonShape",SwigwxPyPolygonShapeTowxPyShape},
+    { "_class_wxPyShape","_class_wxPyLineShape",SwigwxPyLineShapeTowxPyShape},
+    { "_class_wxPyShape","_wxPyLineShape",SwigwxPyLineShapeTowxPyShape},
+    { "_class_wxPyShape","_class_wxPyCircleShape",SwigwxPyCircleShapeTowxPyShape},
+    { "_class_wxPyShape","_wxPyCircleShape",SwigwxPyCircleShapeTowxPyShape},
+    { "_class_wxPyShape","_class_wxPyEllipseShape",SwigwxPyEllipseShapeTowxPyShape},
+    { "_class_wxPyShape","_wxPyEllipseShape",SwigwxPyEllipseShapeTowxPyShape},
+    { "_class_wxPyShape","_wxPyShape",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},
+    { "_wxPyDrawnShape","_class_wxPyDrawnShape",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},
+    { "_wxActivateEvent","_class_wxActivateEvent",0},
+    { "_wxGauge","_class_wxGauge",0},
+    { "_class_wxCheckListBox","_wxCheckListBox",0},
+    { "_class_wxGridEvent","_wxGridEvent",0},
+    { "_class_wxCommandEvent","_wxCommandEvent",0},
+    { "_class_wxClientDC","_wxClientDC",0},
+    { "_class_wxSizeEvent","_wxSizeEvent",0},
+    { "_class_wxListCtrl","_wxListCtrl",0},
+    { "_class_wxPyDividedShape","_wxPyDividedShape",0},
+    { "_wxPyEllipseShape","_class_wxPyCircleShape",SwigwxPyCircleShapeTowxPyEllipseShape},
+    { "_wxPyEllipseShape","_wxPyCircleShape",SwigwxPyCircleShapeTowxPyEllipseShape},
+    { "_wxPyEllipseShape","_class_wxPyEllipseShape",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},
+    { "_wxPyShapeEvtHandler","_class_wxPyTextShape",SwigwxPyTextShapeTowxPyShapeEvtHandler},
+    { "_wxPyShapeEvtHandler","_wxPyTextShape",SwigwxPyTextShapeTowxPyShapeEvtHandler},
+    { "_wxPyShapeEvtHandler","_class_wxPyPolygonShape",SwigwxPyPolygonShapeTowxPyShapeEvtHandler},
+    { "_wxPyShapeEvtHandler","_wxPyPolygonShape",SwigwxPyPolygonShapeTowxPyShapeEvtHandler},
+    { "_wxPyShapeEvtHandler","_class_wxPyLineShape",SwigwxPyLineShapeTowxPyShapeEvtHandler},
+    { "_wxPyShapeEvtHandler","_wxPyLineShape",SwigwxPyLineShapeTowxPyShapeEvtHandler},
+    { "_wxPyShapeEvtHandler","_class_wxPyCircleShape",SwigwxPyCircleShapeTowxPyShapeEvtHandler},
+    { "_wxPyShapeEvtHandler","_wxPyCircleShape",SwigwxPyCircleShapeTowxPyShapeEvtHandler},
+    { "_wxPyShapeEvtHandler","_class_wxPyEllipseShape",SwigwxPyEllipseShapeTowxPyShapeEvtHandler},
+    { "_wxPyShapeEvtHandler","_wxPyEllipseShape",SwigwxPyEllipseShapeTowxPyShapeEvtHandler},
+    { "_wxPyShapeEvtHandler","_class_wxPyShapeEvtHandler",0},
+    { "_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},
+    { "_wxPyRectangleShape","_class_wxPyTextShape",SwigwxPyTextShapeTowxPyRectangleShape},
+    { "_wxPyRectangleShape","_wxPyTextShape",SwigwxPyTextShapeTowxPyRectangleShape},
+    { "_wxPyRectangleShape","_class_wxPyRectangleShape",0},
+    { "_class_wxScrolledWindow","_wxScrolledWindow",0},
+    { "_class_wxTextEntryDialog","_wxTextEntryDialog",0},
+    { "_wxKeyEvent","_class_wxKeyEvent",0},
+    { "_wxMoveEvent","_class_wxMoveEvent",0},
+    { "_wxOGLConstraint","_class_wxOGLConstraint",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_wxPyTextShape","_wxPyTextShape",0},
+    { "_class_wxFontDialog","_wxFontDialog",0},
+    { "_wxWindow","_class_wxWindow",0},
+    { "_class_wxFrame","_wxFrame",0},
+{0,0,0}};
+
+static PyObject *SWIG_globals;
+#ifdef __cplusplus
+extern "C" 
+#endif
+SWIGEXPORT(void) initoglshapes2c() {
+        PyObject *m, *d;
+        SWIG_globals = SWIG_newvarlink();
+        m = Py_InitModule("oglshapes2c", oglshapes2cMethods);
+        d = PyModule_GetDict(m);
+{
+   int i;
+   for (i = 0; _swig_mapping[i].n1; i++)
+        SWIG_RegisterMapping(_swig_mapping[i].n1,_swig_mapping[i].n2,_swig_mapping[i].pcnv);
+}
+}