/*
 * FILE : src/gtk/gdi.cpp
 * 
 * This file was automatically generated by :
 * Simplified Wrapper and Interface Generator (SWIG)
 * Version 1.1 (Build 883)
 * 
 * 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 "Python.h"

#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
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    initgdic

#define SWIG_name    "gdic"

#include "helpers.h"
#include <wx/imaglist.h>
#include <wx/fontmap.h>
#include <wx/fontenc.h>
#include <wx/fontmap.h>
#include <wx/fontutil.h>
#include <wx/dcbuffer.h>
#include <wx/iconbndl.h>


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;
}

    // Put some wx default wxChar* values into wxStrings.
    static const wxString wxPyEmptyString(wxT(""));
 // Implementations of some alternate "constructors"

    wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1) {
        return new wxBitmap(width, height, depth);
    }

    static char** ConvertListOfStrings(PyObject* listOfStrings) {
        char**    cArray = NULL;
        int       count;

        if (!PyList_Check(listOfStrings)) {
            PyErr_SetString(PyExc_TypeError, "Expected a list of strings.");
            return NULL;
        }
        count = PyList_Size(listOfStrings);
        cArray = new char*[count];

        for(int x=0; x<count; x++) {
            // TODO: Need some validation and error checking here
            cArray[x] = PyString_AsString(PyList_GET_ITEM(listOfStrings, x));
        }
        return cArray;
    }


    wxBitmap* wxBitmapFromXPMData(PyObject* listOfStrings) {
        char**    cArray = NULL;
        wxBitmap* bmp;

        cArray = ConvertListOfStrings(listOfStrings);
        if (! cArray)
            return NULL;
        bmp = new wxBitmap(cArray);
        delete [] cArray;
        return bmp;
    }


    wxBitmap* wxBitmapFromIcon(const wxIcon& icon) {
        return new wxBitmap(icon);
    }


    wxBitmap* wxBitmapFromBits(PyObject* bits, int width, int height, int depth = 1 ) {
        char* buf;
        int   length;
        PyString_AsStringAndSize(bits, &buf, &length);
        return new wxBitmap(buf, width, height, depth);
    }


//  #ifdef __WXMSW__
//      wxBitmap* wxBitmapFromData(PyObject* data, long type,
//                                 int width, int height, int depth = 1) {
//          if (! PyString_Check(data)) {
//              PyErr_SetString(PyExc_TypeError, "Expected string object");
//              return NULL;
//          }
//          return new wxBitmap((void*)PyString_AsString(data), type, width, height, depth);
//      }
//  #endif

    wxMask* wxMaskColour(const wxBitmap& bitmap, const wxColour& colour) {
        return new wxMask(bitmap, colour);
    }
 // Implementations of some alternate "constructors"
    wxIcon* wxEmptyIcon() {
        return new wxIcon();
    }

    wxIcon* wxIconFromXPMData(PyObject* listOfStrings) {
        char**  cArray = NULL;
        wxIcon* icon;

        cArray = ConvertListOfStrings(listOfStrings);
        if (! cArray)
            return NULL;
        icon = new wxIcon(cArray);
        delete [] cArray;
        return icon;
    }

    wxIcon* wxIconFromBitmap(const wxBitmap& bmp) {
        wxIcon* icon = new wxIcon();
        icon->CopyFromBitmap(bmp);
        return icon;
    }

    wxCursor* wxPyStockCursor(int id) {
        return new wxCursor(id);
    }

    wxCursor* wxCursorFromImage(const wxImage& image) {
        return new wxCursor(image);
    }

    wxCursor* wxCursorFromBits(PyObject* bits, int width, int  height,
                               int hotSpotX=-1, int hotSpotY=-1,
                               PyObject* maskBits=0) {
        char* bitsbuf;
        char* maskbuf = NULL;
        int   length;
        PyString_AsStringAndSize(bits, &bitsbuf, &length);
        if (maskBits)
            PyString_AsStringAndSize(maskBits, &maskbuf, &length);
        return new wxCursor(bitsbuf, width, height, hotSpotX, hotSpotY, maskbuf);
    }
                                      // Alternate 'constructor'
    wxColour* wxNamedColour(const wxString& colorName) {
        return new wxColour(colorName);
    }

class wxPyPen : public wxPen {
public:
    wxPyPen(wxColour& colour, int width=1, int style=wxSOLID)
        : wxPen(colour, width, style)
        { m_dash = NULL; }
    ~wxPyPen() {
        if (m_dash)
            delete [] m_dash;
    }

    void SetDashes(int nb_dashes, const wxDash *dash) {
        if (m_dash)
            delete [] m_dash;
        m_dash = new wxDash[nb_dashes];
        for (int i=0; i<nb_dashes; i++) {
            m_dash[i] = dash[i];
        }
        wxPen::SetDashes(nb_dashes, m_dash);
    }

private:
    wxDash* m_dash;
};

static void wxDC_GetBoundingBox(wxDC* dc, int* x1, int* y1, int* x2, int* y2) {
    *x1 = dc->MinX();
    *y1 = dc->MinY();
    *x2 = dc->MaxX();
    *y2 = dc->MaxY();
}
                                      // Alternate 'constructor'
    wxMemoryDC* wxMemoryDCFromDC(wxDC* oldDC) {
        return new wxMemoryDC(oldDC);
    }

#if 0
extern wxFont * wxNORMAL_FONT; 
extern wxFont * wxSMALL_FONT; 
extern wxFont * wxITALIC_FONT; 
extern wxFont * wxSWISS_FONT; 
extern wxPen * wxRED_PEN; 
extern wxPen * wxCYAN_PEN; 
extern wxPen * wxGREEN_PEN; 
extern wxPen * wxBLACK_PEN; 
extern wxPen * wxWHITE_PEN; 
extern wxPen * wxTRANSPARENT_PEN; 
extern wxPen * wxBLACK_DASHED_PEN; 
extern wxPen * wxGREY_PEN; 
extern wxPen * wxMEDIUM_GREY_PEN; 
extern wxPen * wxLIGHT_GREY_PEN; 
extern wxBrush * wxBLUE_BRUSH; 
extern wxBrush * wxGREEN_BRUSH; 
extern wxBrush * wxWHITE_BRUSH; 
extern wxBrush * wxBLACK_BRUSH; 
extern wxBrush * wxTRANSPARENT_BRUSH; 
extern wxBrush * wxCYAN_BRUSH; 
extern wxBrush * wxRED_BRUSH; 
extern wxBrush * wxGREY_BRUSH; 
extern wxBrush * wxMEDIUM_GREY_BRUSH; 
extern wxBrush * wxLIGHT_GREY_BRUSH; 
extern wxColour * wxBLACK; 
extern wxColour * wxWHITE; 
extern wxColour * wxRED; 
extern wxColour * wxBLUE; 
extern wxColour * wxGREEN; 
extern wxColour * wxCYAN; 
extern wxColour * wxLIGHT_GREY; 
extern wxCursor * wxSTANDARD_CURSOR; 
extern wxCursor * wxHOURGLASS_CURSOR; 
extern wxCursor * wxCROSS_CURSOR; 
extern wxBitmap  wxNullBitmap; 
extern wxIcon  wxNullIcon; 
extern wxCursor  wxNullCursor; 
extern wxPen  wxNullPen; 
extern wxBrush  wxNullBrush; 
extern wxPalette  wxNullPalette; 
extern wxFont  wxNullFont; 
extern wxColour  wxNullColour; 
extern wxFontList * wxTheFontList; 
extern wxPenList * wxThePenList; 
extern wxBrushList * wxTheBrushList; 
extern wxColourDatabase * wxTheColourDatabase; 

#endif
#ifdef __cplusplus
extern "C" {
#endif
static PyObject *_wrap_wxEmptyBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _result;
    int  _arg0;
    int  _arg1;
    int  _arg2 = (int ) -1;
    char *_kwnames[] = { "width","height","depth", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii|i:wxEmptyBitmap",_kwnames,&_arg0,&_arg1,&_arg2)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxBitmap *)wxEmptyBitmap(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static PyObject *_wrap_wxBitmapFromXPMData(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _result;
    PyObject * _arg0;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "listOfStrings", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmapFromXPMData",_kwnames,&_obj0)) 
        return NULL;
{
  _arg0 = _obj0;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxBitmap *)wxBitmapFromXPMData(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static PyObject *_wrap_wxBitmapFromIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _result;
    wxIcon * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "icon", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmapFromIcon",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapFromIcon. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxBitmap *)wxBitmapFromIcon(*_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static PyObject *_wrap_wxBitmapFromBits(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _result;
    PyObject * _arg0;
    int  _arg1;
    int  _arg2;
    int  _arg3 = (int ) 1;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "bits","width","height","depth", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii|i:wxBitmapFromBits",_kwnames,&_obj0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
{
  _arg0 = _obj0;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxBitmap *)wxBitmapFromBits(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static PyObject *_wrap_wxMaskColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxMask * _result;
    wxBitmap * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "bitmap","colour", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMaskColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMaskColour. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxMask *)wxMaskColour(*_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxMask_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static PyObject *_wrap_wxEmptyIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIcon * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxEmptyIcon",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxIcon *)wxEmptyIcon();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIcon_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static PyObject *_wrap_wxIconFromXPMData(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIcon * _result;
    PyObject * _arg0;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "listOfStrings", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxIconFromXPMData",_kwnames,&_obj0)) 
        return NULL;
{
  _arg0 = _obj0;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxIcon *)wxIconFromXPMData(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIcon_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static PyObject *_wrap_wxIconFromBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIcon * _result;
    wxBitmap * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "bmp", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxIconFromBitmap",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIconFromBitmap. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxIcon *)wxIconFromBitmap(*_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIcon_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static PyObject *_wrap_wxStockCursor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCursor * _result;
    int  _arg0;
    char *_kwnames[] = { "id", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:wxStockCursor",_kwnames,&_arg0)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCursor *)wxPyStockCursor(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCursor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static PyObject *_wrap_wxCursorFromImage(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCursor * _result;
    wxImage * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "image", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCursorFromImage",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImage_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCursorFromImage. Expected _wxImage_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCursor *)wxCursorFromImage(*_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCursor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static PyObject *_wrap_wxCursorFromBits(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCursor * _result;
    PyObject * _arg0;
    int  _arg1;
    int  _arg2;
    int  _arg3 = (int ) -1;
    int  _arg4 = (int ) -1;
    PyObject * _arg5 = (PyObject *) 0;
    PyObject * _obj0 = 0;
    PyObject * _obj5 = 0;
    char *_kwnames[] = { "bits","width","height","hotSpotX","hotSpotY","maskBits", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii|iiO:wxCursorFromBits",_kwnames,&_obj0,&_arg1,&_arg2,&_arg3,&_arg4,&_obj5)) 
        return NULL;
{
  _arg0 = _obj0;
}
    if (_obj5)
{
  _arg5 = _obj5;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCursor *)wxCursorFromBits(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCursor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static PyObject *_wrap_wxNamedColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxString * _arg0;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "colorName", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxNamedColour",_kwnames,&_obj0)) 
        return NULL;
{
    _arg0 = wxString_in_helper(_obj0);
    if (_arg0 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxColour *)wxNamedColour(*_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxColour_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    if (_obj0)
        delete _arg0;
}
    return _resultobj;
}

static PyObject *_wrap_wxMemoryDCFromDC(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxMemoryDC * _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "oldDC", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMemoryDCFromDC",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMemoryDCFromDC. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxMemoryDC *)wxMemoryDCFromDC(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxMemoryDC_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static int _wrap_wxNORMAL_FONT_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxNORMAL_FONT is read-only.");
    return 1;
}

static PyObject *_wrap_wxNORMAL_FONT_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxNORMAL_FONT,"_wxFont_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxSMALL_FONT_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxSMALL_FONT is read-only.");
    return 1;
}

static PyObject *_wrap_wxSMALL_FONT_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxSMALL_FONT,"_wxFont_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxITALIC_FONT_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxITALIC_FONT is read-only.");
    return 1;
}

static PyObject *_wrap_wxITALIC_FONT_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxITALIC_FONT,"_wxFont_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxSWISS_FONT_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxSWISS_FONT is read-only.");
    return 1;
}

static PyObject *_wrap_wxSWISS_FONT_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxSWISS_FONT,"_wxFont_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxRED_PEN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxRED_PEN is read-only.");
    return 1;
}

static PyObject *_wrap_wxRED_PEN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxRED_PEN,"_wxPen_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxCYAN_PEN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxCYAN_PEN is read-only.");
    return 1;
}

static PyObject *_wrap_wxCYAN_PEN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxCYAN_PEN,"_wxPen_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxGREEN_PEN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxGREEN_PEN is read-only.");
    return 1;
}

static PyObject *_wrap_wxGREEN_PEN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxGREEN_PEN,"_wxPen_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxBLACK_PEN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxBLACK_PEN is read-only.");
    return 1;
}

static PyObject *_wrap_wxBLACK_PEN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxBLACK_PEN,"_wxPen_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxWHITE_PEN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxWHITE_PEN is read-only.");
    return 1;
}

static PyObject *_wrap_wxWHITE_PEN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxWHITE_PEN,"_wxPen_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxTRANSPARENT_PEN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxTRANSPARENT_PEN is read-only.");
    return 1;
}

static PyObject *_wrap_wxTRANSPARENT_PEN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxTRANSPARENT_PEN,"_wxPen_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxBLACK_DASHED_PEN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxBLACK_DASHED_PEN is read-only.");
    return 1;
}

static PyObject *_wrap_wxBLACK_DASHED_PEN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxBLACK_DASHED_PEN,"_wxPen_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxGREY_PEN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxGREY_PEN is read-only.");
    return 1;
}

static PyObject *_wrap_wxGREY_PEN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxGREY_PEN,"_wxPen_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxMEDIUM_GREY_PEN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxMEDIUM_GREY_PEN is read-only.");
    return 1;
}

static PyObject *_wrap_wxMEDIUM_GREY_PEN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxMEDIUM_GREY_PEN,"_wxPen_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxLIGHT_GREY_PEN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxLIGHT_GREY_PEN is read-only.");
    return 1;
}

static PyObject *_wrap_wxLIGHT_GREY_PEN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxLIGHT_GREY_PEN,"_wxPen_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxBLUE_BRUSH_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxBLUE_BRUSH is read-only.");
    return 1;
}

static PyObject *_wrap_wxBLUE_BRUSH_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxBLUE_BRUSH,"_wxBrush_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxGREEN_BRUSH_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxGREEN_BRUSH is read-only.");
    return 1;
}

static PyObject *_wrap_wxGREEN_BRUSH_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxGREEN_BRUSH,"_wxBrush_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxWHITE_BRUSH_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxWHITE_BRUSH is read-only.");
    return 1;
}

static PyObject *_wrap_wxWHITE_BRUSH_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxWHITE_BRUSH,"_wxBrush_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxBLACK_BRUSH_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxBLACK_BRUSH is read-only.");
    return 1;
}

static PyObject *_wrap_wxBLACK_BRUSH_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxBLACK_BRUSH,"_wxBrush_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxTRANSPARENT_BRUSH_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxTRANSPARENT_BRUSH is read-only.");
    return 1;
}

static PyObject *_wrap_wxTRANSPARENT_BRUSH_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxTRANSPARENT_BRUSH,"_wxBrush_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxCYAN_BRUSH_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxCYAN_BRUSH is read-only.");
    return 1;
}

static PyObject *_wrap_wxCYAN_BRUSH_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxCYAN_BRUSH,"_wxBrush_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxRED_BRUSH_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxRED_BRUSH is read-only.");
    return 1;
}

static PyObject *_wrap_wxRED_BRUSH_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxRED_BRUSH,"_wxBrush_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxGREY_BRUSH_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxGREY_BRUSH is read-only.");
    return 1;
}

static PyObject *_wrap_wxGREY_BRUSH_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxGREY_BRUSH,"_wxBrush_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxMEDIUM_GREY_BRUSH_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxMEDIUM_GREY_BRUSH is read-only.");
    return 1;
}

static PyObject *_wrap_wxMEDIUM_GREY_BRUSH_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxMEDIUM_GREY_BRUSH,"_wxBrush_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxLIGHT_GREY_BRUSH_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxLIGHT_GREY_BRUSH is read-only.");
    return 1;
}

static PyObject *_wrap_wxLIGHT_GREY_BRUSH_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxLIGHT_GREY_BRUSH,"_wxBrush_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxBLACK_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxBLACK is read-only.");
    return 1;
}

static PyObject *_wrap_wxBLACK_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxBLACK,"_wxColour_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxWHITE_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxWHITE is read-only.");
    return 1;
}

static PyObject *_wrap_wxWHITE_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxWHITE,"_wxColour_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxRED_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxRED is read-only.");
    return 1;
}

static PyObject *_wrap_wxRED_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxRED,"_wxColour_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxBLUE_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxBLUE is read-only.");
    return 1;
}

static PyObject *_wrap_wxBLUE_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxBLUE,"_wxColour_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxGREEN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxGREEN is read-only.");
    return 1;
}

static PyObject *_wrap_wxGREEN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxGREEN,"_wxColour_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxCYAN_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxCYAN is read-only.");
    return 1;
}

static PyObject *_wrap_wxCYAN_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxCYAN,"_wxColour_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxLIGHT_GREY_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxLIGHT_GREY is read-only.");
    return 1;
}

static PyObject *_wrap_wxLIGHT_GREY_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxLIGHT_GREY,"_wxColour_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxSTANDARD_CURSOR_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxSTANDARD_CURSOR is read-only.");
    return 1;
}

static PyObject *_wrap_wxSTANDARD_CURSOR_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxSTANDARD_CURSOR,"_wxCursor_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxHOURGLASS_CURSOR_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxHOURGLASS_CURSOR is read-only.");
    return 1;
}

static PyObject *_wrap_wxHOURGLASS_CURSOR_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxHOURGLASS_CURSOR,"_wxCursor_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxCROSS_CURSOR_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxCROSS_CURSOR is read-only.");
    return 1;
}

static PyObject *_wrap_wxCROSS_CURSOR_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxCROSS_CURSOR,"_wxCursor_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxNullBitmap_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxNullBitmap is read-only.");
    return 1;
}

static PyObject *_wrap_wxNullBitmap_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp,(char *) &wxNullBitmap,"_wxBitmap_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxNullIcon_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxNullIcon is read-only.");
    return 1;
}

static PyObject *_wrap_wxNullIcon_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp,(char *) &wxNullIcon,"_wxIcon_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxNullCursor_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxNullCursor is read-only.");
    return 1;
}

static PyObject *_wrap_wxNullCursor_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp,(char *) &wxNullCursor,"_wxCursor_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxNullPen_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxNullPen is read-only.");
    return 1;
}

static PyObject *_wrap_wxNullPen_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp,(char *) &wxNullPen,"_wxPen_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxNullBrush_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxNullBrush is read-only.");
    return 1;
}

static PyObject *_wrap_wxNullBrush_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp,(char *) &wxNullBrush,"_wxBrush_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxNullPalette_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxNullPalette is read-only.");
    return 1;
}

static PyObject *_wrap_wxNullPalette_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp,(char *) &wxNullPalette,"_wxPalette_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxNullFont_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxNullFont is read-only.");
    return 1;
}

static PyObject *_wrap_wxNullFont_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp,(char *) &wxNullFont,"_wxFont_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxNullColour_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxNullColour is read-only.");
    return 1;
}

static PyObject *_wrap_wxNullColour_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp,(char *) &wxNullColour,"_wxColour_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxTheFontList_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxTheFontList is read-only.");
    return 1;
}

static PyObject *_wrap_wxTheFontList_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxTheFontList,"_wxFontList_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxThePenList_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxThePenList is read-only.");
    return 1;
}

static PyObject *_wrap_wxThePenList_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxThePenList,"_wxPenList_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxTheBrushList_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxTheBrushList is read-only.");
    return 1;
}

static PyObject *_wrap_wxTheBrushList_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxTheBrushList,"_wxBrushList_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxTheColourDatabase_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxTheColourDatabase is read-only.");
    return 1;
}

static PyObject *_wrap_wxTheColourDatabase_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp, (char *) wxTheColourDatabase,"_wxColourDatabase_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static void *SwigwxGDIObjectTowxObject(void *ptr) {
    wxGDIObject *src;
    wxObject *dest;
    src = (wxGDIObject *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxGDIObject() (new wxGDIObject())
static PyObject *_wrap_new_wxGDIObject(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGDIObject * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxGDIObject",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGDIObject *)new_wxGDIObject();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGDIObject_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define delete_wxGDIObject(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxGDIObject(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGDIObject * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxGDIObject",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGDIObject_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxGDIObject. Expected _wxGDIObject_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxGDIObject(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGDIObject_GetVisible(_swigobj)  (_swigobj->GetVisible())
static PyObject *_wrap_wxGDIObject_GetVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGDIObject * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGDIObject_GetVisible",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGDIObject_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGDIObject_GetVisible. Expected _wxGDIObject_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGDIObject_GetVisible(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGDIObject_SetVisible(_swigobj,_swigarg0)  (_swigobj->SetVisible(_swigarg0))
static PyObject *_wrap_wxGDIObject_SetVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGDIObject * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","visible", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGDIObject_SetVisible",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGDIObject_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGDIObject_SetVisible. Expected _wxGDIObject_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGDIObject_SetVisible(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGDIObject_IsNull(_swigobj)  (_swigobj->IsNull())
static PyObject *_wrap_wxGDIObject_IsNull(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGDIObject * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGDIObject_IsNull",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGDIObject_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGDIObject_IsNull. Expected _wxGDIObject_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGDIObject_IsNull(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxBitmapTowxGDIObject(void *ptr) {
    wxBitmap *src;
    wxGDIObject *dest;
    src = (wxBitmap *) ptr;
    dest = (wxGDIObject *) src;
    return (void *) dest;
}

static void *SwigwxBitmapTowxObject(void *ptr) {
    wxBitmap *src;
    wxObject *dest;
    src = (wxBitmap *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxBitmap(_swigarg0,_swigarg1) (new wxBitmap(_swigarg0,_swigarg1))
static PyObject *_wrap_new_wxBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _result;
    wxString * _arg0;
    wxBitmapType  _arg1 = (wxBitmapType ) wxBITMAP_TYPE_ANY;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "name","type", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:new_wxBitmap",_kwnames,&_obj0,&_arg1)) 
        return NULL;
{
    _arg0 = wxString_in_helper(_obj0);
    if (_arg0 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxBitmap *)new_wxBitmap(*_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    if (_obj0)
        delete _arg0;
}
    return _resultobj;
}

#define delete_wxBitmap(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxBitmap",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxBitmap. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxBitmap(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxBitmap_GetPalette(_swigobj)  (_swigobj->GetPalette())
static PyObject *_wrap_wxBitmap_GetPalette(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPalette * _result;
    wxBitmap * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmap_GetPalette",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_GetPalette. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxPalette *)wxBitmap_GetPalette(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPalette_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxBitmap_GetMask(_swigobj)  (_swigobj->GetMask())
static PyObject *_wrap_wxBitmap_GetMask(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxMask * _result;
    wxBitmap * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmap_GetMask",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_GetMask. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxMask *)wxBitmap_GetMask(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxMask_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxBitmap_LoadFile(_swigobj,_swigarg0,_swigarg1)  (_swigobj->LoadFile(_swigarg0,_swigarg1))
static PyObject *_wrap_wxBitmap_LoadFile(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxBitmap * _arg0;
    wxString * _arg1;
    wxBitmapType  _arg2 = (wxBitmapType ) wxBITMAP_TYPE_ANY;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","name","type", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxBitmap_LoadFile",_kwnames,&_argo0,&_obj1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_LoadFile. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxBitmap_LoadFile(_arg0,*_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxBitmap_SaveFile(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SaveFile(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxBitmap_SaveFile(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxBitmap * _arg0;
    wxString * _arg1;
    wxBitmapType  _arg2;
    wxPalette * _arg3 = (wxPalette *) NULL;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    PyObject * _argo3 = 0;
    char *_kwnames[] = { "self","name","type","palette", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi|O:wxBitmap_SaveFile",_kwnames,&_argo0,&_obj1,&_arg2,&_argo3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_SaveFile. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
    if (_argo3) {
        if (_argo3 == Py_None) { _arg3 = NULL; }
        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPalette_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxBitmap_SaveFile. Expected _wxPalette_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxBitmap_SaveFile(_arg0,*_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxBitmap_SetMask(_swigobj,_swigarg0)  (_swigobj->SetMask(_swigarg0))
static PyObject *_wrap_wxBitmap_SetMask(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _arg0;
    wxMask * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","mask", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBitmap_SetMask",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_SetMask. Expected _wxBitmap_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxMask_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxBitmap_SetMask. Expected _wxMask_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxBitmap_SetMask(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxBitmap_Ok(_swigobj)  (_swigobj->Ok())
static PyObject *_wrap_wxBitmap_Ok(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxBitmap * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmap_Ok",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_Ok. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxBitmap_Ok(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxBitmap_GetWidth(_swigobj)  (_swigobj->GetWidth())
static PyObject *_wrap_wxBitmap_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxBitmap * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmap_GetWidth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_GetWidth. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxBitmap_GetWidth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxBitmap_GetHeight(_swigobj)  (_swigobj->GetHeight())
static PyObject *_wrap_wxBitmap_GetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxBitmap * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmap_GetHeight",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_GetHeight. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxBitmap_GetHeight(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxBitmap_GetDepth(_swigobj)  (_swigobj->GetDepth())
static PyObject *_wrap_wxBitmap_GetDepth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxBitmap * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmap_GetDepth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_GetDepth. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxBitmap_GetDepth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxBitmap_SetWidth(_swigobj,_swigarg0)  (_swigobj->SetWidth(_swigarg0))
static PyObject *_wrap_wxBitmap_SetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","w", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxBitmap_SetWidth",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_SetWidth. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxBitmap_SetWidth(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxBitmap_SetHeight(_swigobj,_swigarg0)  (_swigobj->SetHeight(_swigarg0))
static PyObject *_wrap_wxBitmap_SetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","h", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxBitmap_SetHeight",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_SetHeight. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxBitmap_SetHeight(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxBitmap_SetDepth(_swigobj,_swigarg0)  (_swigobj->SetDepth(_swigarg0))
static PyObject *_wrap_wxBitmap_SetDepth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","d", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxBitmap_SetDepth",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_SetDepth. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxBitmap_SetDepth(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxBitmap_GetSubBitmap(_swigobj,_swigarg0)  (_swigobj->GetSubBitmap(_swigarg0))
static PyObject *_wrap_wxBitmap_GetSubBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _result;
    wxBitmap * _arg0;
    wxRect * _arg1;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","rect", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBitmap_GetSubBitmap",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_GetSubBitmap. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxBitmap (wxBitmap_GetSubBitmap(_arg0,*_arg1));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxBitmap_CopyFromIcon(_swigobj,_swigarg0)  (_swigobj->CopyFromIcon(_swigarg0))
static PyObject *_wrap_wxBitmap_CopyFromIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxBitmap * _arg0;
    wxIcon * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","icon", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBitmap_CopyFromIcon",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmap_CopyFromIcon. Expected _wxBitmap_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxBitmap_CopyFromIcon. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxBitmap_CopyFromIcon(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxMaskTowxObject(void *ptr) {
    wxMask *src;
    wxObject *dest;
    src = (wxMask *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxMask(_swigarg0) (new wxMask(_swigarg0))
static PyObject *_wrap_new_wxMask(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxMask * _result;
    wxBitmap * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "bitmap", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxMask",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxMask. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxMask *)new_wxMask(*_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxMask_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void  wxMask_Destroy(wxMask *self) { delete self; }
static PyObject *_wrap_wxMask_Destroy(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxMask * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMask_Destroy",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMask_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMask_Destroy. Expected _wxMask_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxMask_Destroy(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void *SwigwxIconTowxGDIObject(void *ptr) {
    wxIcon *src;
    wxGDIObject *dest;
    src = (wxIcon *) ptr;
    dest = (wxGDIObject *) src;
    return (void *) dest;
}

static void *SwigwxIconTowxObject(void *ptr) {
    wxIcon *src;
    wxObject *dest;
    src = (wxIcon *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxIcon(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxIcon(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_new_wxIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIcon * _result;
    wxString * _arg0;
    long  _arg1;
    int  _arg2 = (int ) -1;
    int  _arg3 = (int ) -1;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "name","flags","desiredWidth","desiredHeight", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol|ii:new_wxIcon",_kwnames,&_obj0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
{
    _arg0 = wxString_in_helper(_obj0);
    if (_arg0 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxIcon *)new_wxIcon(*_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIcon_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    if (_obj0)
        delete _arg0;
}
    return _resultobj;
}

#define delete_wxIcon(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIcon * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxIcon",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxIcon. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxIcon(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxIcon_LoadFile(_swigobj,_swigarg0,_swigarg1)  (_swigobj->LoadFile(_swigarg0,_swigarg1))
static PyObject *_wrap_wxIcon_LoadFile(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxIcon * _arg0;
    wxString * _arg1;
    long  _arg2;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","name","flags", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOl:wxIcon_LoadFile",_kwnames,&_argo0,&_obj1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIcon_LoadFile. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxIcon_LoadFile(_arg0,*_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxIcon_Ok(_swigobj)  (_swigobj->Ok())
static PyObject *_wrap_wxIcon_Ok(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxIcon * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxIcon_Ok",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIcon_Ok. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxIcon_Ok(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxIcon_GetWidth(_swigobj)  (_swigobj->GetWidth())
static PyObject *_wrap_wxIcon_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxIcon * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxIcon_GetWidth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIcon_GetWidth. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxIcon_GetWidth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxIcon_GetHeight(_swigobj)  (_swigobj->GetHeight())
static PyObject *_wrap_wxIcon_GetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxIcon * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxIcon_GetHeight",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIcon_GetHeight. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxIcon_GetHeight(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxIcon_GetDepth(_swigobj)  (_swigobj->GetDepth())
static PyObject *_wrap_wxIcon_GetDepth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxIcon * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxIcon_GetDepth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIcon_GetDepth. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxIcon_GetDepth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxIcon_SetWidth(_swigobj,_swigarg0)  (_swigobj->SetWidth(_swigarg0))
static PyObject *_wrap_wxIcon_SetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIcon * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","w", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxIcon_SetWidth",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIcon_SetWidth. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxIcon_SetWidth(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxIcon_SetHeight(_swigobj,_swigarg0)  (_swigobj->SetHeight(_swigarg0))
static PyObject *_wrap_wxIcon_SetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIcon * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","h", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxIcon_SetHeight",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIcon_SetHeight. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxIcon_SetHeight(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxIcon_SetDepth(_swigobj,_swigarg0)  (_swigobj->SetDepth(_swigarg0))
static PyObject *_wrap_wxIcon_SetDepth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIcon * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","d", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxIcon_SetDepth",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIcon_SetDepth. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxIcon_SetDepth(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxIcon_CopyFromBitmap(_swigobj,_swigarg0)  (_swigobj->CopyFromBitmap(_swigarg0))
static PyObject *_wrap_wxIcon_CopyFromBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIcon * _arg0;
    wxBitmap * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","bmp", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxIcon_CopyFromBitmap",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIcon_CopyFromBitmap. Expected _wxIcon_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxIcon_CopyFromBitmap. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxIcon_CopyFromBitmap(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define new_wxIconBundle() (new wxIconBundle())
static PyObject *_wrap_new_wxIconBundle(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIconBundle * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxIconBundle",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxIconBundle *)new_wxIconBundle();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIconBundle_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define new_wxIconBundleFromFile(_swigarg0,_swigarg1) (new wxIconBundle(_swigarg0,_swigarg1))
static PyObject *_wrap_new_wxIconBundleFromFile(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIconBundle * _result;
    wxString * _arg0;
    long  _arg1;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "file","type", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:new_wxIconBundleFromFile",_kwnames,&_obj0,&_arg1)) 
        return NULL;
{
    _arg0 = wxString_in_helper(_obj0);
    if (_arg0 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxIconBundle *)new_wxIconBundleFromFile(*_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIconBundle_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    if (_obj0)
        delete _arg0;
}
    return _resultobj;
}

#define new_wxIconBundleFromIcon(_swigarg0) (new wxIconBundle(_swigarg0))
static PyObject *_wrap_new_wxIconBundleFromIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIconBundle * _result;
    wxIcon * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "icon", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxIconBundleFromIcon",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxIconBundleFromIcon. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxIconBundle *)new_wxIconBundleFromIcon(*_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIconBundle_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define delete_wxIconBundle(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxIconBundle(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIconBundle * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxIconBundle",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIconBundle_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxIconBundle. Expected _wxIconBundle_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxIconBundle(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxIconBundle_AddIcon(_swigobj,_swigarg0)  (_swigobj->AddIcon(_swigarg0))
static PyObject *_wrap_wxIconBundle_AddIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIconBundle * _arg0;
    wxIcon * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","icon", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxIconBundle_AddIcon",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIconBundle_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIconBundle_AddIcon. Expected _wxIconBundle_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxIconBundle_AddIcon. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxIconBundle_AddIcon(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxIconBundle_AddIconFromFile(_swigobj,_swigarg0,_swigarg1)  (_swigobj->AddIcon(_swigarg0,_swigarg1))
static PyObject *_wrap_wxIconBundle_AddIconFromFile(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIconBundle * _arg0;
    wxString * _arg1;
    long  _arg2;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","file","type", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOl:wxIconBundle_AddIconFromFile",_kwnames,&_argo0,&_obj1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIconBundle_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIconBundle_AddIconFromFile. Expected _wxIconBundle_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxIconBundle_AddIconFromFile(_arg0,*_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxIconBundle_GetIcon(_swigobj,_swigarg0)  (_swigobj->GetIcon(_swigarg0))
static PyObject *_wrap_wxIconBundle_GetIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxIcon * _result;
    wxIconBundle * _arg0;
    wxSize * _arg1;
    PyObject * _argo0 = 0;
    wxSize  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","size", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxIconBundle_GetIcon",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIconBundle_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIconBundle_GetIcon. Expected _wxIconBundle_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxSize_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    const wxIcon & _result_ref = wxIconBundle_GetIcon(_arg0,*_arg1);
    _result = (wxIcon *) &_result_ref;

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIcon_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxCursorTowxGDIObject(void *ptr) {
    wxCursor *src;
    wxGDIObject *dest;
    src = (wxCursor *) ptr;
    dest = (wxGDIObject *) src;
    return (void *) dest;
}

static void *SwigwxCursorTowxObject(void *ptr) {
    wxCursor *src;
    wxObject *dest;
    src = (wxCursor *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

static wxCursor *new_wxCursor(const wxString *cursorName,long flags,int hotSpotX,int hotSpotY) {
#ifdef __WXGTK__
            wxCHECK_MSG(FALSE, NULL,
                        wxT("wxCursor constructor not implemented for wxGTK, use wxStockCursor, wxCursorFromImage, or wxCursorFromBits instead."));
#else
            return new wxCursor(*cursorName, flags, hotSpotX, hotSpotY);
#endif
        }

static PyObject *_wrap_new_wxCursor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCursor * _result;
    wxString * _arg0;
    long  _arg1;
    int  _arg2 = (int ) 0;
    int  _arg3 = (int ) 0;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "cursorName","flags","hotSpotX","hotSpotY", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol|ii:new_wxCursor",_kwnames,&_obj0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
{
    _arg0 = wxString_in_helper(_obj0);
    if (_arg0 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCursor *)new_wxCursor(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCursor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    if (_obj0)
        delete _arg0;
}
    return _resultobj;
}

#define delete_wxCursor(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxCursor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCursor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxCursor",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCursor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxCursor. Expected _wxCursor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxCursor(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxCursor_Ok(_swigobj)  (_swigobj->Ok())
static PyObject *_wrap_wxCursor_Ok(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxCursor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCursor_Ok",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCursor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCursor_Ok. Expected _wxCursor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxCursor_Ok(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxColourTowxObject(void *ptr) {
    wxColour *src;
    wxObject *dest;
    src = (wxColour *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxColour(_swigarg0,_swigarg1,_swigarg2) (new wxColour(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_new_wxColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    unsigned char  _arg0 = (unsigned char ) 0;
    unsigned char  _arg1 = (unsigned char ) 0;
    unsigned char  _arg2 = (unsigned char ) 0;
    char *_kwnames[] = { "red","green","blue", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|bbb:new_wxColour",_kwnames,&_arg0,&_arg1,&_arg2)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxColour *)new_wxColour(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxColour_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define delete_wxColour(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _arg0;
    wxColour  temp;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxColour",_kwnames,&_obj0)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxColour(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxColour_Red(_swigobj)  (_swigobj->Red())
static PyObject *_wrap_wxColour_Red(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    unsigned char  _result;
    wxColour * _arg0;
    wxColour  temp;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxColour_Red",_kwnames,&_obj0)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (unsigned char )wxColour_Red(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("b",_result);
    return _resultobj;
}

#define wxColour_Green(_swigobj)  (_swigobj->Green())
static PyObject *_wrap_wxColour_Green(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    unsigned char  _result;
    wxColour * _arg0;
    wxColour  temp;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxColour_Green",_kwnames,&_obj0)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (unsigned char )wxColour_Green(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("b",_result);
    return _resultobj;
}

#define wxColour_Blue(_swigobj)  (_swigobj->Blue())
static PyObject *_wrap_wxColour_Blue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    unsigned char  _result;
    wxColour * _arg0;
    wxColour  temp;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxColour_Blue",_kwnames,&_obj0)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (unsigned char )wxColour_Blue(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("b",_result);
    return _resultobj;
}

#define wxColour_Ok(_swigobj)  (_swigobj->Ok())
static PyObject *_wrap_wxColour_Ok(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxColour * _arg0;
    wxColour  temp;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxColour_Ok",_kwnames,&_obj0)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxColour_Ok(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxColour_Set(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->Set(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxColour_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _arg0;
    unsigned char  _arg1;
    unsigned char  _arg2;
    unsigned char  _arg3;
    wxColour  temp;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "self","red","green","blue", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Obbb:wxColour_Set",_kwnames,&_obj0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxColour_Set(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static PyObject * wxColour_Get(wxColour *self) {
            PyObject* rv = PyTuple_New(3);
            int red = -1;
            int green = -1;
            int blue = -1;
            if (self->Ok()) {
                red =   self->Red();
                green = self->Green();
                blue =  self->Blue();
            }
            PyTuple_SetItem(rv, 0, PyInt_FromLong(red));
            PyTuple_SetItem(rv, 1, PyInt_FromLong(green));
            PyTuple_SetItem(rv, 2, PyInt_FromLong(blue));
            return rv;
        }
static PyObject *_wrap_wxColour_Get(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    PyObject * _result;
    wxColour * _arg0;
    wxColour  temp;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxColour_Get",_kwnames,&_obj0)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (PyObject *)wxColour_Get(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
  _resultobj = _result;
}
    return _resultobj;
}

static bool  wxColour___eq__(wxColour *self,PyObject * obj) {
            wxColour  tmp;
            wxColour* ptr = &tmp;
            if (obj == Py_None)    return FALSE;
            wxPyBLOCK_THREADS(bool success = wxColour_helper(obj, &ptr); PyErr_Clear());
            if (! success)         return FALSE;
            return *self == *ptr;
        }
static PyObject *_wrap_wxColour___eq__(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxColour * _arg0;
    PyObject * _arg1;
    wxColour  temp;
    PyObject * _obj0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","obj", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxColour___eq__",_kwnames,&_obj0,&_obj1)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
  _arg1 = _obj1;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxColour___eq__(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static bool  wxColour___ne__(wxColour *self,PyObject * obj) {
            wxColour  tmp;
            wxColour* ptr = &tmp;
            if (obj == Py_None)    return TRUE;
            wxPyBLOCK_THREADS(bool success = wxColour_helper(obj, &ptr); PyErr_Clear());
            if (! success)         return TRUE;
            return *self != *ptr;
        }
static PyObject *_wrap_wxColour___ne__(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxColour * _arg0;
    PyObject * _arg1;
    wxColour  temp;
    PyObject * _obj0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","obj", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxColour___ne__",_kwnames,&_obj0,&_obj1)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
  _arg1 = _obj1;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxColour___ne__(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxColourDatabaseTowxObject(void *ptr) {
    wxColourDatabase *src;
    wxObject *dest;
    src = (wxColourDatabase *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define wxColourDatabase_FindColour(_swigobj,_swigarg0)  (_swigobj->FindColour(_swigarg0))
static PyObject *_wrap_wxColourDatabase_FindColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxColourDatabase * _arg0;
    wxString * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","colour", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxColourDatabase_FindColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxColourDatabase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxColourDatabase_FindColour. Expected _wxColourDatabase_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxColour *)wxColourDatabase_FindColour(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxColour_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxColourDatabase_FindName(_swigobj,_swigarg0)  (_swigobj->FindName(_swigarg0))
static PyObject *_wrap_wxColourDatabase_FindName(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxString * _result;
    wxColourDatabase * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","colour", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxColourDatabase_FindName",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxColourDatabase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxColourDatabase_FindName. Expected _wxColourDatabase_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxString (wxColourDatabase_FindName(_arg0,*_arg1));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
#if wxUSE_UNICODE
    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
#else
    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
#endif
}
{
    delete _result;
}
    return _resultobj;
}

static void  wxColourDatabase_Append(wxColourDatabase *self,const wxString & name,int  red,int  green,int  blue) {
            // first see if the name is already there
            wxString cName = name;
            cName.MakeUpper();
            wxString cName2 = cName;
            if ( !cName2.Replace(wxT("GRAY"), wxT("GREY")) )
                cName2.clear();

            wxNode *node = self->First();
            while ( node ) {
                const wxChar *key = node->GetKeyString();
                if ( cName == key || cName2 == key ) {
                    wxColour* c = (wxColour *)node->Data();
                    c->Set(red, green, blue);
                    return;
                }
                node = node->Next();
            }

            // otherwise append the new colour
            self->Append(name.c_str(), new wxColour(red, green, blue));
        }
static PyObject *_wrap_wxColourDatabase_Append(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColourDatabase * _arg0;
    wxString * _arg1;
    int  _arg2;
    int  _arg3;
    int  _arg4;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","name","red","green","blue", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOiii:wxColourDatabase_Append",_kwnames,&_argo0,&_obj1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxColourDatabase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxColourDatabase_Append. Expected _wxColourDatabase_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxColourDatabase_Append(_arg0,*_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

static void *SwigwxPenTowxGDIObject(void *ptr) {
    wxPen *src;
    wxGDIObject *dest;
    src = (wxPen *) ptr;
    dest = (wxGDIObject *) src;
    return (void *) dest;
}

static void *SwigwxPenTowxObject(void *ptr) {
    wxPen *src;
    wxObject *dest;
    src = (wxPen *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxPen(_swigarg0,_swigarg1,_swigarg2) (new wxPen(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_new_wxPen(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPen * _result;
    wxColour * _arg0;
    int  _arg1 = (int ) 1;
    int  _arg2 = (int ) wxSOLID;
    wxColour  temp;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "colour","width","style", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:new_wxPen",_kwnames,&_obj0,&_arg1,&_arg2)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxPen *)new_wxPen(*_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPen_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define delete_wxPen(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxPen(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPen * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxPen",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxPen. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxPen(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPen_GetCap(_swigobj)  (_swigobj->GetCap())
static PyObject *_wrap_wxPen_GetCap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxPen * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPen_GetCap",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_GetCap. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxPen_GetCap(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPen_GetColour(_swigobj)  (_swigobj->GetColour())
static PyObject *_wrap_wxPen_GetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxPen * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPen_GetColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_GetColour. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxPen_GetColour(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxPen_GetJoin(_swigobj)  (_swigobj->GetJoin())
static PyObject *_wrap_wxPen_GetJoin(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxPen * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPen_GetJoin",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_GetJoin. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxPen_GetJoin(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPen_GetStyle(_swigobj)  (_swigobj->GetStyle())
static PyObject *_wrap_wxPen_GetStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxPen * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPen_GetStyle",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_GetStyle. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxPen_GetStyle(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPen_GetWidth(_swigobj)  (_swigobj->GetWidth())
static PyObject *_wrap_wxPen_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxPen * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPen_GetWidth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_GetWidth. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxPen_GetWidth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPen_Ok(_swigobj)  (_swigobj->Ok())
static PyObject *_wrap_wxPen_Ok(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPen * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPen_Ok",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_Ok. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPen_Ok(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPen_SetCap(_swigobj,_swigarg0)  (_swigobj->SetCap(_swigarg0))
static PyObject *_wrap_wxPen_SetCap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPen * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","cap_style", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPen_SetCap",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_SetCap. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPen_SetCap(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPen_SetColour(_swigobj,_swigarg0)  (_swigobj->SetColour(_swigarg0))
static PyObject *_wrap_wxPen_SetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPen * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","colour", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPen_SetColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_SetColour. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPen_SetColour(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPen_SetJoin(_swigobj,_swigarg0)  (_swigobj->SetJoin(_swigarg0))
static PyObject *_wrap_wxPen_SetJoin(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPen * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","join_style", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPen_SetJoin",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_SetJoin. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPen_SetJoin(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPen_SetStyle(_swigobj,_swigarg0)  (_swigobj->SetStyle(_swigarg0))
static PyObject *_wrap_wxPen_SetStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPen * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","style", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPen_SetStyle",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_SetStyle. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPen_SetStyle(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPen_SetWidth(_swigobj,_swigarg0)  (_swigobj->SetWidth(_swigarg0))
static PyObject *_wrap_wxPen_SetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPen * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","width", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPen_SetWidth",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_SetWidth. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPen_SetWidth(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPen_SetDashes(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetDashes(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPen_SetDashes(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPen * _arg0;
    int  _arg1;
    wxDash * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","choices", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPen_SetDashes",_kwnames,&_argo0,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_SetDashes. Expected _wxPen_p.");
        return NULL;
        }
    }
    if (_obj2)
{
    _arg2 = (wxDash*)byte_LIST_helper(_obj2);
    if (_arg2 == NULL) {
        return NULL;
    }
}
{
    if (_obj2) {
        _arg1 = PyList_Size(_obj2);
    }
    else {
        _arg1 = 0;
    }
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPen_SetDashes(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    delete [] _arg2;
}
    return _resultobj;
}

static PyObject * wxPen_GetDashes(wxPen *self) {
            wxDash* dashes;
            int count = self->GetDashes(&dashes);
            wxPyBeginBlockThreads();
            PyObject* retval = PyList_New(0);
            for (int x=0; x<count; x++)
                PyList_Append(retval, PyInt_FromLong(dashes[x]));
            wxPyEndBlockThreads();
            return retval;
        }
static PyObject *_wrap_wxPen_GetDashes(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    PyObject * _result;
    wxPen * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPen_GetDashes",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPen_GetDashes. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (PyObject *)wxPen_GetDashes(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
  _resultobj = _result;
}
    return _resultobj;
}

static void *SwigwxPyPenTowxPen(void *ptr) {
    wxPyPen *src;
    wxPen *dest;
    src = (wxPyPen *) ptr;
    dest = (wxPen *) src;
    return (void *) dest;
}

static void *SwigwxPyPenTowxGDIObject(void *ptr) {
    wxPyPen *src;
    wxGDIObject *dest;
    src = (wxPyPen *) ptr;
    dest = (wxGDIObject *) src;
    return (void *) dest;
}

static void *SwigwxPyPenTowxObject(void *ptr) {
    wxPyPen *src;
    wxObject *dest;
    src = (wxPyPen *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxPyPen(_swigarg0,_swigarg1,_swigarg2) (new wxPyPen(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_new_wxPyPen(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyPen * _result;
    wxColour * _arg0;
    int  _arg1 = (int ) 1;
    int  _arg2 = (int ) wxSOLID;
    wxColour  temp;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "colour","width","style", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:new_wxPyPen",_kwnames,&_obj0,&_arg1,&_arg2)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxPyPen *)new_wxPyPen(*_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyPen_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define delete_wxPyPen(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxPyPen(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyPen * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxPyPen",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxPyPen. Expected _wxPyPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxPyPen(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyPen_SetDashes(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetDashes(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyPen_SetDashes(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyPen * _arg0;
    int  _arg1;
    wxDash * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","choices", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPen_SetDashes",_kwnames,&_argo0,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPen_SetDashes. Expected _wxPyPen_p.");
        return NULL;
        }
    }
    if (_obj2)
{
    _arg2 = (wxDash*)byte_LIST_helper(_obj2);
    if (_arg2 == NULL) {
        return NULL;
    }
}
{
    if (_obj2) {
        _arg1 = PyList_Size(_obj2);
    }
    else {
        _arg1 = 0;
    }
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyPen_SetDashes(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    delete [] _arg2;
}
    return _resultobj;
}

static void *SwigwxPenListTowxObject(void *ptr) {
    wxPenList *src;
    wxObject *dest;
    src = (wxPenList *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define wxPenList_AddPen(_swigobj,_swigarg0)  (_swigobj->AddPen(_swigarg0))
static PyObject *_wrap_wxPenList_AddPen(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPenList * _arg0;
    wxPen * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","pen", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPenList_AddPen",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPenList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPenList_AddPen. Expected _wxPenList_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPenList_AddPen. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPenList_AddPen(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPenList_FindOrCreatePen(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->FindOrCreatePen(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxPenList_FindOrCreatePen(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPen * _result;
    wxPenList * _arg0;
    wxColour * _arg1;
    int  _arg2;
    int  _arg3;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","colour","width","style", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxPenList_FindOrCreatePen",_kwnames,&_argo0,&_obj1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPenList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPenList_FindOrCreatePen. Expected _wxPenList_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxPen *)wxPenList_FindOrCreatePen(_arg0,*_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPen_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxPenList_RemovePen(_swigobj,_swigarg0)  (_swigobj->RemovePen(_swigarg0))
static PyObject *_wrap_wxPenList_RemovePen(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPenList * _arg0;
    wxPen * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","pen", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPenList_RemovePen",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPenList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPenList_RemovePen. Expected _wxPenList_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPenList_RemovePen. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPenList_RemovePen(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPenList_GetCount(_swigobj)  (_swigobj->GetCount())
static PyObject *_wrap_wxPenList_GetCount(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxPenList * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPenList_GetCount",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPenList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPenList_GetCount. Expected _wxPenList_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxPenList_GetCount(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxBrushTowxGDIObject(void *ptr) {
    wxBrush *src;
    wxGDIObject *dest;
    src = (wxBrush *) ptr;
    dest = (wxGDIObject *) src;
    return (void *) dest;
}

static void *SwigwxBrushTowxObject(void *ptr) {
    wxBrush *src;
    wxObject *dest;
    src = (wxBrush *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxBrush(_swigarg0,_swigarg1) (new wxBrush(_swigarg0,_swigarg1))
static PyObject *_wrap_new_wxBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBrush * _result;
    wxColour * _arg0;
    int  _arg1 = (int ) wxSOLID;
    wxColour  temp;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "colour","style", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:new_wxBrush",_kwnames,&_obj0,&_arg1)) 
        return NULL;
{
    _arg0 = &temp;
    if (! wxColour_helper(_obj0, &_arg0))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxBrush *)new_wxBrush(*_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBrush_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define delete_wxBrush(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBrush * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxBrush",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxBrush. Expected _wxBrush_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxBrush(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxBrush_GetColour(_swigobj)  (_swigobj->GetColour())
static PyObject *_wrap_wxBrush_GetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxBrush * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBrush_GetColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBrush_GetColour. Expected _wxBrush_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxBrush_GetColour(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxBrush_GetStipple(_swigobj)  (_swigobj->GetStipple())
static PyObject *_wrap_wxBrush_GetStipple(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _result;
    wxBrush * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBrush_GetStipple",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBrush_GetStipple. Expected _wxBrush_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxBitmap *)wxBrush_GetStipple(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxBrush_GetStyle(_swigobj)  (_swigobj->GetStyle())
static PyObject *_wrap_wxBrush_GetStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxBrush * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBrush_GetStyle",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBrush_GetStyle. Expected _wxBrush_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxBrush_GetStyle(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxBrush_Ok(_swigobj)  (_swigobj->Ok())
static PyObject *_wrap_wxBrush_Ok(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxBrush * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBrush_Ok",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBrush_Ok. Expected _wxBrush_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxBrush_Ok(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxBrush_SetColour(_swigobj,_swigarg0)  (_swigobj->SetColour(_swigarg0))
static PyObject *_wrap_wxBrush_SetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBrush * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","colour", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBrush_SetColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBrush_SetColour. Expected _wxBrush_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxBrush_SetColour(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxBrush_SetStipple(_swigobj,_swigarg0)  (_swigobj->SetStipple(_swigarg0))
static PyObject *_wrap_wxBrush_SetStipple(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBrush * _arg0;
    wxBitmap * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","bitmap", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBrush_SetStipple",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBrush_SetStipple. Expected _wxBrush_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxBrush_SetStipple. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxBrush_SetStipple(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxBrush_SetStyle(_swigobj,_swigarg0)  (_swigobj->SetStyle(_swigarg0))
static PyObject *_wrap_wxBrush_SetStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBrush * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","style", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxBrush_SetStyle",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBrush_SetStyle. Expected _wxBrush_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxBrush_SetStyle(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void *SwigwxBrushListTowxObject(void *ptr) {
    wxBrushList *src;
    wxObject *dest;
    src = (wxBrushList *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define wxBrushList_AddBrush(_swigobj,_swigarg0)  (_swigobj->AddBrush(_swigarg0))
static PyObject *_wrap_wxBrushList_AddBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBrushList * _arg0;
    wxBrush * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","brush", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBrushList_AddBrush",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrushList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBrushList_AddBrush. Expected _wxBrushList_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxBrushList_AddBrush. Expected _wxBrush_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxBrushList_AddBrush(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxBrushList_FindOrCreateBrush(_swigobj,_swigarg0,_swigarg1)  (_swigobj->FindOrCreateBrush(_swigarg0,_swigarg1))
static PyObject *_wrap_wxBrushList_FindOrCreateBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBrush * _result;
    wxBrushList * _arg0;
    wxColour * _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","colour","style", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxBrushList_FindOrCreateBrush",_kwnames,&_argo0,&_obj1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrushList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBrushList_FindOrCreateBrush. Expected _wxBrushList_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxBrush *)wxBrushList_FindOrCreateBrush(_arg0,*_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBrush_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxBrushList_RemoveBrush(_swigobj,_swigarg0)  (_swigobj->RemoveBrush(_swigarg0))
static PyObject *_wrap_wxBrushList_RemoveBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBrushList * _arg0;
    wxBrush * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","brush", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBrushList_RemoveBrush",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrushList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBrushList_RemoveBrush. Expected _wxBrushList_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxBrushList_RemoveBrush. Expected _wxBrush_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxBrushList_RemoveBrush(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxBrushList_GetCount(_swigobj)  (_swigobj->GetCount())
static PyObject *_wrap_wxBrushList_GetCount(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxBrushList * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBrushList_GetCount",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBrushList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBrushList_GetCount. Expected _wxBrushList_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxBrushList_GetCount(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxDCTowxObject(void *ptr) {
    wxDC *src;
    wxObject *dest;
    src = (wxDC *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define delete_wxDC(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxDC(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxDC",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxDC. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxDC(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_BeginDrawing(_swigobj)  (_swigobj->BeginDrawing())
static PyObject *_wrap_wxDC_BeginDrawing(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_BeginDrawing",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_BeginDrawing. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_BeginDrawing(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_Blit(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8)  (_swigobj->Blit(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8))
static PyObject *_wrap_wxDC_Blit(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    wxDC * _arg5;
    wxCoord  _arg6;
    wxCoord  _arg7;
    int  _arg8 = (int ) wxCOPY;
    int  _arg9 = (int ) FALSE;
    PyObject * _argo0 = 0;
    PyObject * _argo5 = 0;
    char *_kwnames[] = { "self","xdest","ydest","width","height","source","xsrc","ysrc","logicalFunc","useMask", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiiiOii|ii:wxDC_Blit",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_argo5,&_arg6,&_arg7,&_arg8,&_arg9)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_Blit. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_argo5) {
        if (_argo5 == Py_None) { _arg5 = NULL; }
        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of wxDC_Blit. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxDC_Blit(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8,_arg9);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_Clear(_swigobj)  (_swigobj->Clear())
static PyObject *_wrap_wxDC_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_Clear",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_Clear. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_Clear(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_CrossHair(_swigobj,_swigarg0,_swigarg1)  (_swigobj->CrossHair(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_CrossHair(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxDC_CrossHair",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_CrossHair. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_CrossHair(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DestroyClippingRegion(_swigobj)  (_swigobj->DestroyClippingRegion())
static PyObject *_wrap_wxDC_DestroyClippingRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_DestroyClippingRegion",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DestroyClippingRegion. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DestroyClippingRegion(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DeviceToLogicalX(_swigobj,_swigarg0)  (_swigobj->DeviceToLogicalX(_swigarg0))
static PyObject *_wrap_wxDC_DeviceToLogicalX(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    wxCoord  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_DeviceToLogicalX",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DeviceToLogicalX. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_DeviceToLogicalX(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_DeviceToLogicalXRel(_swigobj,_swigarg0)  (_swigobj->DeviceToLogicalXRel(_swigarg0))
static PyObject *_wrap_wxDC_DeviceToLogicalXRel(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    wxCoord  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_DeviceToLogicalXRel",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DeviceToLogicalXRel. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_DeviceToLogicalXRel(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_DeviceToLogicalY(_swigobj,_swigarg0)  (_swigobj->DeviceToLogicalY(_swigarg0))
static PyObject *_wrap_wxDC_DeviceToLogicalY(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    wxCoord  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_DeviceToLogicalY",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DeviceToLogicalY. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_DeviceToLogicalY(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_DeviceToLogicalYRel(_swigobj,_swigarg0)  (_swigobj->DeviceToLogicalYRel(_swigarg0))
static PyObject *_wrap_wxDC_DeviceToLogicalYRel(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    wxCoord  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_DeviceToLogicalYRel",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DeviceToLogicalYRel. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_DeviceToLogicalYRel(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_DrawArc(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->DrawArc(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
static PyObject *_wrap_wxDC_DrawArc(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    wxCoord  _arg5;
    wxCoord  _arg6;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x1","y1","x2","y2","xc","yc", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiiiii:wxDC_DrawArc",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawArc. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawArc(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DrawCircle(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->DrawCircle(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxDC_DrawCircle(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y","radius", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxDC_DrawCircle",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawCircle. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawCircle(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DrawEllipse(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->DrawEllipse(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxDC_DrawEllipse(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y","width","height", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxDC_DrawEllipse",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawEllipse. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawEllipse(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DrawEllipticArc(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->DrawEllipticArc(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
static PyObject *_wrap_wxDC_DrawEllipticArc(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    wxCoord  _arg5;
    wxCoord  _arg6;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y","width","height","start","end", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiiiii:wxDC_DrawEllipticArc",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawEllipticArc. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawEllipticArc(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DrawIcon(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->DrawIcon(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxDC_DrawIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxIcon * _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","icon","x","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxDC_DrawIcon",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawIcon. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDC_DrawIcon. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawIcon(_arg0,*_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DrawLabel(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->DrawLabel(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxDC_DrawLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxString * _arg1;
    wxRect * _arg2;
    int  _arg3 = (int ) wxALIGN_LEFT|wxALIGN_TOP;
    int  _arg4 = (int ) -1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    wxRect  temp;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","text","rect","alignment","indexAccel", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|ii:wxDC_DrawLabel",_kwnames,&_argo0,&_obj1,&_obj2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawLabel. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    _arg2 = &temp;
    if (! wxRect_helper(_obj2, &_arg2))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawLabel(_arg0,*_arg1,*_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

static wxRect  wxDC_DrawImageLabel(wxDC *self,const wxString & text,const wxBitmap & image,const wxRect & rect,int  alignment,int  indexAccel) {
            wxRect rv;
            self->DrawLabel(text, image, rect, alignment, indexAccel, &rv);
            return rv;
        }
static PyObject *_wrap_wxDC_DrawImageLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRect * _result;
    wxDC * _arg0;
    wxString * _arg1;
    wxBitmap * _arg2;
    wxRect * _arg3;
    int  _arg4 = (int ) wxALIGN_LEFT|wxALIGN_TOP;
    int  _arg5 = (int ) -1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    PyObject * _argo2 = 0;
    wxRect  temp;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","text","image","rect","alignment","indexAccel", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO|ii:wxDC_DrawImageLabel",_kwnames,&_argo0,&_obj1,&_argo2,&_obj3,&_arg4,&_arg5)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawImageLabel. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
    if (_argo2) {
        if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxDC_DrawImageLabel. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    _arg3 = &temp;
    if (! wxRect_helper(_obj3, &_arg3))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxRect (wxDC_DrawImageLabel(_arg0,*_arg1,*_arg2,*_arg3,_arg4,_arg5));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxRect_p");
    _resultobj = Py_BuildValue("s",_ptemp);
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxDC_DrawLine(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->DrawLine(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxDC_DrawLine(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x1","y1","x2","y2", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxDC_DrawLine",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawLine. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawLine(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DrawLines(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->DrawLines(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxDC_DrawLines(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int  _arg1;
    wxPoint * _arg2;
    wxCoord  _arg3 = (wxCoord ) 0;
    wxCoord  _arg4 = (wxCoord ) 0;
    PyObject * _argo0 = 0;
    int  NPOINTS;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","points","xoffset","yoffset", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|ii:wxDC_DrawLines",_kwnames,&_argo0,&_obj2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawLines. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_obj2)
{
    _arg2 = wxPoint_LIST_helper(_obj2, &NPOINTS);
	if (_arg2 == NULL) {
		return NULL;
	}
}
{
	_arg1 = NPOINTS;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawLines(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    delete [] _arg2;
}
    return _resultobj;
}

#define wxDC_DrawPolygon(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->DrawPolygon(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
static PyObject *_wrap_wxDC_DrawPolygon(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int  _arg1;
    wxPoint * _arg2;
    wxCoord  _arg3 = (wxCoord ) 0;
    wxCoord  _arg4 = (wxCoord ) 0;
    int  _arg5 = (int ) wxODDEVEN_RULE;
    PyObject * _argo0 = 0;
    int  NPOINTS;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","points","xoffset","yoffset","fill_style", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|iii:wxDC_DrawPolygon",_kwnames,&_argo0,&_obj2,&_arg3,&_arg4,&_arg5)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawPolygon. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_obj2)
{
    _arg2 = wxPoint_LIST_helper(_obj2, &NPOINTS);
	if (_arg2 == NULL) {
		return NULL;
	}
}
{
	_arg1 = NPOINTS;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawPolygon(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    delete [] _arg2;
}
    return _resultobj;
}

#define wxDC_DrawPoint(_swigobj,_swigarg0,_swigarg1)  (_swigobj->DrawPoint(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_DrawPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxDC_DrawPoint",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawPoint. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawPoint(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DrawRectangle(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->DrawRectangle(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxDC_DrawRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y","width","height", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxDC_DrawRectangle",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawRectangle. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawRectangle(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DrawRectangleRect(_swigobj,_swigarg0)  (_swigobj->DrawRectangle(_swigarg0))
static PyObject *_wrap_wxDC_DrawRectangleRect(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxRect * _arg1;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","rect", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_DrawRectangleRect",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawRectangleRect. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawRectangleRect(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DrawRotatedText(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->DrawRotatedText(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxDC_DrawRotatedText(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxString * _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    double  _arg4;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","text","x","y","angle", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOiid:wxDC_DrawRotatedText",_kwnames,&_argo0,&_obj1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawRotatedText. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawRotatedText(_arg0,*_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxDC_DrawRoundedRectangle(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->DrawRoundedRectangle(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
static PyObject *_wrap_wxDC_DrawRoundedRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    wxCoord  _arg5 = (wxCoord ) 20;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y","width","height","radius", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii|i:wxDC_DrawRoundedRectangle",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawRoundedRectangle. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawRoundedRectangle(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DrawSpline(_swigobj,_swigarg0,_swigarg1)  (_swigobj->DrawSpline(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_DrawSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int  _arg1;
    wxPoint * _arg2;
    PyObject * _argo0 = 0;
    int  NPOINTS;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","points", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_DrawSpline",_kwnames,&_argo0,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawSpline. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_obj2)
{
    _arg2 = wxPoint_LIST_helper(_obj2, &NPOINTS);
	if (_arg2 == NULL) {
		return NULL;
	}
}
{
	_arg1 = NPOINTS;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawSpline(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    delete [] _arg2;
}
    return _resultobj;
}

#define wxDC_DrawText(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->DrawText(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxDC_DrawText(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxString * _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","text","x","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxDC_DrawText",_kwnames,&_argo0,&_obj1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawText. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawText(_arg0,*_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxDC_EndDoc(_swigobj)  (_swigobj->EndDoc())
static PyObject *_wrap_wxDC_EndDoc(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_EndDoc",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_EndDoc. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_EndDoc(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_EndDrawing(_swigobj)  (_swigobj->EndDrawing())
static PyObject *_wrap_wxDC_EndDrawing(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_EndDrawing",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_EndDrawing. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_EndDrawing(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_EndPage(_swigobj)  (_swigobj->EndPage())
static PyObject *_wrap_wxDC_EndPage(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_EndPage",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_EndPage. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_EndPage(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_FloodFill(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->FloodFill(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxDC_FloodFill(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxColour * _arg3;
    int  _arg4 = (int ) wxFLOOD_SURFACE;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","x","y","colour","style", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO|i:wxDC_FloodFill",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_FloodFill. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg3 = &temp;
    if (! wxColour_helper(_obj3, &_arg3))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxDC_FloodFill(_arg0,_arg1,_arg2,*_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_GetBackground(_swigobj)  (_swigobj->GetBackground())
static PyObject *_wrap_wxDC_GetBackground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBrush * _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetBackground",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetBackground. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxBrush (wxDC_GetBackground(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBrush_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxDC_GetBrush(_swigobj)  (_swigobj->GetBrush())
static PyObject *_wrap_wxDC_GetBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBrush * _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetBrush",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetBrush. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxBrush (wxDC_GetBrush(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBrush_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxDC_GetCharHeight(_swigobj)  (_swigobj->GetCharHeight())
static PyObject *_wrap_wxDC_GetCharHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetCharHeight",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetCharHeight. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_GetCharHeight(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_GetCharWidth(_swigobj)  (_swigobj->GetCharWidth())
static PyObject *_wrap_wxDC_GetCharWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetCharWidth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetCharWidth. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_GetCharWidth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_GetClippingBox(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->GetClippingBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxDC_GetClippingBox(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord * _arg1;
    int  temp;
    wxCoord * _arg2;
    int  temp0;
    wxCoord * _arg3;
    int  temp1;
    wxCoord * _arg4;
    int  temp2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
{
  _arg3 = &temp1;
}
{
  _arg4 = &temp2;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetClippingBox",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetClippingBox. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_GetClippingBox(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg1));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    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);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg4));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxDC_GetFont(_swigobj)  (_swigobj->GetFont())
static PyObject *_wrap_wxDC_GetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxFont * _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetFont",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetFont. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxFont (wxDC_GetFont(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxFont_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxDC_GetLogicalFunction(_swigobj)  (_swigobj->GetLogicalFunction())
static PyObject *_wrap_wxDC_GetLogicalFunction(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetLogicalFunction",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetLogicalFunction. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxDC_GetLogicalFunction(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_GetLogicalScale(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetLogicalScale(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_GetLogicalScale(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    double * _arg1;
    double  temp;
    double * _arg2;
    double  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetLogicalScale",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetLogicalScale. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_GetLogicalScale(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    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);
}
    return _resultobj;
}

#define wxDC_GetMapMode(_swigobj)  (_swigobj->GetMapMode())
static PyObject *_wrap_wxDC_GetMapMode(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetMapMode",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetMapMode. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxDC_GetMapMode(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_GetOptimization(_swigobj)  (_swigobj->GetOptimization())
static PyObject *_wrap_wxDC_GetOptimization(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetOptimization",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetOptimization. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxDC_GetOptimization(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_GetPen(_swigobj)  (_swigobj->GetPen())
static PyObject *_wrap_wxDC_GetPen(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPen * _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetPen",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetPen. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxPen (wxDC_GetPen(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPen_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

static wxColour * wxDC_GetPixel(wxDC *self,wxCoord  x,wxCoord  y) {
            wxColour* wc = new wxColour();
            self->GetPixel(x, y, wc);
            return wc;
        }
static PyObject *_wrap_wxDC_GetPixel(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxDC_GetPixel",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetPixel. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxColour *)wxDC_GetPixel(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxColour_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxDC_GetSizeTuple(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetSize(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_GetSizeTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int * _arg1;
    int  temp;
    int * _arg2;
    int  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetSizeTuple",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetSizeTuple. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_GetSizeTuple(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg1));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg2));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxDC_GetSize(_swigobj)  (_swigobj->GetSize())
static PyObject *_wrap_wxDC_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxSize * _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetSize. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxSize (wxDC_GetSize(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxDC_GetSizeMM(_swigobj)  (_swigobj->GetSizeMM())
static PyObject *_wrap_wxDC_GetSizeMM(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxSize * _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetSizeMM",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetSizeMM. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxSize (wxDC_GetSizeMM(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxDC_GetTextBackground(_swigobj)  (_swigobj->GetTextBackground())
static PyObject *_wrap_wxDC_GetTextBackground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetTextBackground",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetTextBackground. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxDC_GetTextBackground(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxDC_GetTextExtent(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->GetTextExtent(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxDC_GetTextExtent(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxString * _arg1;
    wxCoord * _arg2;
    int  temp;
    wxCoord * _arg3;
    int  temp0;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","string", NULL };

    self = self;
{
  _arg2 = &temp;
}
{
  _arg3 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_GetTextExtent",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetTextExtent. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_GetTextExtent(_arg0,*_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    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);
}
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxDC_GetFullTextExtent(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->GetTextExtent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
static PyObject *_wrap_wxDC_GetFullTextExtent(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxString * _arg1;
    wxCoord * _arg2;
    int  temp;
    wxCoord * _arg3;
    int  temp0;
    wxCoord * _arg4;
    int  temp1;
    wxCoord * _arg5;
    int  temp2;
    wxFont * _arg6 = (wxFont *) NULL;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    PyObject * _argo6 = 0;
    char *_kwnames[] = { "self","string","font", NULL };

    self = self;
{
  _arg2 = &temp;
}
{
  _arg3 = &temp0;
}
{
  _arg4 = &temp1;
}
{
  _arg5 = &temp2;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxDC_GetFullTextExtent",_kwnames,&_argo0,&_obj1,&_argo6)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetFullTextExtent. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
    if (_argo6) {
        if (_argo6 == Py_None) { _arg6 = NULL; }
        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxFont_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of wxDC_GetFullTextExtent. Expected _wxFont_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_GetFullTextExtent(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    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);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg4));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg5));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxDC_GetMultiLineTextExtent(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->GetMultiLineTextExtent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
static PyObject *_wrap_wxDC_GetMultiLineTextExtent(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxString * _arg1;
    wxCoord * _arg2;
    int  temp;
    wxCoord * _arg3;
    int  temp0;
    wxCoord * _arg4;
    int  temp1;
    wxFont * _arg5 = (wxFont *) NULL;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    PyObject * _argo5 = 0;
    char *_kwnames[] = { "self","text","font", NULL };

    self = self;
{
  _arg2 = &temp;
}
{
  _arg3 = &temp0;
}
{
  _arg4 = &temp1;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxDC_GetMultiLineTextExtent",_kwnames,&_argo0,&_obj1,&_argo5)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetMultiLineTextExtent. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
    if (_argo5) {
        if (_argo5 == Py_None) { _arg5 = NULL; }
        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxFont_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of wxDC_GetMultiLineTextExtent. Expected _wxFont_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_GetMultiLineTextExtent(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    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);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg4));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxDC_GetTextForeground(_swigobj)  (_swigobj->GetTextForeground())
static PyObject *_wrap_wxDC_GetTextForeground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetTextForeground",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetTextForeground. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxDC_GetTextForeground(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxDC_GetUserScale(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetUserScale(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_GetUserScale(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    double * _arg1;
    double  temp;
    double * _arg2;
    double  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetUserScale",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetUserScale. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_GetUserScale(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    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);
}
    return _resultobj;
}

#define wxDC_LogicalToDeviceX(_swigobj,_swigarg0)  (_swigobj->LogicalToDeviceX(_swigarg0))
static PyObject *_wrap_wxDC_LogicalToDeviceX(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    wxCoord  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_LogicalToDeviceX",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_LogicalToDeviceX. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_LogicalToDeviceX(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_LogicalToDeviceXRel(_swigobj,_swigarg0)  (_swigobj->LogicalToDeviceXRel(_swigarg0))
static PyObject *_wrap_wxDC_LogicalToDeviceXRel(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    wxCoord  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_LogicalToDeviceXRel",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_LogicalToDeviceXRel. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_LogicalToDeviceXRel(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_LogicalToDeviceY(_swigobj,_swigarg0)  (_swigobj->LogicalToDeviceY(_swigarg0))
static PyObject *_wrap_wxDC_LogicalToDeviceY(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    wxCoord  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_LogicalToDeviceY",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_LogicalToDeviceY. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_LogicalToDeviceY(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_LogicalToDeviceYRel(_swigobj,_swigarg0)  (_swigobj->LogicalToDeviceYRel(_swigarg0))
static PyObject *_wrap_wxDC_LogicalToDeviceYRel(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    wxCoord  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_LogicalToDeviceYRel",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_LogicalToDeviceYRel. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_LogicalToDeviceYRel(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_MaxX(_swigobj)  (_swigobj->MaxX())
static PyObject *_wrap_wxDC_MaxX(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_MaxX",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_MaxX. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_MaxX(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_MaxY(_swigobj)  (_swigobj->MaxY())
static PyObject *_wrap_wxDC_MaxY(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_MaxY",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_MaxY. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_MaxY(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_MinX(_swigobj)  (_swigobj->MinX())
static PyObject *_wrap_wxDC_MinX(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_MinX",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_MinX. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_MinX(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_MinY(_swigobj)  (_swigobj->MinY())
static PyObject *_wrap_wxDC_MinY(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_MinY",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_MinY. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxDC_MinY(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_Ok(_swigobj)  (_swigobj->Ok())
static PyObject *_wrap_wxDC_Ok(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_Ok",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_Ok. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxDC_Ok(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_SetDeviceOrigin(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetDeviceOrigin(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_SetDeviceOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxDC_SetDeviceOrigin",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetDeviceOrigin. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetDeviceOrigin(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetBackground(_swigobj,_swigarg0)  (_swigobj->SetBackground(_swigarg0))
static PyObject *_wrap_wxDC_SetBackground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxBrush * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","brush", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_SetBackground",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetBackground. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDC_SetBackground. Expected _wxBrush_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetBackground(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetBackgroundMode(_swigobj,_swigarg0)  (_swigobj->SetBackgroundMode(_swigarg0))
static PyObject *_wrap_wxDC_SetBackgroundMode(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","mode", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_SetBackgroundMode",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetBackgroundMode. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetBackgroundMode(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetClippingRegion(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->SetClippingRegion(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxDC_SetClippingRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y","width","height", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxDC_SetClippingRegion",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetClippingRegion. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetClippingRegion(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetClippingRegionAsRegion(_swigobj,_swigarg0)  (_swigobj->SetClippingRegion(_swigarg0))
static PyObject *_wrap_wxDC_SetClippingRegionAsRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxRegion * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","region", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_SetClippingRegionAsRegion",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetClippingRegionAsRegion. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDC_SetClippingRegionAsRegion. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetClippingRegionAsRegion(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetClippingRect(_swigobj,_swigarg0)  (_swigobj->SetClippingRegion(_swigarg0))
static PyObject *_wrap_wxDC_SetClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxRect * _arg1;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","rect", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_SetClippingRect",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetClippingRect. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetClippingRect(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetPalette(_swigobj,_swigarg0)  (_swigobj->SetPalette(_swigarg0))
static PyObject *_wrap_wxDC_SetPalette(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxPalette * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","colourMap", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_SetPalette",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetPalette. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPalette_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDC_SetPalette. Expected _wxPalette_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetPalette(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetBrush(_swigobj,_swigarg0)  (_swigobj->SetBrush(_swigarg0))
static PyObject *_wrap_wxDC_SetBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxBrush * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","brush", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_SetBrush",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetBrush. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBrush_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDC_SetBrush. Expected _wxBrush_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetBrush(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetFont(_swigobj,_swigarg0)  (_swigobj->SetFont(_swigarg0))
static PyObject *_wrap_wxDC_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxFont * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","font", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_SetFont",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetFont. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFont_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDC_SetFont. Expected _wxFont_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetFont(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetLogicalFunction(_swigobj,_swigarg0)  (_swigobj->SetLogicalFunction(_swigarg0))
static PyObject *_wrap_wxDC_SetLogicalFunction(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","function", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_SetLogicalFunction",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetLogicalFunction. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetLogicalFunction(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetLogicalScale(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetLogicalScale(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_SetLogicalScale(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    double  _arg1;
    double  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxDC_SetLogicalScale",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetLogicalScale. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetLogicalScale(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetMapMode(_swigobj,_swigarg0)  (_swigobj->SetMapMode(_swigarg0))
static PyObject *_wrap_wxDC_SetMapMode(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","mode", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_SetMapMode",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetMapMode. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetMapMode(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetOptimization(_swigobj,_swigarg0)  (_swigobj->SetOptimization(_swigarg0))
static PyObject *_wrap_wxDC_SetOptimization(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","optimize", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDC_SetOptimization",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetOptimization. Expected _wxDC_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetOptimization(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetPen(_swigobj,_swigarg0)  (_swigobj->SetPen(_swigarg0))
static PyObject *_wrap_wxDC_SetPen(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxPen * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","pen", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_SetPen",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetPen. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPen_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDC_SetPen. Expected _wxPen_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetPen(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetTextBackground(_swigobj,_swigarg0)  (_swigobj->SetTextBackground(_swigarg0))
static PyObject *_wrap_wxDC_SetTextBackground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","colour", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_SetTextBackground",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetTextBackground. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetTextBackground(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetTextForeground(_swigobj,_swigarg0)  (_swigobj->SetTextForeground(_swigarg0))
static PyObject *_wrap_wxDC_SetTextForeground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","colour", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_SetTextForeground",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetTextForeground. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetTextForeground(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_SetUserScale(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetUserScale(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_SetUserScale(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    double  _arg1;
    double  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x_scale","y_scale", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxDC_SetUserScale",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetUserScale. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetUserScale(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_StartDoc(_swigobj,_swigarg0)  (_swigobj->StartDoc(_swigarg0))
static PyObject *_wrap_wxDC_StartDoc(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxDC * _arg0;
    wxString * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","message", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDC_StartDoc",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_StartDoc. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxDC_StartDoc(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxDC_StartPage(_swigobj)  (_swigobj->StartPage())
static PyObject *_wrap_wxDC_StartPage(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_StartPage",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_StartPage. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_StartPage(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_DrawBitmap(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->DrawBitmap(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxDC_DrawBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    wxBitmap * _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    int  _arg4 = (int ) FALSE;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","bitmap","x","y","useMask", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii|i:wxDC_DrawBitmap",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_DrawBitmap. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDC_DrawBitmap. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_DrawBitmap(_arg0,*_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_CanDrawBitmap(_swigobj)  (_swigobj->CanDrawBitmap())
static PyObject *_wrap_wxDC_CanDrawBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_CanDrawBitmap",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_CanDrawBitmap. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxDC_CanDrawBitmap(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_CanGetTextExtent(_swigobj)  (_swigobj->CanGetTextExtent())
static PyObject *_wrap_wxDC_CanGetTextExtent(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_CanGetTextExtent",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_CanGetTextExtent. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxDC_CanGetTextExtent(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_GetDepth(_swigobj)  (_swigobj->GetDepth())
static PyObject *_wrap_wxDC_GetDepth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetDepth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetDepth. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxDC_GetDepth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxDC_GetPPI(_swigobj)  (_swigobj->GetPPI())
static PyObject *_wrap_wxDC_GetPPI(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxSize * _result;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetPPI",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetPPI. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxSize (wxDC_GetPPI(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxDC_GetLogicalOrigin(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetLogicalOrigin(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_GetLogicalOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int * _arg1;
    int  temp;
    int * _arg2;
    int  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetLogicalOrigin",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetLogicalOrigin. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_GetLogicalOrigin(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg1));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg2));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxDC_SetLogicalOrigin(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetLogicalOrigin(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_SetLogicalOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxDC_SetLogicalOrigin",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetLogicalOrigin. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetLogicalOrigin(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_GetDeviceOrigin(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetDeviceOrigin(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_GetDeviceOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int * _arg1;
    int  temp;
    int * _arg2;
    int  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetDeviceOrigin",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetDeviceOrigin. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_GetDeviceOrigin(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg1));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg2));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxDC_SetAxisOrientation(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetAxisOrientation(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_SetAxisOrientation(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    bool  _arg1;
    bool  _arg2;
    PyObject * _argo0 = 0;
    int tempbool1;
    int tempbool2;
    char *_kwnames[] = { "self","xLeftRight","yBottomUp", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxDC_SetAxisOrientation",_kwnames,&_argo0,&tempbool1,&tempbool2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_SetAxisOrientation. Expected _wxDC_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
    _arg2 = (bool ) tempbool2;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_SetAxisOrientation(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_CalcBoundingBox(_swigobj,_swigarg0,_swigarg1)  (_swigobj->CalcBoundingBox(_swigarg0,_swigarg1))
static PyObject *_wrap_wxDC_CalcBoundingBox(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxDC_CalcBoundingBox",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_CalcBoundingBox. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_CalcBoundingBox(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxDC_ResetBoundingBox(_swigobj)  (_swigobj->ResetBoundingBox())
static PyObject *_wrap_wxDC_ResetBoundingBox(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_ResetBoundingBox",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_ResetBoundingBox. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_ResetBoundingBox(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static PyObject *_wrap_wxDC_GetBoundingBox(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxDC * _arg0;
    int * _arg1;
    int  temp;
    int * _arg2;
    int  temp0;
    int * _arg3;
    int  temp1;
    int * _arg4;
    int  temp2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
{
  _arg3 = &temp1;
}
{
  _arg4 = &temp2;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDC_GetBoundingBox",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetBoundingBox. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxDC_GetBoundingBox(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg1));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    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);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg4));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

static PyObject * wxDC__DrawPointList(wxDC *self,PyObject * pyCoords,PyObject * pyPens,PyObject * pyBrushes) {
            return wxPyDrawXXXList(*self, wxPyDrawXXXPoint, pyCoords, pyPens, pyBrushes);
        }
static PyObject *_wrap_wxDC__DrawPointList(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    PyObject * _result;
    wxDC * _arg0;
    PyObject * _arg1;
    PyObject * _arg2;
    PyObject * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    PyObject * _obj2 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","pyCoords","pyPens","pyBrushes", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxDC__DrawPointList",_kwnames,&_argo0,&_obj1,&_obj2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC__DrawPointList. Expected _wxDC_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
  _arg2 = _obj2;
}
{
  _arg3 = _obj3;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (PyObject *)wxDC__DrawPointList(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
  _resultobj = _result;
}
    return _resultobj;
}

static PyObject * wxDC__DrawLineList(wxDC *self,PyObject * pyCoords,PyObject * pyPens,PyObject * pyBrushes) {
            return wxPyDrawXXXList(*self, wxPyDrawXXXLine, pyCoords, pyPens, pyBrushes);
        }
static PyObject *_wrap_wxDC__DrawLineList(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    PyObject * _result;
    wxDC * _arg0;
    PyObject * _arg1;
    PyObject * _arg2;
    PyObject * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    PyObject * _obj2 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","pyCoords","pyPens","pyBrushes", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxDC__DrawLineList",_kwnames,&_argo0,&_obj1,&_obj2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC__DrawLineList. Expected _wxDC_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
  _arg2 = _obj2;
}
{
  _arg3 = _obj3;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (PyObject *)wxDC__DrawLineList(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
  _resultobj = _result;
}
    return _resultobj;
}

static PyObject * wxDC__DrawRectangleList(wxDC *self,PyObject * pyCoords,PyObject * pyPens,PyObject * pyBrushes) {
            return wxPyDrawXXXList(*self, wxPyDrawXXXRectangle, pyCoords, pyPens, pyBrushes);
        }
static PyObject *_wrap_wxDC__DrawRectangleList(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    PyObject * _result;
    wxDC * _arg0;
    PyObject * _arg1;
    PyObject * _arg2;
    PyObject * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    PyObject * _obj2 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","pyCoords","pyPens","pyBrushes", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxDC__DrawRectangleList",_kwnames,&_argo0,&_obj1,&_obj2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC__DrawRectangleList. Expected _wxDC_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
  _arg2 = _obj2;
}
{
  _arg3 = _obj3;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (PyObject *)wxDC__DrawRectangleList(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
  _resultobj = _result;
}
    return _resultobj;
}

static PyObject * wxDC__DrawEllipseList(wxDC *self,PyObject * pyCoords,PyObject * pyPens,PyObject * pyBrushes) {
            return wxPyDrawXXXList(*self, wxPyDrawXXXEllipse, pyCoords, pyPens, pyBrushes);
        }
static PyObject *_wrap_wxDC__DrawEllipseList(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    PyObject * _result;
    wxDC * _arg0;
    PyObject * _arg1;
    PyObject * _arg2;
    PyObject * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    PyObject * _obj2 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","pyCoords","pyPens","pyBrushes", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxDC__DrawEllipseList",_kwnames,&_argo0,&_obj1,&_obj2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC__DrawEllipseList. Expected _wxDC_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
  _arg2 = _obj2;
}
{
  _arg3 = _obj3;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (PyObject *)wxDC__DrawEllipseList(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
  _resultobj = _result;
}
    return _resultobj;
}

static PyObject * wxDC__DrawPolygonList(wxDC *self,PyObject * pyCoords,PyObject * pyPens,PyObject * pyBrushes) {
            return wxPyDrawXXXList(*self, wxPyDrawXXXPolygon, pyCoords, pyPens, pyBrushes);
        }
static PyObject *_wrap_wxDC__DrawPolygonList(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    PyObject * _result;
    wxDC * _arg0;
    PyObject * _arg1;
    PyObject * _arg2;
    PyObject * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    PyObject * _obj2 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","pyCoords","pyPens","pyBrushes", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxDC__DrawPolygonList",_kwnames,&_argo0,&_obj1,&_obj2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC__DrawPolygonList. Expected _wxDC_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
  _arg2 = _obj2;
}
{
  _arg3 = _obj3;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (PyObject *)wxDC__DrawPolygonList(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
  _resultobj = _result;
}
    return _resultobj;
}

static PyObject * wxDC__DrawTextList(wxDC *self,PyObject * textList,PyObject * pyPoints,PyObject * foregroundList,PyObject * backgroundList) {
            return wxPyDrawTextList(*self, textList, pyPoints, foregroundList, backgroundList);
        }
static PyObject *_wrap_wxDC__DrawTextList(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    PyObject * _result;
    wxDC * _arg0;
    PyObject * _arg1;
    PyObject * _arg2;
    PyObject * _arg3;
    PyObject * _arg4;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    PyObject * _obj2 = 0;
    PyObject * _obj3 = 0;
    PyObject * _obj4 = 0;
    char *_kwnames[] = { "self","textList","pyPoints","foregroundList","backgroundList", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOOO:wxDC__DrawTextList",_kwnames,&_argo0,&_obj1,&_obj2,&_obj3,&_obj4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC__DrawTextList. Expected _wxDC_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
  _arg2 = _obj2;
}
{
  _arg3 = _obj3;
}
{
  _arg4 = _obj4;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (PyObject *)wxDC__DrawTextList(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
  _resultobj = _result;
}
    return _resultobj;
}

static void *SwigwxMemoryDCTowxDC(void *ptr) {
    wxMemoryDC *src;
    wxDC *dest;
    src = (wxMemoryDC *) ptr;
    dest = (wxDC *) src;
    return (void *) dest;
}

static void *SwigwxMemoryDCTowxObject(void *ptr) {
    wxMemoryDC *src;
    wxObject *dest;
    src = (wxMemoryDC *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxMemoryDC() (new wxMemoryDC())
static PyObject *_wrap_new_wxMemoryDC(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxMemoryDC * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxMemoryDC",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxMemoryDC *)new_wxMemoryDC();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxMemoryDC_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxMemoryDC_SelectObject(_swigobj,_swigarg0)  (_swigobj->SelectObject(_swigarg0))
static PyObject *_wrap_wxMemoryDC_SelectObject(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxMemoryDC * _arg0;
    wxBitmap * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","bitmap", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMemoryDC_SelectObject",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMemoryDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMemoryDC_SelectObject. Expected _wxMemoryDC_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxMemoryDC_SelectObject. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxMemoryDC_SelectObject(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void *SwigwxBufferedDCTowxMemoryDC(void *ptr) {
    wxBufferedDC *src;
    wxMemoryDC *dest;
    src = (wxBufferedDC *) ptr;
    dest = (wxMemoryDC *) src;
    return (void *) dest;
}

static void *SwigwxBufferedDCTowxDC(void *ptr) {
    wxBufferedDC *src;
    wxDC *dest;
    src = (wxBufferedDC *) ptr;
    dest = (wxDC *) src;
    return (void *) dest;
}

static void *SwigwxBufferedDCTowxObject(void *ptr) {
    wxBufferedDC *src;
    wxObject *dest;
    src = (wxBufferedDC *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxBufferedDC(_swigarg0,_swigarg1) (new wxBufferedDC(_swigarg0,_swigarg1))
static PyObject *_wrap_new_wxBufferedDC(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBufferedDC * _result;
    wxDC * _arg0;
    wxBitmap * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "dc","buffer", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:new_wxBufferedDC",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxBufferedDC. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxBufferedDC. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxBufferedDC *)new_wxBufferedDC(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBufferedDC_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define new_wxBufferedDCInternalBuffer(_swigarg0,_swigarg1) (new wxBufferedDC(_swigarg0,_swigarg1))
static PyObject *_wrap_new_wxBufferedDCInternalBuffer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBufferedDC * _result;
    wxDC * _arg0;
    wxSize * _arg1;
    PyObject * _argo0 = 0;
    wxSize  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "dc","area", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:new_wxBufferedDCInternalBuffer",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxBufferedDCInternalBuffer. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxSize_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxBufferedDC *)new_wxBufferedDCInternalBuffer(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBufferedDC_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxBufferedDC_UnMask(_swigobj)  (_swigobj->UnMask())
static PyObject *_wrap_wxBufferedDC_UnMask(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBufferedDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBufferedDC_UnMask",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBufferedDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBufferedDC_UnMask. Expected _wxBufferedDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxBufferedDC_UnMask(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void *SwigwxBufferedPaintDCTowxBufferedDC(void *ptr) {
    wxBufferedPaintDC *src;
    wxBufferedDC *dest;
    src = (wxBufferedPaintDC *) ptr;
    dest = (wxBufferedDC *) src;
    return (void *) dest;
}

static void *SwigwxBufferedPaintDCTowxMemoryDC(void *ptr) {
    wxBufferedPaintDC *src;
    wxMemoryDC *dest;
    src = (wxBufferedPaintDC *) ptr;
    dest = (wxMemoryDC *) src;
    return (void *) dest;
}

static void *SwigwxBufferedPaintDCTowxDC(void *ptr) {
    wxBufferedPaintDC *src;
    wxDC *dest;
    src = (wxBufferedPaintDC *) ptr;
    dest = (wxDC *) src;
    return (void *) dest;
}

static void *SwigwxBufferedPaintDCTowxObject(void *ptr) {
    wxBufferedPaintDC *src;
    wxObject *dest;
    src = (wxBufferedPaintDC *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxBufferedPaintDC(_swigarg0,_swigarg1) (new wxBufferedPaintDC(_swigarg0,_swigarg1))
static PyObject *_wrap_new_wxBufferedPaintDC(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBufferedPaintDC * _result;
    wxWindow * _arg0;
    wxBitmap * _arg1 = (wxBitmap *) &wxNullBitmap;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "window","buffer", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:new_wxBufferedPaintDC",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxBufferedPaintDC. Expected _wxWindow_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxBufferedPaintDC. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxBufferedPaintDC *)new_wxBufferedPaintDC(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBufferedPaintDC_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxScreenDCTowxDC(void *ptr) {
    wxScreenDC *src;
    wxDC *dest;
    src = (wxScreenDC *) ptr;
    dest = (wxDC *) src;
    return (void *) dest;
}

static void *SwigwxScreenDCTowxObject(void *ptr) {
    wxScreenDC *src;
    wxObject *dest;
    src = (wxScreenDC *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxScreenDC() (new wxScreenDC())
static PyObject *_wrap_new_wxScreenDC(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxScreenDC * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxScreenDC",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxScreenDC *)new_wxScreenDC();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxScreenDC_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxScreenDC_StartDrawingOnTopWin(_swigobj,_swigarg0)  (_swigobj->StartDrawingOnTop(_swigarg0))
static PyObject *_wrap_wxScreenDC_StartDrawingOnTopWin(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxScreenDC * _arg0;
    wxWindow * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","window", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxScreenDC_StartDrawingOnTopWin",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScreenDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScreenDC_StartDrawingOnTopWin. Expected _wxScreenDC_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxScreenDC_StartDrawingOnTopWin. Expected _wxWindow_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxScreenDC_StartDrawingOnTopWin(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxScreenDC_StartDrawingOnTop(_swigobj,_swigarg0)  (_swigobj->StartDrawingOnTop(_swigarg0))
static PyObject *_wrap_wxScreenDC_StartDrawingOnTop(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxScreenDC * _arg0;
    wxRect * _arg1 = (wxRect *) NULL;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","rect", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:wxScreenDC_StartDrawingOnTop",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScreenDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScreenDC_StartDrawingOnTop. Expected _wxScreenDC_p.");
        return NULL;
        }
    }
    if (_obj1)
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxScreenDC_StartDrawingOnTop(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxScreenDC_EndDrawingOnTop(_swigobj)  (_swigobj->EndDrawingOnTop())
static PyObject *_wrap_wxScreenDC_EndDrawingOnTop(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxScreenDC * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScreenDC_EndDrawingOnTop",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScreenDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScreenDC_EndDrawingOnTop. Expected _wxScreenDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxScreenDC_EndDrawingOnTop(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxClientDCTowxDC(void *ptr) {
    wxClientDC *src;
    wxDC *dest;
    src = (wxClientDC *) ptr;
    dest = (wxDC *) src;
    return (void *) dest;
}

static void *SwigwxClientDCTowxObject(void *ptr) {
    wxClientDC *src;
    wxObject *dest;
    src = (wxClientDC *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxClientDC(_swigarg0) (new wxClientDC(_swigarg0))
static PyObject *_wrap_new_wxClientDC(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxClientDC * _result;
    wxWindow * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "win", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxClientDC",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxClientDC. Expected _wxWindow_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxClientDC *)new_wxClientDC(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxClientDC_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxPaintDCTowxDC(void *ptr) {
    wxPaintDC *src;
    wxDC *dest;
    src = (wxPaintDC *) ptr;
    dest = (wxDC *) src;
    return (void *) dest;
}

static void *SwigwxPaintDCTowxObject(void *ptr) {
    wxPaintDC *src;
    wxObject *dest;
    src = (wxPaintDC *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxPaintDC(_swigarg0) (new wxPaintDC(_swigarg0))
static PyObject *_wrap_new_wxPaintDC(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPaintDC * _result;
    wxWindow * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "win", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxPaintDC",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPaintDC. Expected _wxWindow_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxPaintDC *)new_wxPaintDC(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPaintDC_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxWindowDCTowxDC(void *ptr) {
    wxWindowDC *src;
    wxDC *dest;
    src = (wxWindowDC *) ptr;
    dest = (wxDC *) src;
    return (void *) dest;
}

static void *SwigwxWindowDCTowxObject(void *ptr) {
    wxWindowDC *src;
    wxObject *dest;
    src = (wxWindowDC *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxWindowDC(_swigarg0) (new wxWindowDC(_swigarg0))
static PyObject *_wrap_new_wxWindowDC(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxWindowDC * _result;
    wxWindow * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "win", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxWindowDC",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxWindowDC. Expected _wxWindow_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxWindowDC *)new_wxWindowDC(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindowDC_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxPaletteTowxGDIObject(void *ptr) {
    wxPalette *src;
    wxGDIObject *dest;
    src = (wxPalette *) ptr;
    dest = (wxGDIObject *) src;
    return (void *) dest;
}

static void *SwigwxPaletteTowxObject(void *ptr) {
    wxPalette *src;
    wxObject *dest;
    src = (wxPalette *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxPalette(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxPalette(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_new_wxPalette(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPalette * _result;
    int  _arg0;
    byte * _arg1;
    byte * _arg2;
    byte * _arg3;
    PyObject * _obj1 = 0;
    PyObject * _obj2 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "choices","choices","choices", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:new_wxPalette",_kwnames,&_obj1,&_obj2,&_obj3)) 
        return NULL;
{
    _arg1 = byte_LIST_helper(_obj1);
    if (_arg1 == NULL) {
        return NULL;
    }
}
{
    _arg2 = byte_LIST_helper(_obj2);
    if (_arg2 == NULL) {
        return NULL;
    }
}
    if (_obj3)
{
    _arg3 = byte_LIST_helper(_obj3);
    if (_arg3 == NULL) {
        return NULL;
    }
}
{
    if (_obj1) {
        _arg0 = PyList_Size(_obj1);
    }
    else {
        _arg0 = 0;
    }
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxPalette *)new_wxPalette(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPalette_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    delete [] _arg1;
}
{
    delete [] _arg2;
}
{
    delete [] _arg3;
}
    return _resultobj;
}

#define delete_wxPalette(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxPalette(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPalette * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxPalette",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPalette_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxPalette. Expected _wxPalette_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxPalette(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPalette_GetPixel(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->GetPixel(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxPalette_GetPixel(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxPalette * _arg0;
    byte  _arg1;
    byte  _arg2;
    byte  _arg3;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","red","green","blue", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Obbb:wxPalette_GetPixel",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPalette_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPalette_GetPixel. Expected _wxPalette_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxPalette_GetPixel(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPalette_GetRGB(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->GetRGB(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxPalette_GetRGB(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPalette * _arg0;
    int  _arg1;
    byte * _arg2;
    int  temp;
    byte * _arg3;
    int  temp0;
    byte * _arg4;
    int  temp1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","pixel", NULL };

    self = self;
{
  _arg2 = (byte*)&temp;
}
{
  _arg3 = (byte*)&temp0;
}
{
  _arg4 = (byte*)&temp1;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPalette_GetRGB",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPalette_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPalette_GetRGB. Expected _wxPalette_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPalette_GetRGB(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
{
    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);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg4));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxPalette_Ok(_swigobj)  (_swigobj->Ok())
static PyObject *_wrap_wxPalette_Ok(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPalette * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPalette_Ok",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPalette_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPalette_Ok. Expected _wxPalette_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPalette_Ok(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxImageListTowxObject(void *ptr) {
    wxImageList *src;
    wxObject *dest;
    src = (wxImageList *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxImageList(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxImageList(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_new_wxImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxImageList * _result;
    int  _arg0;
    int  _arg1;
    int  _arg2 = (int ) TRUE;
    int  _arg3 = (int ) 1;
    char *_kwnames[] = { "width","height","mask","initialCount", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ii|ii:new_wxImageList",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxImageList *)new_wxImageList(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxImageList_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define delete_wxImageList(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxImageList * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxImageList",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxImageList. Expected _wxImageList_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxImageList(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxImageList_Add(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Add(_swigarg0,_swigarg1))
static PyObject *_wrap_wxImageList_Add(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxImageList * _arg0;
    wxBitmap * _arg1;
    wxBitmap * _arg2 = (wxBitmap *) &wxNullBitmap;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    PyObject * _argo2 = 0;
    char *_kwnames[] = { "self","bitmap","mask", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxImageList_Add",_kwnames,&_argo0,&_argo1,&_argo2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_Add. Expected _wxImageList_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxImageList_Add. Expected _wxBitmap_p.");
        return NULL;
        }
    }
    if (_argo2) {
        if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxImageList_Add. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxImageList_Add(_arg0,*_arg1,*_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxImageList_AddWithColourMask(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Add(_swigarg0,_swigarg1))
static PyObject *_wrap_wxImageList_AddWithColourMask(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxImageList * _arg0;
    wxBitmap * _arg1;
    wxColour * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    wxColour  temp;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","bitmap","maskColour", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxImageList_AddWithColourMask",_kwnames,&_argo0,&_argo1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_AddWithColourMask. Expected _wxImageList_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxImageList_AddWithColourMask. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    _arg2 = &temp;
    if (! wxColour_helper(_obj2, &_arg2))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxImageList_AddWithColourMask(_arg0,*_arg1,*_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxImageList_AddIcon(_swigobj,_swigarg0)  (_swigobj->Add(_swigarg0))
static PyObject *_wrap_wxImageList_AddIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxImageList * _arg0;
    wxIcon * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","icon", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxImageList_AddIcon",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_AddIcon. Expected _wxImageList_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxIcon_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxImageList_AddIcon. Expected _wxIcon_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxImageList_AddIcon(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxImageList_Replace(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Replace(_swigarg0,_swigarg1))
static PyObject *_wrap_wxImageList_Replace(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxImageList * _arg0;
    int  _arg1;
    wxBitmap * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo2 = 0;
    char *_kwnames[] = { "self","index","bitmap", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxImageList_Replace",_kwnames,&_argo0,&_arg1,&_argo2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_Replace. Expected _wxImageList_p.");
        return NULL;
        }
    }
    if (_argo2) {
        if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxImageList_Replace. Expected _wxBitmap_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxImageList_Replace(_arg0,_arg1,*_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxImageList_Draw(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->Draw(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
static PyObject *_wrap_wxImageList_Draw(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxImageList * _arg0;
    int  _arg1;
    wxDC * _arg2;
    int  _arg3;
    int  _arg4;
    int  _arg5 = (int ) (wxIMAGELIST_DRAW_NORMAL);
    bool  _arg6 = (bool ) FALSE;
    PyObject * _argo0 = 0;
    PyObject * _argo2 = 0;
    int tempbool6 = (int) FALSE;
    char *_kwnames[] = { "self","index","dc","x","x","flags","solidBackground", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiOii|ii:wxImageList_Draw",_kwnames,&_argo0,&_arg1,&_argo2,&_arg3,&_arg4,&_arg5,&tempbool6)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_Draw. Expected _wxImageList_p.");
        return NULL;
        }
    }
    if (_argo2) {
        if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxImageList_Draw. Expected _wxDC_p.");
        return NULL;
        }
    }
    _arg6 = (bool ) tempbool6;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxImageList_Draw(_arg0,_arg1,*_arg2,_arg3,_arg4,_arg5,_arg6);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxImageList_GetImageCount(_swigobj)  (_swigobj->GetImageCount())
static PyObject *_wrap_wxImageList_GetImageCount(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxImageList * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxImageList_GetImageCount",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_GetImageCount. Expected _wxImageList_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxImageList_GetImageCount(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxImageList_Remove(_swigobj,_swigarg0)  (_swigobj->Remove(_swigarg0))
static PyObject *_wrap_wxImageList_Remove(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxImageList * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","index", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxImageList_Remove",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_Remove. Expected _wxImageList_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxImageList_Remove(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxImageList_RemoveAll(_swigobj)  (_swigobj->RemoveAll())
static PyObject *_wrap_wxImageList_RemoveAll(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxImageList * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxImageList_RemoveAll",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_RemoveAll. Expected _wxImageList_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxImageList_RemoveAll(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxImageList_GetSize(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->GetSize(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxImageList_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxImageList * _arg0;
    int  _arg1;
    int * _arg2;
    int  temp;
    int * _arg3;
    int  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","index", NULL };

    self = self;
{
  _arg2 = &temp;
}
{
  _arg3 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxImageList_GetSize",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageList_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_GetSize. Expected _wxImageList_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxImageList_GetSize(_arg0,_arg1,*_arg2,*_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    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;
}

static void *SwigwxRegionTowxGDIObject(void *ptr) {
    wxRegion *src;
    wxGDIObject *dest;
    src = (wxRegion *) ptr;
    dest = (wxGDIObject *) src;
    return (void *) dest;
}

static void *SwigwxRegionTowxObject(void *ptr) {
    wxRegion *src;
    wxObject *dest;
    src = (wxRegion *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxRegion(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxRegion(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_new_wxRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegion * _result;
    wxCoord  _arg0 = (wxCoord ) 0;
    wxCoord  _arg1 = (wxCoord ) 0;
    wxCoord  _arg2 = (wxCoord ) 0;
    wxCoord  _arg3 = (wxCoord ) 0;
    char *_kwnames[] = { "x","y","width","height", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iiii:new_wxRegion",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxRegion *)new_wxRegion(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegion_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define new_wxRegionFromPoints(_swigarg0,_swigarg1,_swigarg2) (new wxRegion(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_new_wxRegionFromPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegion * _result;
    int  _arg0;
    wxPoint * _arg1;
    int  _arg2 = (int ) wxWINDING_RULE;
    int  NPOINTS;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "points","fillStyle", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:new_wxRegionFromPoints",_kwnames,&_obj1,&_arg2)) 
        return NULL;
    if (_obj1)
{
    _arg1 = wxPoint_LIST_helper(_obj1, &NPOINTS);
	if (_arg1 == NULL) {
		return NULL;
	}
}
{
	_arg0 = NPOINTS;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxRegion *)new_wxRegionFromPoints(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegion_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    delete [] _arg1;
}
    return _resultobj;
}

#define new_wxRegionFromBitmap(_swigarg0,_swigarg1,_swigarg2) (new wxRegion(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_new_wxRegionFromBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegion * _result;
    wxBitmap * _arg0;
    wxColour * _arg1 = (wxColour *) &wxNullColour;
    int  _arg2 = (int ) 0;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "bmp","transColour","tolerance", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|Oi:new_wxRegionFromBitmap",_kwnames,&_argo0,&_obj1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxRegionFromBitmap. Expected _wxBitmap_p.");
        return NULL;
        }
    }
    if (_obj1)
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxRegion *)new_wxRegionFromBitmap(*_arg0,*_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegion_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define delete_wxRegion(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegion * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxRegion",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxRegion. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxRegion(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxRegion_Clear(_swigobj)  (_swigobj->Clear())
static PyObject *_wrap_wxRegion_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegion * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegion_Clear",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Clear. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxRegion_Clear(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxRegion_Offset(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Offset(_swigarg0,_swigarg1))
static PyObject *_wrap_wxRegion_Offset(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxRegion_Offset",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Offset. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_Offset(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_Contains(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Contains(_swigarg0,_swigarg1))
static PyObject *_wrap_wxRegion_Contains(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegionContain  _result;
    wxRegion * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxRegion_Contains",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Contains. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxRegionContain )wxRegion_Contains(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_ContainsPoint(_swigobj,_swigarg0)  (_swigobj->Contains(_swigarg0))
static PyObject *_wrap_wxRegion_ContainsPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegionContain  _result;
    wxRegion * _arg0;
    wxPoint * _arg1;
    PyObject * _argo0 = 0;
    wxPoint  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","pt", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_ContainsPoint",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_ContainsPoint. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxPoint_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxRegionContain )wxRegion_ContainsPoint(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_ContainsRect(_swigobj,_swigarg0)  (_swigobj->Contains(_swigarg0))
static PyObject *_wrap_wxRegion_ContainsRect(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegionContain  _result;
    wxRegion * _arg0;
    wxRect * _arg1;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","rect", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_ContainsRect",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_ContainsRect. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxRegionContain )wxRegion_ContainsRect(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_ContainsRectDim(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->Contains(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxRegion_ContainsRectDim(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegionContain  _result;
    wxRegion * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y","w","h", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxRegion_ContainsRectDim",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_ContainsRectDim. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxRegionContain )wxRegion_ContainsRectDim(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_GetBox(_swigobj)  (_swigobj->GetBox())
static PyObject *_wrap_wxRegion_GetBox(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRect * _result;
    wxRegion * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegion_GetBox",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_GetBox. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxRect (wxRegion_GetBox(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxRect_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxRegion_Intersect(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->Intersect(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxRegion_Intersect(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y","width","height", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxRegion_Intersect",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Intersect. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_Intersect(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_IntersectRect(_swigobj,_swigarg0)  (_swigobj->Intersect(_swigarg0))
static PyObject *_wrap_wxRegion_IntersectRect(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxRect * _arg1;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","rect", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_IntersectRect",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_IntersectRect. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_IntersectRect(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_IntersectRegion(_swigobj,_swigarg0)  (_swigobj->Intersect(_swigarg0))
static PyObject *_wrap_wxRegion_IntersectRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxRegion * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","region", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_IntersectRegion",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_IntersectRegion. Expected _wxRegion_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_IntersectRegion. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_IntersectRegion(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_IsEmpty(_swigobj)  (_swigobj->IsEmpty())
static PyObject *_wrap_wxRegion_IsEmpty(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegion_IsEmpty",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_IsEmpty. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_IsEmpty(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_Union(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->Union(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxRegion_Union(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y","width","height", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxRegion_Union",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Union. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_Union(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_UnionRect(_swigobj,_swigarg0)  (_swigobj->Union(_swigarg0))
static PyObject *_wrap_wxRegion_UnionRect(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxRect * _arg1;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","rect", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_UnionRect",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_UnionRect. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_UnionRect(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_UnionRegion(_swigobj,_swigarg0)  (_swigobj->Union(_swigarg0))
static PyObject *_wrap_wxRegion_UnionRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxRegion * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","region", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_UnionRegion",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_UnionRegion. Expected _wxRegion_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_UnionRegion. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_UnionRegion(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_Subtract(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->Subtract(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxRegion_Subtract(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y","width","height", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxRegion_Subtract",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Subtract. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_Subtract(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_SubtractRect(_swigobj,_swigarg0)  (_swigobj->Subtract(_swigarg0))
static PyObject *_wrap_wxRegion_SubtractRect(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxRect * _arg1;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","rect", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_SubtractRect",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_SubtractRect. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_SubtractRect(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_SubtractRegion(_swigobj,_swigarg0)  (_swigobj->Subtract(_swigarg0))
static PyObject *_wrap_wxRegion_SubtractRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxRegion * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","region", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_SubtractRegion",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_SubtractRegion. Expected _wxRegion_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_SubtractRegion. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_SubtractRegion(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_Xor(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->Xor(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxRegion_Xor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxCoord  _arg1;
    wxCoord  _arg2;
    wxCoord  _arg3;
    wxCoord  _arg4;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y","width","height", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxRegion_Xor",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Xor. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_Xor(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_XorRect(_swigobj,_swigarg0)  (_swigobj->Xor(_swigarg0))
static PyObject *_wrap_wxRegion_XorRect(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxRect * _arg1;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","rect", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_XorRect",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_XorRect. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_XorRect(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_XorRegion(_swigobj,_swigarg0)  (_swigobj->Xor(_swigarg0))
static PyObject *_wrap_wxRegion_XorRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxRegion * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","region", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_XorRegion",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_XorRegion. Expected _wxRegion_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_XorRegion. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_XorRegion(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegion_ConvertToBitmap(_swigobj)  (_swigobj->ConvertToBitmap())
static PyObject *_wrap_wxRegion_ConvertToBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxBitmap * _result;
    wxRegion * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegion_ConvertToBitmap",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_ConvertToBitmap. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxBitmap (wxRegion_ConvertToBitmap(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxRegion_UnionBitmap(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->Union(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxRegion_UnionBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegion * _arg0;
    wxBitmap * _arg1;
    wxColour * _arg2 = (wxColour *) &wxNullColour;
    int  _arg3 = (int ) 0;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    wxColour  temp;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","bmp","transColour","tolerance", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|Oi:wxRegion_UnionBitmap",_kwnames,&_argo0,&_argo1,&_obj2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_UnionBitmap. Expected _wxRegion_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_UnionBitmap. Expected _wxBitmap_p.");
        return NULL;
        }
    }
    if (_obj2)
{
    _arg2 = &temp;
    if (! wxColour_helper(_obj2, &_arg2))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegion_UnionBitmap(_arg0,*_arg1,*_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxRegionIteratorTowxObject(void *ptr) {
    wxRegionIterator *src;
    wxObject *dest;
    src = (wxRegionIterator *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxRegionIterator(_swigarg0) (new wxRegionIterator(_swigarg0))
static PyObject *_wrap_new_wxRegionIterator(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegionIterator * _result;
    wxRegion * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "region", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxRegionIterator",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxRegionIterator. Expected _wxRegion_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxRegionIterator *)new_wxRegionIterator(*_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegionIterator_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define delete_wxRegionIterator(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxRegionIterator(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxRegionIterator",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxRegionIterator. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxRegionIterator(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxRegionIterator_GetX(_swigobj)  (_swigobj->GetX())
static PyObject *_wrap_wxRegionIterator_GetX(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetX",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetX. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxRegionIterator_GetX(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegionIterator_GetY(_swigobj)  (_swigobj->GetY())
static PyObject *_wrap_wxRegionIterator_GetY(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetY",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetY. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxRegionIterator_GetY(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegionIterator_GetW(_swigobj)  (_swigobj->GetW())
static PyObject *_wrap_wxRegionIterator_GetW(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetW",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetW. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxRegionIterator_GetW(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegionIterator_GetWidth(_swigobj)  (_swigobj->GetWidth())
static PyObject *_wrap_wxRegionIterator_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetWidth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetWidth. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxRegionIterator_GetWidth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegionIterator_GetH(_swigobj)  (_swigobj->GetH())
static PyObject *_wrap_wxRegionIterator_GetH(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetH",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetH. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxRegionIterator_GetH(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegionIterator_GetHeight(_swigobj)  (_swigobj->GetHeight())
static PyObject *_wrap_wxRegionIterator_GetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxCoord  _result;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetHeight",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetHeight. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxCoord )wxRegionIterator_GetHeight(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegionIterator_GetRect(_swigobj)  (_swigobj->GetRect())
static PyObject *_wrap_wxRegionIterator_GetRect(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRect * _result;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetRect",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetRect. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxRect (wxRegionIterator_GetRect(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxRect_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxRegionIterator_HaveRects(_swigobj)  (_swigobj->HaveRects())
static PyObject *_wrap_wxRegionIterator_HaveRects(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_HaveRects",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_HaveRects. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegionIterator_HaveRects(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxRegionIterator_Reset(_swigobj)  (_swigobj->Reset())
static PyObject *_wrap_wxRegionIterator_Reset(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_Reset",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_Reset. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxRegionIterator_Reset(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void  wxRegionIterator_Next(wxRegionIterator *self) {
            (*self) ++;
        }
static PyObject *_wrap_wxRegionIterator_Next(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_Next",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_Next. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxRegionIterator_Next(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static bool  wxRegionIterator___nonzero__(wxRegionIterator *self) {
            return self->operator bool();
        }
static PyObject *_wrap_wxRegionIterator___nonzero__(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxRegionIterator * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator___nonzero__",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator___nonzero__. Expected _wxRegionIterator_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxRegionIterator___nonzero__(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static PyMethodDef gdicMethods[] = {
	 { "wxRegionIterator___nonzero__", (PyCFunction) _wrap_wxRegionIterator___nonzero__, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegionIterator_Next", (PyCFunction) _wrap_wxRegionIterator_Next, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegionIterator_Reset", (PyCFunction) _wrap_wxRegionIterator_Reset, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegionIterator_HaveRects", (PyCFunction) _wrap_wxRegionIterator_HaveRects, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegionIterator_GetRect", (PyCFunction) _wrap_wxRegionIterator_GetRect, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegionIterator_GetHeight", (PyCFunction) _wrap_wxRegionIterator_GetHeight, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegionIterator_GetH", (PyCFunction) _wrap_wxRegionIterator_GetH, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegionIterator_GetWidth", (PyCFunction) _wrap_wxRegionIterator_GetWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegionIterator_GetW", (PyCFunction) _wrap_wxRegionIterator_GetW, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegionIterator_GetY", (PyCFunction) _wrap_wxRegionIterator_GetY, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegionIterator_GetX", (PyCFunction) _wrap_wxRegionIterator_GetX, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxRegionIterator", (PyCFunction) _wrap_delete_wxRegionIterator, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxRegionIterator", (PyCFunction) _wrap_new_wxRegionIterator, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_UnionBitmap", (PyCFunction) _wrap_wxRegion_UnionBitmap, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_ConvertToBitmap", (PyCFunction) _wrap_wxRegion_ConvertToBitmap, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_XorRegion", (PyCFunction) _wrap_wxRegion_XorRegion, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_XorRect", (PyCFunction) _wrap_wxRegion_XorRect, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_Xor", (PyCFunction) _wrap_wxRegion_Xor, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_SubtractRegion", (PyCFunction) _wrap_wxRegion_SubtractRegion, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_SubtractRect", (PyCFunction) _wrap_wxRegion_SubtractRect, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_Subtract", (PyCFunction) _wrap_wxRegion_Subtract, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_UnionRegion", (PyCFunction) _wrap_wxRegion_UnionRegion, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_UnionRect", (PyCFunction) _wrap_wxRegion_UnionRect, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_Union", (PyCFunction) _wrap_wxRegion_Union, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_IsEmpty", (PyCFunction) _wrap_wxRegion_IsEmpty, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_IntersectRegion", (PyCFunction) _wrap_wxRegion_IntersectRegion, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_IntersectRect", (PyCFunction) _wrap_wxRegion_IntersectRect, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_Intersect", (PyCFunction) _wrap_wxRegion_Intersect, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_GetBox", (PyCFunction) _wrap_wxRegion_GetBox, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_ContainsRectDim", (PyCFunction) _wrap_wxRegion_ContainsRectDim, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_ContainsRect", (PyCFunction) _wrap_wxRegion_ContainsRect, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_ContainsPoint", (PyCFunction) _wrap_wxRegion_ContainsPoint, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_Contains", (PyCFunction) _wrap_wxRegion_Contains, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_Offset", (PyCFunction) _wrap_wxRegion_Offset, METH_VARARGS | METH_KEYWORDS },
	 { "wxRegion_Clear", (PyCFunction) _wrap_wxRegion_Clear, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxRegion", (PyCFunction) _wrap_delete_wxRegion, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxRegionFromBitmap", (PyCFunction) _wrap_new_wxRegionFromBitmap, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxRegionFromPoints", (PyCFunction) _wrap_new_wxRegionFromPoints, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxRegion", (PyCFunction) _wrap_new_wxRegion, METH_VARARGS | METH_KEYWORDS },
	 { "wxImageList_GetSize", (PyCFunction) _wrap_wxImageList_GetSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxImageList_RemoveAll", (PyCFunction) _wrap_wxImageList_RemoveAll, METH_VARARGS | METH_KEYWORDS },
	 { "wxImageList_Remove", (PyCFunction) _wrap_wxImageList_Remove, METH_VARARGS | METH_KEYWORDS },
	 { "wxImageList_GetImageCount", (PyCFunction) _wrap_wxImageList_GetImageCount, METH_VARARGS | METH_KEYWORDS },
	 { "wxImageList_Draw", (PyCFunction) _wrap_wxImageList_Draw, METH_VARARGS | METH_KEYWORDS },
	 { "wxImageList_Replace", (PyCFunction) _wrap_wxImageList_Replace, METH_VARARGS | METH_KEYWORDS },
	 { "wxImageList_AddIcon", (PyCFunction) _wrap_wxImageList_AddIcon, METH_VARARGS | METH_KEYWORDS },
	 { "wxImageList_AddWithColourMask", (PyCFunction) _wrap_wxImageList_AddWithColourMask, METH_VARARGS | METH_KEYWORDS },
	 { "wxImageList_Add", (PyCFunction) _wrap_wxImageList_Add, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxImageList", (PyCFunction) _wrap_delete_wxImageList, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxImageList", (PyCFunction) _wrap_new_wxImageList, METH_VARARGS | METH_KEYWORDS },
	 { "wxPalette_Ok", (PyCFunction) _wrap_wxPalette_Ok, METH_VARARGS | METH_KEYWORDS },
	 { "wxPalette_GetRGB", (PyCFunction) _wrap_wxPalette_GetRGB, METH_VARARGS | METH_KEYWORDS },
	 { "wxPalette_GetPixel", (PyCFunction) _wrap_wxPalette_GetPixel, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxPalette", (PyCFunction) _wrap_delete_wxPalette, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxPalette", (PyCFunction) _wrap_new_wxPalette, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxWindowDC", (PyCFunction) _wrap_new_wxWindowDC, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxPaintDC", (PyCFunction) _wrap_new_wxPaintDC, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxClientDC", (PyCFunction) _wrap_new_wxClientDC, METH_VARARGS | METH_KEYWORDS },
	 { "wxScreenDC_EndDrawingOnTop", (PyCFunction) _wrap_wxScreenDC_EndDrawingOnTop, METH_VARARGS | METH_KEYWORDS },
	 { "wxScreenDC_StartDrawingOnTop", (PyCFunction) _wrap_wxScreenDC_StartDrawingOnTop, METH_VARARGS | METH_KEYWORDS },
	 { "wxScreenDC_StartDrawingOnTopWin", (PyCFunction) _wrap_wxScreenDC_StartDrawingOnTopWin, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxScreenDC", (PyCFunction) _wrap_new_wxScreenDC, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxBufferedPaintDC", (PyCFunction) _wrap_new_wxBufferedPaintDC, METH_VARARGS | METH_KEYWORDS },
	 { "wxBufferedDC_UnMask", (PyCFunction) _wrap_wxBufferedDC_UnMask, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxBufferedDCInternalBuffer", (PyCFunction) _wrap_new_wxBufferedDCInternalBuffer, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxBufferedDC", (PyCFunction) _wrap_new_wxBufferedDC, METH_VARARGS | METH_KEYWORDS },
	 { "wxMemoryDC_SelectObject", (PyCFunction) _wrap_wxMemoryDC_SelectObject, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxMemoryDC", (PyCFunction) _wrap_new_wxMemoryDC, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC__DrawTextList", (PyCFunction) _wrap_wxDC__DrawTextList, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC__DrawPolygonList", (PyCFunction) _wrap_wxDC__DrawPolygonList, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC__DrawEllipseList", (PyCFunction) _wrap_wxDC__DrawEllipseList, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC__DrawRectangleList", (PyCFunction) _wrap_wxDC__DrawRectangleList, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC__DrawLineList", (PyCFunction) _wrap_wxDC__DrawLineList, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC__DrawPointList", (PyCFunction) _wrap_wxDC__DrawPointList, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetBoundingBox", (PyCFunction) _wrap_wxDC_GetBoundingBox, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_ResetBoundingBox", (PyCFunction) _wrap_wxDC_ResetBoundingBox, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_CalcBoundingBox", (PyCFunction) _wrap_wxDC_CalcBoundingBox, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetAxisOrientation", (PyCFunction) _wrap_wxDC_SetAxisOrientation, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetDeviceOrigin", (PyCFunction) _wrap_wxDC_GetDeviceOrigin, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetLogicalOrigin", (PyCFunction) _wrap_wxDC_SetLogicalOrigin, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetLogicalOrigin", (PyCFunction) _wrap_wxDC_GetLogicalOrigin, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetPPI", (PyCFunction) _wrap_wxDC_GetPPI, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetDepth", (PyCFunction) _wrap_wxDC_GetDepth, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_CanGetTextExtent", (PyCFunction) _wrap_wxDC_CanGetTextExtent, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_CanDrawBitmap", (PyCFunction) _wrap_wxDC_CanDrawBitmap, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawBitmap", (PyCFunction) _wrap_wxDC_DrawBitmap, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_StartPage", (PyCFunction) _wrap_wxDC_StartPage, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_StartDoc", (PyCFunction) _wrap_wxDC_StartDoc, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetUserScale", (PyCFunction) _wrap_wxDC_SetUserScale, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetTextForeground", (PyCFunction) _wrap_wxDC_SetTextForeground, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetTextBackground", (PyCFunction) _wrap_wxDC_SetTextBackground, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetPen", (PyCFunction) _wrap_wxDC_SetPen, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetOptimization", (PyCFunction) _wrap_wxDC_SetOptimization, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetMapMode", (PyCFunction) _wrap_wxDC_SetMapMode, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetLogicalScale", (PyCFunction) _wrap_wxDC_SetLogicalScale, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetLogicalFunction", (PyCFunction) _wrap_wxDC_SetLogicalFunction, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetFont", (PyCFunction) _wrap_wxDC_SetFont, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetBrush", (PyCFunction) _wrap_wxDC_SetBrush, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetPalette", (PyCFunction) _wrap_wxDC_SetPalette, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetClippingRect", (PyCFunction) _wrap_wxDC_SetClippingRect, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetClippingRegionAsRegion", (PyCFunction) _wrap_wxDC_SetClippingRegionAsRegion, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetClippingRegion", (PyCFunction) _wrap_wxDC_SetClippingRegion, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetBackgroundMode", (PyCFunction) _wrap_wxDC_SetBackgroundMode, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetBackground", (PyCFunction) _wrap_wxDC_SetBackground, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_SetDeviceOrigin", (PyCFunction) _wrap_wxDC_SetDeviceOrigin, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_Ok", (PyCFunction) _wrap_wxDC_Ok, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_MinY", (PyCFunction) _wrap_wxDC_MinY, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_MinX", (PyCFunction) _wrap_wxDC_MinX, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_MaxY", (PyCFunction) _wrap_wxDC_MaxY, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_MaxX", (PyCFunction) _wrap_wxDC_MaxX, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_LogicalToDeviceYRel", (PyCFunction) _wrap_wxDC_LogicalToDeviceYRel, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_LogicalToDeviceY", (PyCFunction) _wrap_wxDC_LogicalToDeviceY, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_LogicalToDeviceXRel", (PyCFunction) _wrap_wxDC_LogicalToDeviceXRel, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_LogicalToDeviceX", (PyCFunction) _wrap_wxDC_LogicalToDeviceX, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetUserScale", (PyCFunction) _wrap_wxDC_GetUserScale, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetTextForeground", (PyCFunction) _wrap_wxDC_GetTextForeground, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetMultiLineTextExtent", (PyCFunction) _wrap_wxDC_GetMultiLineTextExtent, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetFullTextExtent", (PyCFunction) _wrap_wxDC_GetFullTextExtent, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetTextExtent", (PyCFunction) _wrap_wxDC_GetTextExtent, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetTextBackground", (PyCFunction) _wrap_wxDC_GetTextBackground, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetSizeMM", (PyCFunction) _wrap_wxDC_GetSizeMM, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetSize", (PyCFunction) _wrap_wxDC_GetSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetSizeTuple", (PyCFunction) _wrap_wxDC_GetSizeTuple, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetPixel", (PyCFunction) _wrap_wxDC_GetPixel, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetPen", (PyCFunction) _wrap_wxDC_GetPen, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetOptimization", (PyCFunction) _wrap_wxDC_GetOptimization, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetMapMode", (PyCFunction) _wrap_wxDC_GetMapMode, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetLogicalScale", (PyCFunction) _wrap_wxDC_GetLogicalScale, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetLogicalFunction", (PyCFunction) _wrap_wxDC_GetLogicalFunction, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetFont", (PyCFunction) _wrap_wxDC_GetFont, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetClippingBox", (PyCFunction) _wrap_wxDC_GetClippingBox, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetCharWidth", (PyCFunction) _wrap_wxDC_GetCharWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetCharHeight", (PyCFunction) _wrap_wxDC_GetCharHeight, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetBrush", (PyCFunction) _wrap_wxDC_GetBrush, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_GetBackground", (PyCFunction) _wrap_wxDC_GetBackground, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_FloodFill", (PyCFunction) _wrap_wxDC_FloodFill, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_EndPage", (PyCFunction) _wrap_wxDC_EndPage, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_EndDrawing", (PyCFunction) _wrap_wxDC_EndDrawing, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_EndDoc", (PyCFunction) _wrap_wxDC_EndDoc, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawText", (PyCFunction) _wrap_wxDC_DrawText, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawSpline", (PyCFunction) _wrap_wxDC_DrawSpline, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawRoundedRectangle", (PyCFunction) _wrap_wxDC_DrawRoundedRectangle, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawRotatedText", (PyCFunction) _wrap_wxDC_DrawRotatedText, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawRectangleRect", (PyCFunction) _wrap_wxDC_DrawRectangleRect, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawRectangle", (PyCFunction) _wrap_wxDC_DrawRectangle, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawPoint", (PyCFunction) _wrap_wxDC_DrawPoint, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawPolygon", (PyCFunction) _wrap_wxDC_DrawPolygon, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawLines", (PyCFunction) _wrap_wxDC_DrawLines, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawLine", (PyCFunction) _wrap_wxDC_DrawLine, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawImageLabel", (PyCFunction) _wrap_wxDC_DrawImageLabel, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawLabel", (PyCFunction) _wrap_wxDC_DrawLabel, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawIcon", (PyCFunction) _wrap_wxDC_DrawIcon, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawEllipticArc", (PyCFunction) _wrap_wxDC_DrawEllipticArc, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawEllipse", (PyCFunction) _wrap_wxDC_DrawEllipse, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawCircle", (PyCFunction) _wrap_wxDC_DrawCircle, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DrawArc", (PyCFunction) _wrap_wxDC_DrawArc, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DeviceToLogicalYRel", (PyCFunction) _wrap_wxDC_DeviceToLogicalYRel, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DeviceToLogicalY", (PyCFunction) _wrap_wxDC_DeviceToLogicalY, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DeviceToLogicalXRel", (PyCFunction) _wrap_wxDC_DeviceToLogicalXRel, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DeviceToLogicalX", (PyCFunction) _wrap_wxDC_DeviceToLogicalX, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_DestroyClippingRegion", (PyCFunction) _wrap_wxDC_DestroyClippingRegion, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_CrossHair", (PyCFunction) _wrap_wxDC_CrossHair, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_Clear", (PyCFunction) _wrap_wxDC_Clear, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_Blit", (PyCFunction) _wrap_wxDC_Blit, METH_VARARGS | METH_KEYWORDS },
	 { "wxDC_BeginDrawing", (PyCFunction) _wrap_wxDC_BeginDrawing, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxDC", (PyCFunction) _wrap_delete_wxDC, METH_VARARGS | METH_KEYWORDS },
	 { "wxBrushList_GetCount", (PyCFunction) _wrap_wxBrushList_GetCount, METH_VARARGS | METH_KEYWORDS },
	 { "wxBrushList_RemoveBrush", (PyCFunction) _wrap_wxBrushList_RemoveBrush, METH_VARARGS | METH_KEYWORDS },
	 { "wxBrushList_FindOrCreateBrush", (PyCFunction) _wrap_wxBrushList_FindOrCreateBrush, METH_VARARGS | METH_KEYWORDS },
	 { "wxBrushList_AddBrush", (PyCFunction) _wrap_wxBrushList_AddBrush, METH_VARARGS | METH_KEYWORDS },
	 { "wxBrush_SetStyle", (PyCFunction) _wrap_wxBrush_SetStyle, METH_VARARGS | METH_KEYWORDS },
	 { "wxBrush_SetStipple", (PyCFunction) _wrap_wxBrush_SetStipple, METH_VARARGS | METH_KEYWORDS },
	 { "wxBrush_SetColour", (PyCFunction) _wrap_wxBrush_SetColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxBrush_Ok", (PyCFunction) _wrap_wxBrush_Ok, METH_VARARGS | METH_KEYWORDS },
	 { "wxBrush_GetStyle", (PyCFunction) _wrap_wxBrush_GetStyle, METH_VARARGS | METH_KEYWORDS },
	 { "wxBrush_GetStipple", (PyCFunction) _wrap_wxBrush_GetStipple, METH_VARARGS | METH_KEYWORDS },
	 { "wxBrush_GetColour", (PyCFunction) _wrap_wxBrush_GetColour, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxBrush", (PyCFunction) _wrap_delete_wxBrush, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxBrush", (PyCFunction) _wrap_new_wxBrush, METH_VARARGS | METH_KEYWORDS },
	 { "wxPenList_GetCount", (PyCFunction) _wrap_wxPenList_GetCount, METH_VARARGS | METH_KEYWORDS },
	 { "wxPenList_RemovePen", (PyCFunction) _wrap_wxPenList_RemovePen, METH_VARARGS | METH_KEYWORDS },
	 { "wxPenList_FindOrCreatePen", (PyCFunction) _wrap_wxPenList_FindOrCreatePen, METH_VARARGS | METH_KEYWORDS },
	 { "wxPenList_AddPen", (PyCFunction) _wrap_wxPenList_AddPen, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyPen_SetDashes", (PyCFunction) _wrap_wxPyPen_SetDashes, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxPyPen", (PyCFunction) _wrap_delete_wxPyPen, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxPyPen", (PyCFunction) _wrap_new_wxPyPen, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_GetDashes", (PyCFunction) _wrap_wxPen_GetDashes, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_SetDashes", (PyCFunction) _wrap_wxPen_SetDashes, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_SetWidth", (PyCFunction) _wrap_wxPen_SetWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_SetStyle", (PyCFunction) _wrap_wxPen_SetStyle, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_SetJoin", (PyCFunction) _wrap_wxPen_SetJoin, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_SetColour", (PyCFunction) _wrap_wxPen_SetColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_SetCap", (PyCFunction) _wrap_wxPen_SetCap, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_Ok", (PyCFunction) _wrap_wxPen_Ok, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_GetWidth", (PyCFunction) _wrap_wxPen_GetWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_GetStyle", (PyCFunction) _wrap_wxPen_GetStyle, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_GetJoin", (PyCFunction) _wrap_wxPen_GetJoin, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_GetColour", (PyCFunction) _wrap_wxPen_GetColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxPen_GetCap", (PyCFunction) _wrap_wxPen_GetCap, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxPen", (PyCFunction) _wrap_delete_wxPen, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxPen", (PyCFunction) _wrap_new_wxPen, METH_VARARGS | METH_KEYWORDS },
	 { "wxColourDatabase_Append", (PyCFunction) _wrap_wxColourDatabase_Append, METH_VARARGS | METH_KEYWORDS },
	 { "wxColourDatabase_FindName", (PyCFunction) _wrap_wxColourDatabase_FindName, METH_VARARGS | METH_KEYWORDS },
	 { "wxColourDatabase_FindColour", (PyCFunction) _wrap_wxColourDatabase_FindColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxColour___ne__", (PyCFunction) _wrap_wxColour___ne__, METH_VARARGS | METH_KEYWORDS },
	 { "wxColour___eq__", (PyCFunction) _wrap_wxColour___eq__, METH_VARARGS | METH_KEYWORDS },
	 { "wxColour_Get", (PyCFunction) _wrap_wxColour_Get, METH_VARARGS | METH_KEYWORDS },
	 { "wxColour_Set", (PyCFunction) _wrap_wxColour_Set, METH_VARARGS | METH_KEYWORDS },
	 { "wxColour_Ok", (PyCFunction) _wrap_wxColour_Ok, METH_VARARGS | METH_KEYWORDS },
	 { "wxColour_Blue", (PyCFunction) _wrap_wxColour_Blue, METH_VARARGS | METH_KEYWORDS },
	 { "wxColour_Green", (PyCFunction) _wrap_wxColour_Green, METH_VARARGS | METH_KEYWORDS },
	 { "wxColour_Red", (PyCFunction) _wrap_wxColour_Red, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxColour", (PyCFunction) _wrap_delete_wxColour, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxColour", (PyCFunction) _wrap_new_wxColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxCursor_Ok", (PyCFunction) _wrap_wxCursor_Ok, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxCursor", (PyCFunction) _wrap_delete_wxCursor, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxCursor", (PyCFunction) _wrap_new_wxCursor, METH_VARARGS | METH_KEYWORDS },
	 { "wxIconBundle_GetIcon", (PyCFunction) _wrap_wxIconBundle_GetIcon, METH_VARARGS | METH_KEYWORDS },
	 { "wxIconBundle_AddIconFromFile", (PyCFunction) _wrap_wxIconBundle_AddIconFromFile, METH_VARARGS | METH_KEYWORDS },
	 { "wxIconBundle_AddIcon", (PyCFunction) _wrap_wxIconBundle_AddIcon, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxIconBundle", (PyCFunction) _wrap_delete_wxIconBundle, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxIconBundleFromIcon", (PyCFunction) _wrap_new_wxIconBundleFromIcon, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxIconBundleFromFile", (PyCFunction) _wrap_new_wxIconBundleFromFile, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxIconBundle", (PyCFunction) _wrap_new_wxIconBundle, METH_VARARGS | METH_KEYWORDS },
	 { "wxIcon_CopyFromBitmap", (PyCFunction) _wrap_wxIcon_CopyFromBitmap, METH_VARARGS | METH_KEYWORDS },
	 { "wxIcon_SetDepth", (PyCFunction) _wrap_wxIcon_SetDepth, METH_VARARGS | METH_KEYWORDS },
	 { "wxIcon_SetHeight", (PyCFunction) _wrap_wxIcon_SetHeight, METH_VARARGS | METH_KEYWORDS },
	 { "wxIcon_SetWidth", (PyCFunction) _wrap_wxIcon_SetWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxIcon_GetDepth", (PyCFunction) _wrap_wxIcon_GetDepth, METH_VARARGS | METH_KEYWORDS },
	 { "wxIcon_GetHeight", (PyCFunction) _wrap_wxIcon_GetHeight, METH_VARARGS | METH_KEYWORDS },
	 { "wxIcon_GetWidth", (PyCFunction) _wrap_wxIcon_GetWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxIcon_Ok", (PyCFunction) _wrap_wxIcon_Ok, METH_VARARGS | METH_KEYWORDS },
	 { "wxIcon_LoadFile", (PyCFunction) _wrap_wxIcon_LoadFile, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxIcon", (PyCFunction) _wrap_delete_wxIcon, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxIcon", (PyCFunction) _wrap_new_wxIcon, METH_VARARGS | METH_KEYWORDS },
	 { "wxMask_Destroy", (PyCFunction) _wrap_wxMask_Destroy, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxMask", (PyCFunction) _wrap_new_wxMask, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_CopyFromIcon", (PyCFunction) _wrap_wxBitmap_CopyFromIcon, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_GetSubBitmap", (PyCFunction) _wrap_wxBitmap_GetSubBitmap, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_SetDepth", (PyCFunction) _wrap_wxBitmap_SetDepth, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_SetHeight", (PyCFunction) _wrap_wxBitmap_SetHeight, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_SetWidth", (PyCFunction) _wrap_wxBitmap_SetWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_GetDepth", (PyCFunction) _wrap_wxBitmap_GetDepth, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_GetHeight", (PyCFunction) _wrap_wxBitmap_GetHeight, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_GetWidth", (PyCFunction) _wrap_wxBitmap_GetWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_Ok", (PyCFunction) _wrap_wxBitmap_Ok, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_SetMask", (PyCFunction) _wrap_wxBitmap_SetMask, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_SaveFile", (PyCFunction) _wrap_wxBitmap_SaveFile, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_LoadFile", (PyCFunction) _wrap_wxBitmap_LoadFile, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_GetMask", (PyCFunction) _wrap_wxBitmap_GetMask, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmap_GetPalette", (PyCFunction) _wrap_wxBitmap_GetPalette, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxBitmap", (PyCFunction) _wrap_delete_wxBitmap, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxBitmap", (PyCFunction) _wrap_new_wxBitmap, METH_VARARGS | METH_KEYWORDS },
	 { "wxGDIObject_IsNull", (PyCFunction) _wrap_wxGDIObject_IsNull, METH_VARARGS | METH_KEYWORDS },
	 { "wxGDIObject_SetVisible", (PyCFunction) _wrap_wxGDIObject_SetVisible, METH_VARARGS | METH_KEYWORDS },
	 { "wxGDIObject_GetVisible", (PyCFunction) _wrap_wxGDIObject_GetVisible, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxGDIObject", (PyCFunction) _wrap_delete_wxGDIObject, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGDIObject", (PyCFunction) _wrap_new_wxGDIObject, METH_VARARGS | METH_KEYWORDS },
	 { "wxMemoryDCFromDC", (PyCFunction) _wrap_wxMemoryDCFromDC, METH_VARARGS | METH_KEYWORDS },
	 { "wxNamedColour", (PyCFunction) _wrap_wxNamedColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxCursorFromBits", (PyCFunction) _wrap_wxCursorFromBits, METH_VARARGS | METH_KEYWORDS },
	 { "wxCursorFromImage", (PyCFunction) _wrap_wxCursorFromImage, METH_VARARGS | METH_KEYWORDS },
	 { "wxStockCursor", (PyCFunction) _wrap_wxStockCursor, METH_VARARGS | METH_KEYWORDS },
	 { "wxIconFromBitmap", (PyCFunction) _wrap_wxIconFromBitmap, METH_VARARGS | METH_KEYWORDS },
	 { "wxIconFromXPMData", (PyCFunction) _wrap_wxIconFromXPMData, METH_VARARGS | METH_KEYWORDS },
	 { "wxEmptyIcon", (PyCFunction) _wrap_wxEmptyIcon, METH_VARARGS | METH_KEYWORDS },
	 { "wxMaskColour", (PyCFunction) _wrap_wxMaskColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmapFromBits", (PyCFunction) _wrap_wxBitmapFromBits, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmapFromIcon", (PyCFunction) _wrap_wxBitmapFromIcon, METH_VARARGS | METH_KEYWORDS },
	 { "wxBitmapFromXPMData", (PyCFunction) _wrap_wxBitmapFromXPMData, METH_VARARGS | METH_KEYWORDS },
	 { "wxEmptyBitmap", (PyCFunction) _wrap_wxEmptyBitmap, 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[] = {
    { "_signed_long","_long",0},
    { "_wxPrintQuality","_wxCoord",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},
    { "_wxPrintQuality","_time_t",0},
    { "_wxPen","_wxPyPen",SwigwxPyPenTowxPen},
    { "_byte","_unsigned_char",0},
    { "_long","_unsigned_long",0},
    { "_long","_signed_long",0},
    { "_wxGDIObject","_wxRegion",SwigwxRegionTowxGDIObject},
    { "_wxGDIObject","_wxPalette",SwigwxPaletteTowxGDIObject},
    { "_wxGDIObject","_wxBrush",SwigwxBrushTowxGDIObject},
    { "_wxGDIObject","_wxPyPen",SwigwxPyPenTowxGDIObject},
    { "_wxGDIObject","_wxPen",SwigwxPenTowxGDIObject},
    { "_wxGDIObject","_wxCursor",SwigwxCursorTowxGDIObject},
    { "_wxGDIObject","_wxIcon",SwigwxIconTowxGDIObject},
    { "_wxGDIObject","_wxBitmap",SwigwxBitmapTowxGDIObject},
    { "_wxDC","_wxWindowDC",SwigwxWindowDCTowxDC},
    { "_wxDC","_wxPaintDC",SwigwxPaintDCTowxDC},
    { "_wxDC","_wxClientDC",SwigwxClientDCTowxDC},
    { "_wxDC","_wxScreenDC",SwigwxScreenDCTowxDC},
    { "_wxDC","_wxBufferedPaintDC",SwigwxBufferedPaintDCTowxDC},
    { "_wxDC","_wxBufferedDC",SwigwxBufferedDCTowxDC},
    { "_wxDC","_wxMemoryDC",SwigwxMemoryDCTowxDC},
    { "_size_t","_wxCoord",0},
    { "_size_t","_wxPrintQuality",0},
    { "_size_t","_time_t",0},
    { "_size_t","_unsigned_int",0},
    { "_size_t","_int",0},
    { "_size_t","_wxWindowID",0},
    { "_size_t","_uint",0},
    { "_uint","_wxCoord",0},
    { "_uint","_wxPrintQuality",0},
    { "_uint","_time_t",0},
    { "_uint","_size_t",0},
    { "_uint","_unsigned_int",0},
    { "_uint","_int",0},
    { "_uint","_wxWindowID",0},
    { "_wxChar","_char",0},
    { "_char","_wxChar",0},
    { "_wxBufferedDC","_wxBufferedPaintDC",SwigwxBufferedPaintDCTowxBufferedDC},
    { "_struct_wxNativeFontInfo","_wxNativeFontInfo",0},
    { "_EBool","_wxCoord",0},
    { "_EBool","_wxPrintQuality",0},
    { "_EBool","_signed_int",0},
    { "_EBool","_int",0},
    { "_EBool","_wxWindowID",0},
    { "_unsigned_long","_long",0},
    { "_wxNativeFontInfo","_struct_wxNativeFontInfo",0},
    { "_signed_int","_wxCoord",0},
    { "_signed_int","_wxPrintQuality",0},
    { "_signed_int","_EBool",0},
    { "_signed_int","_wxWindowID",0},
    { "_signed_int","_int",0},
    { "_WXTYPE","_short",0},
    { "_WXTYPE","_signed_short",0},
    { "_WXTYPE","_unsigned_short",0},
    { "_unsigned_short","_WXTYPE",0},
    { "_unsigned_short","_short",0},
    { "_wxObject","_wxRegionIterator",SwigwxRegionIteratorTowxObject},
    { "_wxObject","_wxRegion",SwigwxRegionTowxObject},
    { "_wxObject","_wxImageList",SwigwxImageListTowxObject},
    { "_wxObject","_wxPalette",SwigwxPaletteTowxObject},
    { "_wxObject","_wxWindowDC",SwigwxWindowDCTowxObject},
    { "_wxObject","_wxPaintDC",SwigwxPaintDCTowxObject},
    { "_wxObject","_wxClientDC",SwigwxClientDCTowxObject},
    { "_wxObject","_wxScreenDC",SwigwxScreenDCTowxObject},
    { "_wxObject","_wxBufferedPaintDC",SwigwxBufferedPaintDCTowxObject},
    { "_wxObject","_wxBufferedDC",SwigwxBufferedDCTowxObject},
    { "_wxObject","_wxMemoryDC",SwigwxMemoryDCTowxObject},
    { "_wxObject","_wxDC",SwigwxDCTowxObject},
    { "_wxObject","_wxBrushList",SwigwxBrushListTowxObject},
    { "_wxObject","_wxBrush",SwigwxBrushTowxObject},
    { "_wxObject","_wxPenList",SwigwxPenListTowxObject},
    { "_wxObject","_wxPyPen",SwigwxPyPenTowxObject},
    { "_wxObject","_wxPen",SwigwxPenTowxObject},
    { "_wxObject","_wxColourDatabase",SwigwxColourDatabaseTowxObject},
    { "_wxObject","_wxColour",SwigwxColourTowxObject},
    { "_wxObject","_wxCursor",SwigwxCursorTowxObject},
    { "_wxObject","_wxIcon",SwigwxIconTowxObject},
    { "_wxObject","_wxMask",SwigwxMaskTowxObject},
    { "_wxObject","_wxBitmap",SwigwxBitmapTowxObject},
    { "_wxObject","_wxGDIObject",SwigwxGDIObjectTowxObject},
    { "_signed_short","_WXTYPE",0},
    { "_signed_short","_short",0},
    { "_wxMemoryDC","_wxBufferedPaintDC",SwigwxBufferedPaintDCTowxMemoryDC},
    { "_wxMemoryDC","_wxBufferedDC",SwigwxBufferedDCTowxMemoryDC},
    { "_unsigned_char","_byte",0},
    { "_unsigned_int","_wxCoord",0},
    { "_unsigned_int","_wxPrintQuality",0},
    { "_unsigned_int","_time_t",0},
    { "_unsigned_int","_size_t",0},
    { "_unsigned_int","_uint",0},
    { "_unsigned_int","_wxWindowID",0},
    { "_unsigned_int","_int",0},
    { "_short","_WXTYPE",0},
    { "_short","_unsigned_short",0},
    { "_short","_signed_short",0},
    { "_wxWindowID","_wxCoord",0},
    { "_wxWindowID","_wxPrintQuality",0},
    { "_wxWindowID","_time_t",0},
    { "_wxWindowID","_size_t",0},
    { "_wxWindowID","_EBool",0},
    { "_wxWindowID","_uint",0},
    { "_wxWindowID","_int",0},
    { "_wxWindowID","_signed_int",0},
    { "_wxWindowID","_unsigned_int",0},
    { "_int","_wxCoord",0},
    { "_int","_wxPrintQuality",0},
    { "_int","_time_t",0},
    { "_int","_size_t",0},
    { "_int","_EBool",0},
    { "_int","_uint",0},
    { "_int","_wxWindowID",0},
    { "_int","_unsigned_int",0},
    { "_int","_signed_int",0},
    { "_time_t","_wxCoord",0},
    { "_time_t","_wxPrintQuality",0},
    { "_time_t","_unsigned_int",0},
    { "_time_t","_int",0},
    { "_time_t","_wxWindowID",0},
    { "_time_t","_uint",0},
    { "_time_t","_size_t",0},
    { "_wxCoord","_int",0},
    { "_wxCoord","_signed_int",0},
    { "_wxCoord","_unsigned_int",0},
    { "_wxCoord","_wxWindowID",0},
    { "_wxCoord","_uint",0},
    { "_wxCoord","_EBool",0},
    { "_wxCoord","_size_t",0},
    { "_wxCoord","_time_t",0},
    { "_wxCoord","_wxPrintQuality",0},
{0,0,0}};

static PyObject *SWIG_globals;
#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT(void) initgdic() {
	 PyObject *m, *d;
	 SWIG_globals = SWIG_newvarlink();
	 m = Py_InitModule("gdic", gdicMethods);
	 d = PyModule_GetDict(m);
	 PyDict_SetItemString(d,"wxIMAGELIST_DRAW_NORMAL", PyInt_FromLong((long) wxIMAGELIST_DRAW_NORMAL));
	 PyDict_SetItemString(d,"wxIMAGELIST_DRAW_TRANSPARENT", PyInt_FromLong((long) wxIMAGELIST_DRAW_TRANSPARENT));
	 PyDict_SetItemString(d,"wxIMAGELIST_DRAW_SELECTED", PyInt_FromLong((long) wxIMAGELIST_DRAW_SELECTED));
	 PyDict_SetItemString(d,"wxIMAGELIST_DRAW_FOCUSED", PyInt_FromLong((long) wxIMAGELIST_DRAW_FOCUSED));
	 PyDict_SetItemString(d,"wxIMAGE_LIST_NORMAL", PyInt_FromLong((long) wxIMAGE_LIST_NORMAL));
	 PyDict_SetItemString(d,"wxIMAGE_LIST_SMALL", PyInt_FromLong((long) wxIMAGE_LIST_SMALL));
	 PyDict_SetItemString(d,"wxIMAGE_LIST_STATE", PyInt_FromLong((long) wxIMAGE_LIST_STATE));
	 PyDict_SetItemString(d,"wxOutRegion", PyInt_FromLong((long) wxOutRegion));
	 PyDict_SetItemString(d,"wxPartRegion", PyInt_FromLong((long) wxPartRegion));
	 PyDict_SetItemString(d,"wxInRegion", PyInt_FromLong((long) wxInRegion));
	 PyDict_SetItemString(d,"cvar", SWIG_globals);
	 SWIG_addvarlink(SWIG_globals,"wxNORMAL_FONT",_wrap_wxNORMAL_FONT_get, _wrap_wxNORMAL_FONT_set);
	 SWIG_addvarlink(SWIG_globals,"wxSMALL_FONT",_wrap_wxSMALL_FONT_get, _wrap_wxSMALL_FONT_set);
	 SWIG_addvarlink(SWIG_globals,"wxITALIC_FONT",_wrap_wxITALIC_FONT_get, _wrap_wxITALIC_FONT_set);
	 SWIG_addvarlink(SWIG_globals,"wxSWISS_FONT",_wrap_wxSWISS_FONT_get, _wrap_wxSWISS_FONT_set);
	 SWIG_addvarlink(SWIG_globals,"wxRED_PEN",_wrap_wxRED_PEN_get, _wrap_wxRED_PEN_set);
	 SWIG_addvarlink(SWIG_globals,"wxCYAN_PEN",_wrap_wxCYAN_PEN_get, _wrap_wxCYAN_PEN_set);
	 SWIG_addvarlink(SWIG_globals,"wxGREEN_PEN",_wrap_wxGREEN_PEN_get, _wrap_wxGREEN_PEN_set);
	 SWIG_addvarlink(SWIG_globals,"wxBLACK_PEN",_wrap_wxBLACK_PEN_get, _wrap_wxBLACK_PEN_set);
	 SWIG_addvarlink(SWIG_globals,"wxWHITE_PEN",_wrap_wxWHITE_PEN_get, _wrap_wxWHITE_PEN_set);
	 SWIG_addvarlink(SWIG_globals,"wxTRANSPARENT_PEN",_wrap_wxTRANSPARENT_PEN_get, _wrap_wxTRANSPARENT_PEN_set);
	 SWIG_addvarlink(SWIG_globals,"wxBLACK_DASHED_PEN",_wrap_wxBLACK_DASHED_PEN_get, _wrap_wxBLACK_DASHED_PEN_set);
	 SWIG_addvarlink(SWIG_globals,"wxGREY_PEN",_wrap_wxGREY_PEN_get, _wrap_wxGREY_PEN_set);
	 SWIG_addvarlink(SWIG_globals,"wxMEDIUM_GREY_PEN",_wrap_wxMEDIUM_GREY_PEN_get, _wrap_wxMEDIUM_GREY_PEN_set);
	 SWIG_addvarlink(SWIG_globals,"wxLIGHT_GREY_PEN",_wrap_wxLIGHT_GREY_PEN_get, _wrap_wxLIGHT_GREY_PEN_set);
	 SWIG_addvarlink(SWIG_globals,"wxBLUE_BRUSH",_wrap_wxBLUE_BRUSH_get, _wrap_wxBLUE_BRUSH_set);
	 SWIG_addvarlink(SWIG_globals,"wxGREEN_BRUSH",_wrap_wxGREEN_BRUSH_get, _wrap_wxGREEN_BRUSH_set);
	 SWIG_addvarlink(SWIG_globals,"wxWHITE_BRUSH",_wrap_wxWHITE_BRUSH_get, _wrap_wxWHITE_BRUSH_set);
	 SWIG_addvarlink(SWIG_globals,"wxBLACK_BRUSH",_wrap_wxBLACK_BRUSH_get, _wrap_wxBLACK_BRUSH_set);
	 SWIG_addvarlink(SWIG_globals,"wxTRANSPARENT_BRUSH",_wrap_wxTRANSPARENT_BRUSH_get, _wrap_wxTRANSPARENT_BRUSH_set);
	 SWIG_addvarlink(SWIG_globals,"wxCYAN_BRUSH",_wrap_wxCYAN_BRUSH_get, _wrap_wxCYAN_BRUSH_set);
	 SWIG_addvarlink(SWIG_globals,"wxRED_BRUSH",_wrap_wxRED_BRUSH_get, _wrap_wxRED_BRUSH_set);
	 SWIG_addvarlink(SWIG_globals,"wxGREY_BRUSH",_wrap_wxGREY_BRUSH_get, _wrap_wxGREY_BRUSH_set);
	 SWIG_addvarlink(SWIG_globals,"wxMEDIUM_GREY_BRUSH",_wrap_wxMEDIUM_GREY_BRUSH_get, _wrap_wxMEDIUM_GREY_BRUSH_set);
	 SWIG_addvarlink(SWIG_globals,"wxLIGHT_GREY_BRUSH",_wrap_wxLIGHT_GREY_BRUSH_get, _wrap_wxLIGHT_GREY_BRUSH_set);
	 SWIG_addvarlink(SWIG_globals,"wxBLACK",_wrap_wxBLACK_get, _wrap_wxBLACK_set);
	 SWIG_addvarlink(SWIG_globals,"wxWHITE",_wrap_wxWHITE_get, _wrap_wxWHITE_set);
	 SWIG_addvarlink(SWIG_globals,"wxRED",_wrap_wxRED_get, _wrap_wxRED_set);
	 SWIG_addvarlink(SWIG_globals,"wxBLUE",_wrap_wxBLUE_get, _wrap_wxBLUE_set);
	 SWIG_addvarlink(SWIG_globals,"wxGREEN",_wrap_wxGREEN_get, _wrap_wxGREEN_set);
	 SWIG_addvarlink(SWIG_globals,"wxCYAN",_wrap_wxCYAN_get, _wrap_wxCYAN_set);
	 SWIG_addvarlink(SWIG_globals,"wxLIGHT_GREY",_wrap_wxLIGHT_GREY_get, _wrap_wxLIGHT_GREY_set);
	 SWIG_addvarlink(SWIG_globals,"wxSTANDARD_CURSOR",_wrap_wxSTANDARD_CURSOR_get, _wrap_wxSTANDARD_CURSOR_set);
	 SWIG_addvarlink(SWIG_globals,"wxHOURGLASS_CURSOR",_wrap_wxHOURGLASS_CURSOR_get, _wrap_wxHOURGLASS_CURSOR_set);
	 SWIG_addvarlink(SWIG_globals,"wxCROSS_CURSOR",_wrap_wxCROSS_CURSOR_get, _wrap_wxCROSS_CURSOR_set);
	 SWIG_addvarlink(SWIG_globals,"wxNullBitmap",_wrap_wxNullBitmap_get, _wrap_wxNullBitmap_set);
	 SWIG_addvarlink(SWIG_globals,"wxNullIcon",_wrap_wxNullIcon_get, _wrap_wxNullIcon_set);
	 SWIG_addvarlink(SWIG_globals,"wxNullCursor",_wrap_wxNullCursor_get, _wrap_wxNullCursor_set);
	 SWIG_addvarlink(SWIG_globals,"wxNullPen",_wrap_wxNullPen_get, _wrap_wxNullPen_set);
	 SWIG_addvarlink(SWIG_globals,"wxNullBrush",_wrap_wxNullBrush_get, _wrap_wxNullBrush_set);
	 SWIG_addvarlink(SWIG_globals,"wxNullPalette",_wrap_wxNullPalette_get, _wrap_wxNullPalette_set);
	 SWIG_addvarlink(SWIG_globals,"wxNullFont",_wrap_wxNullFont_get, _wrap_wxNullFont_set);
	 SWIG_addvarlink(SWIG_globals,"wxNullColour",_wrap_wxNullColour_get, _wrap_wxNullColour_set);
	 SWIG_addvarlink(SWIG_globals,"wxTheFontList",_wrap_wxTheFontList_get, _wrap_wxTheFontList_set);
	 SWIG_addvarlink(SWIG_globals,"wxThePenList",_wrap_wxThePenList_get, _wrap_wxThePenList_set);
	 SWIG_addvarlink(SWIG_globals,"wxTheBrushList",_wrap_wxTheBrushList_get, _wrap_wxTheBrushList_set);
	 SWIG_addvarlink(SWIG_globals,"wxTheColourDatabase",_wrap_wxTheColourDatabase_get, _wrap_wxTheColourDatabase_set);
{
   int i;
   for (i = 0; _swig_mapping[i].n1; i++)
        SWIG_RegisterMapping(_swig_mapping[i].n1,_swig_mapping[i].n2,_swig_mapping[i].pcnv);
}
}
