]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/_core_wrap.cpp
wxCheckListBox doesn't require wxUSE_OWNER_DRAWN when using WXUNIVERSAL
[wxWidgets.git] / wxPython / src / msw / _core_wrap.cpp
index 5e9f601599c5f1f27c87df4f16dda1d01fc4702c..17c3326113ac4d0d28a98d05e7a23513da959290 100644 (file)
@@ -1037,7 +1037,8 @@ SWIG_Python_TypeError(const char *type, PyObject *obj)
          PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
                       type, otype);
        }
          PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
                       type, otype);
        }
-       Py_DECREF(str);
+       if (str)
+          Py_DECREF(str);
        return;
       }
     }   
        return;
       }
     }   
@@ -1352,120 +1353,121 @@ SWIG_Python_GetTypeList() {
 #define  SWIGTYPE_p_wxAcceleratorEntry swig_types[11] 
 #define  SWIGTYPE_p_wxUpdateUIEvent swig_types[12] 
 #define  SWIGTYPE_p_wxEvent swig_types[13] 
 #define  SWIGTYPE_p_wxAcceleratorEntry swig_types[11] 
 #define  SWIGTYPE_p_wxUpdateUIEvent swig_types[12] 
 #define  SWIGTYPE_p_wxEvent swig_types[13] 
-#define  SWIGTYPE_p_wxMenu swig_types[14] 
-#define  SWIGTYPE_p_wxGridSizer swig_types[15] 
-#define  SWIGTYPE_p_wxFlexGridSizer swig_types[16] 
-#define  SWIGTYPE_p_wxInitDialogEvent swig_types[17] 
-#define  SWIGTYPE_p_wxItemContainer swig_types[18] 
-#define  SWIGTYPE_p_wxNcPaintEvent swig_types[19] 
-#define  SWIGTYPE_p_wxPaintEvent swig_types[20] 
-#define  SWIGTYPE_p_wxSysColourChangedEvent swig_types[21] 
-#define  SWIGTYPE_p_wxMouseCaptureChangedEvent swig_types[22] 
-#define  SWIGTYPE_p_wxDisplayChangedEvent swig_types[23] 
-#define  SWIGTYPE_p_wxPaletteChangedEvent swig_types[24] 
-#define  SWIGTYPE_p_wxControl swig_types[25] 
-#define  SWIGTYPE_p_wxFont swig_types[26] 
-#define  SWIGTYPE_p_wxMenuBarBase swig_types[27] 
-#define  SWIGTYPE_p_wxSetCursorEvent swig_types[28] 
-#define  SWIGTYPE_p_wxFSFile swig_types[29] 
-#define  SWIGTYPE_p_wxCaret swig_types[30] 
-#define  SWIGTYPE_ptrdiff_t swig_types[31] 
-#define  SWIGTYPE_std__ptrdiff_t swig_types[32] 
-#define  SWIGTYPE_p_wxRegion swig_types[33] 
-#define  SWIGTYPE_p_wxPoint2D swig_types[34] 
-#define  SWIGTYPE_p_int swig_types[35] 
-#define  SWIGTYPE_p_wxSize swig_types[36] 
-#define  SWIGTYPE_p_wxDC swig_types[37] 
-#define  SWIGTYPE_p_wxPySizer swig_types[38] 
-#define  SWIGTYPE_p_wxVisualAttributes swig_types[39] 
-#define  SWIGTYPE_p_wxNotifyEvent swig_types[40] 
-#define  SWIGTYPE_p_wxPyEvent swig_types[41] 
-#define  SWIGTYPE_p_wxPropagationDisabler swig_types[42] 
-#define  SWIGTYPE_p_form_ops_t swig_types[43] 
-#define  SWIGTYPE_p_wxAppTraits swig_types[44] 
-#define  SWIGTYPE_p_wxArrayString swig_types[45] 
-#define  SWIGTYPE_p_wxShowEvent swig_types[46] 
-#define  SWIGTYPE_p_wxToolTip swig_types[47] 
-#define  SWIGTYPE_p_wxMoveEvent swig_types[48] 
-#define  SWIGTYPE_p_wxSizeEvent swig_types[49] 
-#define  SWIGTYPE_p_wxActivateEvent swig_types[50] 
-#define  SWIGTYPE_p_wxIconizeEvent swig_types[51] 
-#define  SWIGTYPE_p_wxMaximizeEvent swig_types[52] 
-#define  SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[53] 
-#define  SWIGTYPE_p_wxWindowCreateEvent swig_types[54] 
-#define  SWIGTYPE_p_wxIdleEvent swig_types[55] 
-#define  SWIGTYPE_p_wxDateEvent swig_types[56] 
-#define  SWIGTYPE_p_wxMenuItem swig_types[57] 
-#define  SWIGTYPE_p_wxStaticBox swig_types[58] 
-#define  SWIGTYPE_p_long swig_types[59] 
-#define  SWIGTYPE_p_wxDuplexMode swig_types[60] 
-#define  SWIGTYPE_p_wxTIFFHandler swig_types[61] 
-#define  SWIGTYPE_p_wxXPMHandler swig_types[62] 
-#define  SWIGTYPE_p_wxPNMHandler swig_types[63] 
-#define  SWIGTYPE_p_wxJPEGHandler swig_types[64] 
-#define  SWIGTYPE_p_wxPCXHandler swig_types[65] 
-#define  SWIGTYPE_p_wxGIFHandler swig_types[66] 
-#define  SWIGTYPE_p_wxPNGHandler swig_types[67] 
-#define  SWIGTYPE_p_wxANIHandler swig_types[68] 
-#define  SWIGTYPE_p_wxMemoryFSHandler swig_types[69] 
-#define  SWIGTYPE_p_wxZipFSHandler swig_types[70] 
-#define  SWIGTYPE_p_wxInternetFSHandler swig_types[71] 
-#define  SWIGTYPE_p_wxPyFileSystemHandler swig_types[72] 
-#define  SWIGTYPE_p_wxEvtHandler swig_types[73] 
-#define  SWIGTYPE_p_wxCURHandler swig_types[74] 
-#define  SWIGTYPE_p_wxICOHandler swig_types[75] 
-#define  SWIGTYPE_p_wxBMPHandler swig_types[76] 
-#define  SWIGTYPE_p_wxImageHandler swig_types[77] 
-#define  SWIGTYPE_p_wxFileSystemHandler swig_types[78] 
-#define  SWIGTYPE_p_wxRect swig_types[79] 
-#define  SWIGTYPE_p_wxButton swig_types[80] 
-#define  SWIGTYPE_p_wxGBSpan swig_types[81] 
-#define  SWIGTYPE_p_wxPropagateOnce swig_types[82] 
-#define  SWIGTYPE_p_wxAcceleratorTable swig_types[83] 
-#define  SWIGTYPE_p_wxStdDialogButtonSizer swig_types[84] 
-#define  SWIGTYPE_p_char swig_types[85] 
-#define  SWIGTYPE_p_wxGBPosition swig_types[86] 
-#define  SWIGTYPE_p_wxImage swig_types[87] 
-#define  SWIGTYPE_p_wxFrame swig_types[88] 
-#define  SWIGTYPE_p_wxScrollWinEvent swig_types[89] 
-#define  SWIGTYPE_p_wxPaperSize swig_types[90] 
-#define  SWIGTYPE_p_wxImageHistogram swig_types[91] 
-#define  SWIGTYPE_p_wxPoint swig_types[92] 
-#define  SWIGTYPE_p_wxCursor swig_types[93] 
-#define  SWIGTYPE_p_wxObject swig_types[94] 
-#define  SWIGTYPE_p_wxInputStream swig_types[95] 
-#define  SWIGTYPE_p_wxOutputStream swig_types[96] 
-#define  SWIGTYPE_p_wxPyInputStream swig_types[97] 
-#define  SWIGTYPE_p_wxDateTime swig_types[98] 
-#define  SWIGTYPE_p_wxKeyEvent swig_types[99] 
-#define  SWIGTYPE_p_wxNavigationKeyEvent swig_types[100] 
-#define  SWIGTYPE_p_wxWindowDestroyEvent swig_types[101] 
-#define  SWIGTYPE_p_unsigned_long swig_types[102] 
-#define  SWIGTYPE_p_wxWindow swig_types[103] 
-#define  SWIGTYPE_p_wxMenuBar swig_types[104] 
-#define  SWIGTYPE_p_wxFileSystem swig_types[105] 
-#define  SWIGTYPE_p_wxBitmap swig_types[106] 
-#define  SWIGTYPE_unsigned_int swig_types[107] 
-#define  SWIGTYPE_p_unsigned_int swig_types[108] 
-#define  SWIGTYPE_p_wxMenuEvent swig_types[109] 
-#define  SWIGTYPE_p_wxContextMenuEvent swig_types[110] 
-#define  SWIGTYPE_p_unsigned_char swig_types[111] 
-#define  SWIGTYPE_p_wxEraseEvent swig_types[112] 
-#define  SWIGTYPE_p_wxMouseEvent swig_types[113] 
-#define  SWIGTYPE_p_wxCloseEvent swig_types[114] 
-#define  SWIGTYPE_p_wxPyApp swig_types[115] 
-#define  SWIGTYPE_p_wxCommandEvent swig_types[116] 
-#define  SWIGTYPE_p_wxPyCommandEvent swig_types[117] 
-#define  SWIGTYPE_p_wxPyDropTarget swig_types[118] 
-#define  SWIGTYPE_p_wxQuantize swig_types[119] 
-#define  SWIGTYPE_p_wxChildFocusEvent swig_types[120] 
+#define  SWIGTYPE_p_buffer swig_types[14] 
+#define  SWIGTYPE_p_wxMenu swig_types[15] 
+#define  SWIGTYPE_p_wxGridSizer swig_types[16] 
+#define  SWIGTYPE_p_wxFlexGridSizer swig_types[17] 
+#define  SWIGTYPE_p_wxInitDialogEvent swig_types[18] 
+#define  SWIGTYPE_p_wxItemContainer swig_types[19] 
+#define  SWIGTYPE_p_wxNcPaintEvent swig_types[20] 
+#define  SWIGTYPE_p_wxPaintEvent swig_types[21] 
+#define  SWIGTYPE_p_wxSysColourChangedEvent swig_types[22] 
+#define  SWIGTYPE_p_wxMouseCaptureChangedEvent swig_types[23] 
+#define  SWIGTYPE_p_wxDisplayChangedEvent swig_types[24] 
+#define  SWIGTYPE_p_wxPaletteChangedEvent swig_types[25] 
+#define  SWIGTYPE_p_wxControl swig_types[26] 
+#define  SWIGTYPE_p_wxFont swig_types[27] 
+#define  SWIGTYPE_p_wxMenuBarBase swig_types[28] 
+#define  SWIGTYPE_p_wxSetCursorEvent swig_types[29] 
+#define  SWIGTYPE_p_wxFSFile swig_types[30] 
+#define  SWIGTYPE_p_wxCaret swig_types[31] 
+#define  SWIGTYPE_ptrdiff_t swig_types[32] 
+#define  SWIGTYPE_std__ptrdiff_t swig_types[33] 
+#define  SWIGTYPE_p_wxRegion swig_types[34] 
+#define  SWIGTYPE_p_wxPoint2D swig_types[35] 
+#define  SWIGTYPE_p_int swig_types[36] 
+#define  SWIGTYPE_p_wxSize swig_types[37] 
+#define  SWIGTYPE_p_wxDC swig_types[38] 
+#define  SWIGTYPE_p_wxPySizer swig_types[39] 
+#define  SWIGTYPE_p_wxVisualAttributes swig_types[40] 
+#define  SWIGTYPE_p_wxNotifyEvent swig_types[41] 
+#define  SWIGTYPE_p_wxPyEvent swig_types[42] 
+#define  SWIGTYPE_p_wxPropagationDisabler swig_types[43] 
+#define  SWIGTYPE_p_form_ops_t swig_types[44] 
+#define  SWIGTYPE_p_wxAppTraits swig_types[45] 
+#define  SWIGTYPE_p_wxArrayString swig_types[46] 
+#define  SWIGTYPE_p_wxShowEvent swig_types[47] 
+#define  SWIGTYPE_p_wxToolTip swig_types[48] 
+#define  SWIGTYPE_p_wxMoveEvent swig_types[49] 
+#define  SWIGTYPE_p_wxSizeEvent swig_types[50] 
+#define  SWIGTYPE_p_wxActivateEvent swig_types[51] 
+#define  SWIGTYPE_p_wxIconizeEvent swig_types[52] 
+#define  SWIGTYPE_p_wxMaximizeEvent swig_types[53] 
+#define  SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[54] 
+#define  SWIGTYPE_p_wxWindowCreateEvent swig_types[55] 
+#define  SWIGTYPE_p_wxIdleEvent swig_types[56] 
+#define  SWIGTYPE_p_wxDateEvent swig_types[57] 
+#define  SWIGTYPE_p_wxMenuItem swig_types[58] 
+#define  SWIGTYPE_p_wxStaticBox swig_types[59] 
+#define  SWIGTYPE_p_long swig_types[60] 
+#define  SWIGTYPE_p_wxDuplexMode swig_types[61] 
+#define  SWIGTYPE_p_wxTIFFHandler swig_types[62] 
+#define  SWIGTYPE_p_wxXPMHandler swig_types[63] 
+#define  SWIGTYPE_p_wxPNMHandler swig_types[64] 
+#define  SWIGTYPE_p_wxJPEGHandler swig_types[65] 
+#define  SWIGTYPE_p_wxPCXHandler swig_types[66] 
+#define  SWIGTYPE_p_wxGIFHandler swig_types[67] 
+#define  SWIGTYPE_p_wxPNGHandler swig_types[68] 
+#define  SWIGTYPE_p_wxANIHandler swig_types[69] 
+#define  SWIGTYPE_p_wxMemoryFSHandler swig_types[70] 
+#define  SWIGTYPE_p_wxZipFSHandler swig_types[71] 
+#define  SWIGTYPE_p_wxInternetFSHandler swig_types[72] 
+#define  SWIGTYPE_p_wxPyFileSystemHandler swig_types[73] 
+#define  SWIGTYPE_p_wxEvtHandler swig_types[74] 
+#define  SWIGTYPE_p_wxCURHandler swig_types[75] 
+#define  SWIGTYPE_p_wxICOHandler swig_types[76] 
+#define  SWIGTYPE_p_wxBMPHandler swig_types[77] 
+#define  SWIGTYPE_p_wxImageHandler swig_types[78] 
+#define  SWIGTYPE_p_wxFileSystemHandler swig_types[79] 
+#define  SWIGTYPE_p_wxRect swig_types[80] 
+#define  SWIGTYPE_p_wxButton swig_types[81] 
+#define  SWIGTYPE_p_wxGBSpan swig_types[82] 
+#define  SWIGTYPE_p_wxPropagateOnce swig_types[83] 
+#define  SWIGTYPE_p_wxAcceleratorTable swig_types[84] 
+#define  SWIGTYPE_p_wxStdDialogButtonSizer swig_types[85] 
+#define  SWIGTYPE_p_char swig_types[86] 
+#define  SWIGTYPE_p_wxGBPosition swig_types[87] 
+#define  SWIGTYPE_p_wxImage swig_types[88] 
+#define  SWIGTYPE_p_wxFrame swig_types[89] 
+#define  SWIGTYPE_p_wxScrollWinEvent swig_types[90] 
+#define  SWIGTYPE_p_wxPaperSize swig_types[91] 
+#define  SWIGTYPE_p_wxImageHistogram swig_types[92] 
+#define  SWIGTYPE_p_wxPoint swig_types[93] 
+#define  SWIGTYPE_p_wxCursor swig_types[94] 
+#define  SWIGTYPE_p_wxObject swig_types[95] 
+#define  SWIGTYPE_p_wxInputStream swig_types[96] 
+#define  SWIGTYPE_p_wxOutputStream swig_types[97] 
+#define  SWIGTYPE_p_wxPyInputStream swig_types[98] 
+#define  SWIGTYPE_p_wxDateTime swig_types[99] 
+#define  SWIGTYPE_p_wxKeyEvent swig_types[100] 
+#define  SWIGTYPE_p_wxNavigationKeyEvent swig_types[101] 
+#define  SWIGTYPE_p_wxWindowDestroyEvent swig_types[102] 
+#define  SWIGTYPE_p_unsigned_long swig_types[103] 
+#define  SWIGTYPE_p_wxWindow swig_types[104] 
+#define  SWIGTYPE_p_wxMenuBar swig_types[105] 
+#define  SWIGTYPE_p_wxFileSystem swig_types[106] 
+#define  SWIGTYPE_p_wxBitmap swig_types[107] 
+#define  SWIGTYPE_unsigned_int swig_types[108] 
+#define  SWIGTYPE_p_unsigned_int swig_types[109] 
+#define  SWIGTYPE_p_wxMenuEvent swig_types[110] 
+#define  SWIGTYPE_p_wxContextMenuEvent swig_types[111] 
+#define  SWIGTYPE_p_unsigned_char swig_types[112] 
+#define  SWIGTYPE_p_wxEraseEvent swig_types[113] 
+#define  SWIGTYPE_p_wxMouseEvent swig_types[114] 
+#define  SWIGTYPE_p_wxCloseEvent swig_types[115] 
+#define  SWIGTYPE_p_wxPyApp swig_types[116] 
+#define  SWIGTYPE_p_wxCommandEvent swig_types[117] 
+#define  SWIGTYPE_p_wxPyCommandEvent swig_types[118] 
+#define  SWIGTYPE_p_wxPyDropTarget swig_types[119] 
+#define  SWIGTYPE_p_wxQuantize swig_types[120] 
 #define  SWIGTYPE_p_wxFocusEvent swig_types[121] 
 #define  SWIGTYPE_p_wxFocusEvent swig_types[121] 
-#define  SWIGTYPE_p_wxDropFilesEvent swig_types[122] 
-#define  SWIGTYPE_p_wxControlWithItems swig_types[123] 
-#define  SWIGTYPE_p_wxColour swig_types[124] 
-#define  SWIGTYPE_p_wxValidator swig_types[125] 
-#define  SWIGTYPE_p_wxPyValidator swig_types[126] 
-static swig_type_info *swig_types[128];
+#define  SWIGTYPE_p_wxChildFocusEvent swig_types[122] 
+#define  SWIGTYPE_p_wxDropFilesEvent swig_types[123] 
+#define  SWIGTYPE_p_wxControlWithItems swig_types[124] 
+#define  SWIGTYPE_p_wxColour swig_types[125] 
+#define  SWIGTYPE_p_wxValidator swig_types[126] 
+#define  SWIGTYPE_p_wxPyValidator swig_types[127] 
+static swig_type_info *swig_types[129];
 
 /* -------- TYPES TABLE (END) -------- */
 
 
 /* -------- TYPES TABLE (END) -------- */
 
@@ -2326,7 +2328,7 @@ static unsigned long wxImageHistogram_GetCount(wxImageHistogram *self,unsigned l
             wxImageHistogramEntry e = (*self)[key];
             return e.value;
         }
             wxImageHistogramEntry e = (*self)[key];
             return e.value;
         }
-static unsigned long wxImageHistogram_GetCountRGB(wxImageHistogram *self,unsigned char r,unsigned char g,unsigned char b){
+static unsigned long wxImageHistogram_GetCountRGB(wxImageHistogram *self,byte r,byte g,byte b){
             unsigned long key = wxImageHistogram::MakeKey(r, g, b);
             wxImageHistogramEntry e = (*self)[key];
             return e.value;
             unsigned long key = wxImageHistogram::MakeKey(r, g, b);
             wxImageHistogramEntry e = (*self)[key];
             return e.value;
@@ -2338,93 +2340,101 @@ static unsigned long wxImageHistogram_GetCountColour(wxImageHistogram *self,wxCo
             wxImageHistogramEntry e = (*self)[key];
             return e.value;
         }
             wxImageHistogramEntry e = (*self)[key];
             return e.value;
         }
+
+    typedef unsigned char* buffer;
+
 static wxImage *new_wxImage(int width=0,int height=0,bool clear=true){
 static wxImage *new_wxImage(int width=0,int height=0,bool clear=true){
-            if (width > 0 && height > 0)
-                return new wxImage(width, height, clear);
-            else
-                return new wxImage;
-        }
-static wxImage *new_wxImage(wxBitmap const &bitmap){
-            return new wxImage(bitmap.ConvertToImage());
-        }
-static wxImage *new_wxImage(int width,int height,unsigned char *data){
-            // Copy the source data so the wxImage can clean it up later
-            unsigned char* copy = (unsigned char*)malloc(width*height*3);
-            if (copy == NULL) {
-                PyErr_NoMemory();
-                return NULL;
+                if (width > 0 && height > 0)
+                    return new wxImage(width, height, clear);
+                else
+                    return new wxImage;
             }
             }
-            memcpy(copy, data, width*height*3);
-            return new wxImage(width, height, copy, false);
-        }
-static wxImage *new_wxImage(int width,int height,unsigned char *data,unsigned char *alpha){
-            // Copy the source data so the wxImage can clean it up later
-            unsigned char* dcopy = (unsigned char*)malloc(width*height*3);
-            if (dcopy == NULL) {
-                PyErr_NoMemory();
-                return NULL;
+static wxImage *new_wxImage(wxBitmap const &bitmap){
+                return new wxImage(bitmap.ConvertToImage());
             }
             }
-            memcpy(dcopy, data, width*height*3);
-            unsigned char* acopy = (unsigned char*)malloc(width*height);
-            if (acopy == NULL) {
-                PyErr_NoMemory();
-                return NULL;
+static wxImage *new_wxImage(int width,int height,buffer data,int DATASIZE){
+                if (DATASIZE != width*height*3) {
+                    wxPyErr_SetString(PyExc_ValueError, "Invalid data buffer size.");
+                    return NULL;
+                }
+            
+                // Copy the source data so the wxImage can clean it up later
+                buffer copy = (buffer)malloc(DATASIZE);
+                if (copy == NULL) {
+                    wxPyBLOCK_THREADS(PyErr_NoMemory());
+                    return NULL;
+                }            
+                memcpy(copy, data, DATASIZE);
+                return new wxImage(width, height, copy, false);
             }
             }
-            memcpy(acopy, alpha, width*height);
+static wxImage *new_wxImage(int width,int height,buffer data,int DATASIZE,buffer alpha,int ALPHASIZE){
+                if (DATASIZE != width*height*3) {
+                    wxPyErr_SetString(PyExc_ValueError, "Invalid data buffer size.");
+                    return NULL;
+                }
+                if (ALPHASIZE != width*height) {
+                    wxPyErr_SetString(PyExc_ValueError, "Invalid alpha buffer size.");
+                    return NULL;
+                }
+
+                // Copy the source data so the wxImage can clean it up later
+                buffer dcopy = (buffer)malloc(DATASIZE);
+                if (dcopy == NULL) {
+                    wxPyBLOCK_THREADS(PyErr_NoMemory());
+                    return NULL;
+                }
+                memcpy(dcopy, data, DATASIZE);
             
             
-            return new wxImage(width, height, dcopy, acopy, false);
-        }
+                buffer acopy = (buffer)malloc(ALPHASIZE);
+                if (acopy == NULL) {
+                    wxPyBLOCK_THREADS(PyErr_NoMemory());
+                    return NULL;
+                }
+                memcpy(acopy, alpha, ALPHASIZE);
+            
+                return new wxImage(width, height, dcopy, acopy, false);
+            }
 static wxSize wxImage_GetSize(wxImage *self){
             wxSize size(self->GetWidth(), self->GetHeight());
             return size;
         }
 static PyObject *wxImage_GetData(wxImage *self){
 static wxSize wxImage_GetSize(wxImage *self){
             wxSize size(self->GetWidth(), self->GetHeight());
             return size;
         }
 static PyObject *wxImage_GetData(wxImage *self){
-            unsigned char* data = self->GetData();
+            buffer data = self->GetData();
             int len = self->GetWidth() * self->GetHeight() * 3;
             PyObject* rv;
             wxPyBLOCK_THREADS( rv = PyString_FromStringAndSize((char*)data, len));
             return rv;
         }
             int len = self->GetWidth() * self->GetHeight() * 3;
             PyObject* rv;
             wxPyBLOCK_THREADS( rv = PyString_FromStringAndSize((char*)data, len));
             return rv;
         }
-static void wxImage_SetData(wxImage *self,PyObject *data){
-            unsigned char* dataPtr;
-
-            if (! PyString_Check(data)) {
-                wxPyBLOCK_THREADS(PyErr_SetString(PyExc_TypeError,
-                                                  "Expected string object"));
-                return /* NULL */ ;
-            }
-
-            size_t len = self->GetWidth() * self->GetHeight() * 3;
-            dataPtr = (unsigned char*) malloc(len);
-            wxPyBLOCK_THREADS( memcpy(dataPtr, PyString_AsString(data), len) );
-            self->SetData(dataPtr);
-            // wxImage takes ownership of dataPtr...
+static void wxImage_SetData(wxImage *self,buffer data,int DATASIZE){
+            if (DATASIZE != self->GetWidth() * self->GetHeight() * 3) {
+                wxPyErr_SetString(PyExc_ValueError, "Invalid data buffer size.");
+                return;
+            }            
+            buffer copy = (buffer)malloc(DATASIZE);
+            if (copy == NULL) {
+                wxPyBLOCK_THREADS(PyErr_NoMemory());
+                return;
+            }            
+            memcpy(copy, data, DATASIZE);
+            self->SetData(copy, false);
+            // wxImage takes ownership of copy...
         }
 static PyObject *wxImage_GetDataBuffer(wxImage *self){
         }
 static PyObject *wxImage_GetDataBuffer(wxImage *self){
-            unsigned char* data = self->GetData();
+            buffer data = self->GetData();
             int len = self->GetWidth() * self->GetHeight() * 3;
             PyObject* rv;
             wxPyBLOCK_THREADS( rv = PyBuffer_FromReadWriteMemory(data, len) );
             return rv;
         }
             int len = self->GetWidth() * self->GetHeight() * 3;
             PyObject* rv;
             wxPyBLOCK_THREADS( rv = PyBuffer_FromReadWriteMemory(data, len) );
             return rv;
         }
-static void wxImage_SetDataBuffer(wxImage *self,PyObject *data){
-            unsigned char* buffer;
-            int size;
-
-            wxPyBlock_t blocked = wxPyBeginBlockThreads();
-            if (!PyArg_Parse(data, "t#", &buffer, &size))
-                goto done;
-
-            if (size != self->GetWidth() * self->GetHeight() * 3) {
-                PyErr_SetString(PyExc_TypeError, "Incorrect buffer size");
-                goto done;
+static void wxImage_SetDataBuffer(wxImage *self,buffer data,int DATASIZE){
+            if (DATASIZE != self->GetWidth() * self->GetHeight() * 3) {
+                wxPyErr_SetString(PyExc_ValueError, "Invalid data buffer size.");
+                return;
             }
             }
-            self->SetData(buffer);
-        done:
-            wxPyEndBlockThreads(blocked);
+            self->SetData(data, true);
         }
 static PyObject *wxImage_GetAlphaData(wxImage *self){
         }
 static PyObject *wxImage_GetAlphaData(wxImage *self){
-            unsigned char* data = self->GetAlpha();
+            buffer data = self->GetAlpha();
             if (! data) {
                 RETURN_NONE();
             } else {
             if (! data) {
                 RETURN_NONE();
             } else {
@@ -2434,48 +2444,39 @@ static PyObject *wxImage_GetAlphaData(wxImage *self){
                 return rv;
             }
         }
                 return rv;
             }
         }
-static void wxImage_SetAlphaData(wxImage *self,PyObject *data){
-            unsigned char* dataPtr;
-
-            if (! PyString_Check(data)) {
-                PyErr_SetString(PyExc_TypeError, "Expected string object");
-                return /* NULL */ ;
+static void wxImage_SetAlphaData(wxImage *self,buffer alpha,int ALPHASIZE){
+            if (ALPHASIZE != self->GetWidth() * self->GetHeight()) {
+                wxPyErr_SetString(PyExc_ValueError, "Invalid alpha buffer size.");
+                return;
             }
             }
-
-            size_t len = self->GetWidth() * self->GetHeight();
-            dataPtr = (unsigned char*) malloc(len);
-            wxPyBLOCK_THREADS( memcpy(dataPtr, PyString_AsString(data), len) );
-            self->SetAlpha(dataPtr);
-            // wxImage takes ownership of dataPtr...
+            buffer acopy = (buffer)malloc(ALPHASIZE);
+            if (acopy == NULL) {
+                wxPyBLOCK_THREADS(PyErr_NoMemory());
+                return;
+            }
+            memcpy(acopy, alpha, ALPHASIZE);
+            self->SetAlpha(acopy, false);
+            // wxImage takes ownership of acopy...
         }
 static PyObject *wxImage_GetAlphaBuffer(wxImage *self){
         }
 static PyObject *wxImage_GetAlphaBuffer(wxImage *self){
-            unsigned char* data = self->GetAlpha();
+            buffer data = self->GetAlpha();
             int len = self->GetWidth() * self->GetHeight();
             PyObject* rv;
             wxPyBLOCK_THREADS( rv = PyBuffer_FromReadWriteMemory(data, len) );
             return rv;
         }
             int len = self->GetWidth() * self->GetHeight();
             PyObject* rv;
             wxPyBLOCK_THREADS( rv = PyBuffer_FromReadWriteMemory(data, len) );
             return rv;
         }
-static void wxImage_SetAlphaBuffer(wxImage *self,PyObject *data){
-            unsigned char* buffer;
-            int size;
-
-            wxPyBlock_t blocked = wxPyBeginBlockThreads();
-            if (!PyArg_Parse(data, "t#", &buffer, &size))
-                goto done;
-
-            if (size != self->GetWidth() * self->GetHeight()) {
-                PyErr_SetString(PyExc_TypeError, "Incorrect buffer size");
-                goto done;
+static void wxImage_SetAlphaBuffer(wxImage *self,buffer alpha,int ALPHASIZE){
+            if (ALPHASIZE != self->GetWidth() * self->GetHeight()) {
+                wxPyErr_SetString(PyExc_ValueError, "Invalid alpha buffer size.");
+                return;
             }
             }
-            self->SetAlpha(buffer);
-        done:
-            wxPyEndBlockThreads(blocked);
+            self->SetAlpha(alpha, true);
         }
 static wxBitmap wxImage_ConvertToBitmap(wxImage *self,int depth=-1){
             wxBitmap bitmap(*self, depth);
             return bitmap;
         }
         }
 static wxBitmap wxImage_ConvertToBitmap(wxImage *self,int depth=-1){
             wxBitmap bitmap(*self, depth);
             return bitmap;
         }
-static wxBitmap wxImage_ConvertToMonoBitmap(wxImage *self,unsigned char red,unsigned char green,unsigned char blue){
+static wxBitmap wxImage_ConvertToMonoBitmap(wxImage *self,byte red,byte green,byte blue){
             wxImage mono = self->ConvertToMono( red, green, blue );
             wxBitmap bitmap( mono, 1 );
             return bitmap;
             wxImage mono = self->ConvertToMono( red, green, blue );
             wxBitmap bitmap( mono, 1 );
             return bitmap;
@@ -2611,16 +2612,19 @@ static void wxSizeEvent_SetSize(wxSizeEvent *self,wxSize size){
 static PyObject *wxDropFilesEvent_GetFiles(wxDropFilesEvent *self){
             int         count = self->GetNumberOfFiles();
             wxString*   files = self->GetFiles();
 static PyObject *wxDropFilesEvent_GetFiles(wxDropFilesEvent *self){
             int         count = self->GetNumberOfFiles();
             wxString*   files = self->GetFiles();
+            wxPyBlock_t blocked = wxPyBeginBlockThreads();
             PyObject*   list  = PyList_New(count);
 
             if (!list) {
                 PyErr_SetString(PyExc_MemoryError, "Can't allocate list of files!");
             PyObject*   list  = PyList_New(count);
 
             if (!list) {
                 PyErr_SetString(PyExc_MemoryError, "Can't allocate list of files!");
+                wxPyEndBlockThreads(blocked);
                 return NULL;
             }
 
             for (int i=0; i<count; i++) {
                 PyList_SetItem(list, i, wx2PyString(files[i]));
             }
                 return NULL;
             }
 
             for (int i=0; i<count; i++) {
                 PyList_SetItem(list, i, wx2PyString(files[i]));
             }
+            wxPyEndBlockThreads(blocked);
             return list;
         }
 
             return list;
         }
 
@@ -2765,6 +2769,11 @@ wxWindow* wxFindWindowByLabel( const wxString& label,
     }
 
 
     }
 
 
+    PyObject* GetTopLevelWindows() {
+        return wxPy_ConvertList(&wxTopLevelWindows);
+    }
+
+
 IMP_PYCALLBACK_BOOL_WXWIN(wxPyValidator, wxValidator, Validate);
 IMP_PYCALLBACK_BOOL_(wxPyValidator, wxValidator, TransferToWindow);
 IMP_PYCALLBACK_BOOL_(wxPyValidator, wxValidator, TransferFromWindow);
 IMP_PYCALLBACK_BOOL_WXWIN(wxPyValidator, wxValidator, Validate);
 IMP_PYCALLBACK_BOOL_(wxPyValidator, wxValidator, TransferToWindow);
 IMP_PYCALLBACK_BOOL_(wxPyValidator, wxValidator, TransferFromWindow);
@@ -10221,9 +10230,9 @@ static PyObject *_wrap_new_ImageHistogram(PyObject *, PyObject *args, PyObject *
 
 static PyObject *_wrap_ImageHistogram_MakeKey(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
 
 static PyObject *_wrap_ImageHistogram_MakeKey(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
-    unsigned char arg1 ;
-    unsigned char arg2 ;
-    unsigned char arg3 ;
+    byte arg1 ;
+    byte arg2 ;
+    byte arg3 ;
     unsigned long result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     unsigned long result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
@@ -10234,15 +10243,15 @@ static PyObject *_wrap_ImageHistogram_MakeKey(PyObject *, PyObject *args, PyObje
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:ImageHistogram_MakeKey",kwnames,&obj0,&obj1,&obj2)) goto fail;
     {
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:ImageHistogram_MakeKey",kwnames,&obj0,&obj1,&obj2)) goto fail;
     {
-        arg1 = (unsigned char)(SWIG_As_unsigned_SS_char(obj0)); 
+        arg1 = (byte)(SWIG_As_unsigned_SS_char(obj0)); 
         if (SWIG_arg_fail(1)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(1)) SWIG_fail;
     }
     {
-        arg2 = (unsigned char)(SWIG_As_unsigned_SS_char(obj1)); 
+        arg2 = (byte)(SWIG_As_unsigned_SS_char(obj1)); 
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
-        arg3 = (unsigned char)(SWIG_As_unsigned_SS_char(obj2)); 
+        arg3 = (byte)(SWIG_As_unsigned_SS_char(obj2)); 
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
@@ -10264,18 +10273,18 @@ static PyObject *_wrap_ImageHistogram_MakeKey(PyObject *, PyObject *args, PyObje
 static PyObject *_wrap_ImageHistogram_FindFirstUnusedColour(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImageHistogram *arg1 = (wxImageHistogram *) 0 ;
 static PyObject *_wrap_ImageHistogram_FindFirstUnusedColour(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImageHistogram *arg1 = (wxImageHistogram *) 0 ;
-    unsigned char *arg2 = (unsigned char *) 0 ;
-    unsigned char *arg3 = (unsigned char *) 0 ;
-    unsigned char *arg4 = (unsigned char *) 0 ;
-    unsigned char arg5 = (unsigned char) 1 ;
-    unsigned char arg6 = (unsigned char) 0 ;
-    unsigned char arg7 = (unsigned char) 0 ;
+    byte *arg2 = (byte *) 0 ;
+    byte *arg3 = (byte *) 0 ;
+    byte *arg4 = (byte *) 0 ;
+    byte arg5 = (byte) 1 ;
+    byte arg6 = (byte) 0 ;
+    byte arg7 = (byte) 0 ;
     bool result;
     bool result;
-    unsigned char temp2 ;
+    byte temp2 ;
     int res2 = 0 ;
     int res2 = 0 ;
-    unsigned char temp3 ;
+    byte temp3 ;
     int res3 = 0 ;
     int res3 = 0 ;
-    unsigned char temp4 ;
+    byte temp4 ;
     int res4 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     int res4 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
@@ -10293,19 +10302,19 @@ static PyObject *_wrap_ImageHistogram_FindFirstUnusedColour(PyObject *, PyObject
     if (SWIG_arg_fail(1)) SWIG_fail;
     if (obj1) {
         {
     if (SWIG_arg_fail(1)) SWIG_fail;
     if (obj1) {
         {
-            arg5 = (unsigned char)(SWIG_As_unsigned_SS_char(obj1)); 
+            arg5 = (byte)(SWIG_As_unsigned_SS_char(obj1)); 
             if (SWIG_arg_fail(5)) SWIG_fail;
         }
     }
     if (obj2) {
         {
             if (SWIG_arg_fail(5)) SWIG_fail;
         }
     }
     if (obj2) {
         {
-            arg6 = (unsigned char)(SWIG_As_unsigned_SS_char(obj2)); 
+            arg6 = (byte)(SWIG_As_unsigned_SS_char(obj2)); 
             if (SWIG_arg_fail(6)) SWIG_fail;
         }
     }
     if (obj3) {
         {
             if (SWIG_arg_fail(6)) SWIG_fail;
         }
     }
     if (obj3) {
         {
-            arg7 = (unsigned char)(SWIG_As_unsigned_SS_char(obj3)); 
+            arg7 = (byte)(SWIG_As_unsigned_SS_char(obj3)); 
             if (SWIG_arg_fail(7)) SWIG_fail;
         }
     }
             if (SWIG_arg_fail(7)) SWIG_fail;
         }
     }
@@ -10368,9 +10377,9 @@ static PyObject *_wrap_ImageHistogram_GetCount(PyObject *, PyObject *args, PyObj
 static PyObject *_wrap_ImageHistogram_GetCountRGB(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImageHistogram *arg1 = (wxImageHistogram *) 0 ;
 static PyObject *_wrap_ImageHistogram_GetCountRGB(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImageHistogram *arg1 = (wxImageHistogram *) 0 ;
-    unsigned char arg2 ;
-    unsigned char arg3 ;
-    unsigned char arg4 ;
+    byte arg2 ;
+    byte arg3 ;
+    byte arg4 ;
     unsigned long result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     unsigned long result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
@@ -10384,15 +10393,15 @@ static PyObject *_wrap_ImageHistogram_GetCountRGB(PyObject *, PyObject *args, Py
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImageHistogram, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImageHistogram, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
-        arg2 = (unsigned char)(SWIG_As_unsigned_SS_char(obj1)); 
+        arg2 = (byte)(SWIG_As_unsigned_SS_char(obj1)); 
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
-        arg3 = (unsigned char)(SWIG_As_unsigned_SS_char(obj2)); 
+        arg3 = (byte)(SWIG_As_unsigned_SS_char(obj2)); 
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
-        arg4 = (unsigned char)(SWIG_As_unsigned_SS_char(obj3)); 
+        arg4 = (byte)(SWIG_As_unsigned_SS_char(obj3)); 
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
@@ -10809,7 +10818,8 @@ static PyObject *_wrap_new_ImageFromData(PyObject *, PyObject *args, PyObject *k
     PyObject *resultobj;
     int arg1 ;
     int arg2 ;
     PyObject *resultobj;
     int arg1 ;
     int arg2 ;
-    unsigned char *arg3 = (unsigned char *) 0 ;
+    buffer arg3 ;
+    int arg4 ;
     wxImage *result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     wxImage *result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
@@ -10827,11 +10837,12 @@ static PyObject *_wrap_new_ImageFromData(PyObject *, PyObject *args, PyObject *k
         arg2 = (int)(SWIG_As_int(obj1)); 
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
         arg2 = (int)(SWIG_As_int(obj1)); 
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
-    SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_unsigned_char, SWIG_POINTER_EXCEPTION | 0);
-    if (SWIG_arg_fail(3)) SWIG_fail;
+    {
+        if (!PyArg_Parse(obj2, "t#", &arg3, &arg4)) SWIG_fail; 
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxImage *)new_wxImage(arg1,arg2,arg3);
+        result = (wxImage *)new_wxImage(arg1,arg2,arg3,arg4);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -10847,8 +10858,10 @@ static PyObject *_wrap_new_ImageFromDataWithAlpha(PyObject *, PyObject *args, Py
     PyObject *resultobj;
     int arg1 ;
     int arg2 ;
     PyObject *resultobj;
     int arg1 ;
     int arg2 ;
-    unsigned char *arg3 = (unsigned char *) 0 ;
-    unsigned char *arg4 = (unsigned char *) 0 ;
+    buffer arg3 ;
+    int arg4 ;
+    buffer arg5 ;
+    int arg6 ;
     wxImage *result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     wxImage *result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
@@ -10867,13 +10880,15 @@ static PyObject *_wrap_new_ImageFromDataWithAlpha(PyObject *, PyObject *args, Py
         arg2 = (int)(SWIG_As_int(obj1)); 
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
         arg2 = (int)(SWIG_As_int(obj1)); 
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
-    SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_unsigned_char, SWIG_POINTER_EXCEPTION | 0);
-    if (SWIG_arg_fail(3)) SWIG_fail;
-    SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_unsigned_char, SWIG_POINTER_EXCEPTION | 0);
-    if (SWIG_arg_fail(4)) SWIG_fail;
+    {
+        if (!PyArg_Parse(obj2, "t#", &arg3, &arg4)) SWIG_fail; 
+    }
+    {
+        if (!PyArg_Parse(obj3, "t#", &arg5, &arg6)) SWIG_fail; 
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxImage *)new_wxImage(arg1,arg2,arg3,arg4);
+        result = (wxImage *)new_wxImage(arg1,arg2,arg3,arg4,arg5,arg6);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -10890,14 +10905,16 @@ static PyObject *_wrap_Image_Create(PyObject *, PyObject *args, PyObject *kwargs
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
+    bool arg4 = (bool) true ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
     char *kwnames[] = {
     char *kwnames[] = {
-        (char *) "self",(char *) "width",(char *) "height", NULL 
+        (char *) "self",(char *) "width",(char *) "height",(char *) "clear", NULL 
     };
     
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:Image_Create",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|O:Image_Create",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
@@ -10908,9 +10925,15 @@ static PyObject *_wrap_Image_Create(PyObject *, PyObject *args, PyObject *kwargs
         arg3 = (int)(SWIG_As_int(obj2)); 
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
         arg3 = (int)(SWIG_As_int(obj2)); 
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
+    if (obj3) {
+        {
+            arg4 = (bool)(SWIG_As_bool(obj3)); 
+            if (SWIG_arg_fail(4)) SWIG_fail;
+        }
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->Create(arg2,arg3);
+        (arg1)->Create(arg2,arg3,arg4);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -11144,9 +11167,9 @@ static PyObject *_wrap_Image_SetRGB(PyObject *, PyObject *args, PyObject *kwargs
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
-    unsigned char arg4 ;
-    unsigned char arg5 ;
-    unsigned char arg6 ;
+    byte arg4 ;
+    byte arg5 ;
+    byte arg6 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -11169,15 +11192,15 @@ static PyObject *_wrap_Image_SetRGB(PyObject *, PyObject *args, PyObject *kwargs
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
-        arg4 = (unsigned char)(SWIG_As_unsigned_SS_char(obj3)); 
+        arg4 = (byte)(SWIG_As_unsigned_SS_char(obj3)); 
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
-        arg5 = (unsigned char)(SWIG_As_unsigned_SS_char(obj4)); 
+        arg5 = (byte)(SWIG_As_unsigned_SS_char(obj4)); 
         if (SWIG_arg_fail(5)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(5)) SWIG_fail;
     }
     {
-        arg6 = (unsigned char)(SWIG_As_unsigned_SS_char(obj5)); 
+        arg6 = (byte)(SWIG_As_unsigned_SS_char(obj5)); 
         if (SWIG_arg_fail(6)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(6)) SWIG_fail;
     }
     {
@@ -11198,9 +11221,9 @@ static PyObject *_wrap_Image_SetRGBRect(PyObject *, PyObject *args, PyObject *kw
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
     wxRect *arg2 = 0 ;
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
     wxRect *arg2 = 0 ;
-    unsigned char arg3 ;
-    unsigned char arg4 ;
-    unsigned char arg5 ;
+    byte arg3 ;
+    byte arg4 ;
+    byte arg5 ;
     wxRect temp2 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     wxRect temp2 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
@@ -11219,15 +11242,15 @@ static PyObject *_wrap_Image_SetRGBRect(PyObject *, PyObject *args, PyObject *kw
         if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
     }
     {
         if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
     }
     {
-        arg3 = (unsigned char)(SWIG_As_unsigned_SS_char(obj2)); 
+        arg3 = (byte)(SWIG_As_unsigned_SS_char(obj2)); 
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
-        arg4 = (unsigned char)(SWIG_As_unsigned_SS_char(obj3)); 
+        arg4 = (byte)(SWIG_As_unsigned_SS_char(obj3)); 
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
-        arg5 = (unsigned char)(SWIG_As_unsigned_SS_char(obj4)); 
+        arg5 = (byte)(SWIG_As_unsigned_SS_char(obj4)); 
         if (SWIG_arg_fail(5)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(5)) SWIG_fail;
     }
     {
@@ -11249,7 +11272,7 @@ static PyObject *_wrap_Image_GetRed(PyObject *, PyObject *args, PyObject *kwargs
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
-    unsigned char result;
+    byte result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -11270,7 +11293,7 @@ static PyObject *_wrap_Image_GetRed(PyObject *, PyObject *args, PyObject *kwargs
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (unsigned char)(arg1)->GetRed(arg2,arg3);
+        result = (byte)(arg1)->GetRed(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -11289,7 +11312,7 @@ static PyObject *_wrap_Image_GetGreen(PyObject *, PyObject *args, PyObject *kwar
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
-    unsigned char result;
+    byte result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -11310,7 +11333,7 @@ static PyObject *_wrap_Image_GetGreen(PyObject *, PyObject *args, PyObject *kwar
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (unsigned char)(arg1)->GetGreen(arg2,arg3);
+        result = (byte)(arg1)->GetGreen(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -11329,7 +11352,7 @@ static PyObject *_wrap_Image_GetBlue(PyObject *, PyObject *args, PyObject *kwarg
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
-    unsigned char result;
+    byte result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -11350,7 +11373,7 @@ static PyObject *_wrap_Image_GetBlue(PyObject *, PyObject *args, PyObject *kwarg
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (unsigned char)(arg1)->GetBlue(arg2,arg3);
+        result = (byte)(arg1)->GetBlue(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -11369,7 +11392,7 @@ static PyObject *_wrap_Image_SetAlpha(PyObject *, PyObject *args, PyObject *kwar
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
-    unsigned char arg4 ;
+    byte arg4 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -11390,7 +11413,7 @@ static PyObject *_wrap_Image_SetAlpha(PyObject *, PyObject *args, PyObject *kwar
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
-        arg4 = (unsigned char)(SWIG_As_unsigned_SS_char(obj3)); 
+        arg4 = (byte)(SWIG_As_unsigned_SS_char(obj3)); 
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
@@ -11412,7 +11435,7 @@ static PyObject *_wrap_Image_GetAlpha(PyObject *, PyObject *args, PyObject *kwar
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
     wxImage *arg1 = (wxImage *) 0 ;
     int arg2 ;
     int arg3 ;
-    unsigned char result;
+    byte result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -11433,7 +11456,7 @@ static PyObject *_wrap_Image_GetAlpha(PyObject *, PyObject *args, PyObject *kwar
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (unsigned char)(arg1)->GetAlpha(arg2,arg3);
+        result = (byte)(arg1)->GetAlpha(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -11500,6 +11523,54 @@ static PyObject *_wrap_Image_InitAlpha(PyObject *, PyObject *args, PyObject *kwa
 }
 
 
 }
 
 
+static PyObject *_wrap_Image_IsTransparent(PyObject *, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxImage *arg1 = (wxImage *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    byte arg4 = (byte) wxIMAGE_ALPHA_THRESHOLD ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "threshold", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|O:Image_IsTransparent",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (int)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    if (obj3) {
+        {
+            arg4 = (byte)(SWIG_As_unsigned_SS_char(obj3)); 
+            if (SWIG_arg_fail(4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxImage const *)arg1)->IsTransparent(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_Image_FindFirstUnusedColour(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_FindFirstUnusedColour(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
@@ -11573,7 +11644,7 @@ static PyObject *_wrap_Image_FindFirstUnusedColour(PyObject *, PyObject *args, P
 static PyObject *_wrap_Image_ConvertAlphaToMask(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_ConvertAlphaToMask(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    byte arg2 = (byte) 128 ;
+    byte arg2 = (byte) wxIMAGE_ALPHA_THRESHOLD ;
     bool result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     bool result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
@@ -11609,9 +11680,9 @@ static PyObject *_wrap_Image_ConvertAlphaToMask(PyObject *, PyObject *args, PyOb
 static PyObject *_wrap_Image_ConvertColourToAlpha(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_ConvertColourToAlpha(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    unsigned char arg2 ;
-    unsigned char arg3 ;
-    unsigned char arg4 ;
+    byte arg2 ;
+    byte arg3 ;
+    byte arg4 ;
     bool result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     bool result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
@@ -11625,15 +11696,15 @@ static PyObject *_wrap_Image_ConvertColourToAlpha(PyObject *, PyObject *args, Py
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
-        arg2 = (unsigned char)(SWIG_As_unsigned_SS_char(obj1)); 
+        arg2 = (byte)(SWIG_As_unsigned_SS_char(obj1)); 
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
-        arg3 = (unsigned char)(SWIG_As_unsigned_SS_char(obj2)); 
+        arg3 = (byte)(SWIG_As_unsigned_SS_char(obj2)); 
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
-        arg4 = (unsigned char)(SWIG_As_unsigned_SS_char(obj3)); 
+        arg4 = (byte)(SWIG_As_unsigned_SS_char(obj3)); 
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
@@ -11715,7 +11786,7 @@ static PyObject *_wrap_Image_CanRead(PyObject *, PyObject *args, PyObject *kwarg
     bool temp1 = false ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
     bool temp1 = false ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
-        (char *) "name", NULL 
+        (char *) "filename", NULL 
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Image_CanRead",kwnames,&obj0)) goto fail;
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Image_CanRead",kwnames,&obj0)) goto fail;
@@ -11757,7 +11828,7 @@ static PyObject *_wrap_Image_GetImageCount(PyObject *, PyObject *args, PyObject
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
-        (char *) "name",(char *) "type", NULL 
+        (char *) "filename",(char *) "type", NULL 
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:Image_GetImageCount",kwnames,&obj0,&obj1)) goto fail;
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:Image_GetImageCount",kwnames,&obj0,&obj1)) goto fail;
@@ -12551,7 +12622,8 @@ static PyObject *_wrap_Image_GetData(PyObject *, PyObject *args, PyObject *kwarg
 static PyObject *_wrap_Image_SetData(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_SetData(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    PyObject *arg2 = (PyObject *) 0 ;
+    buffer arg2 ;
+    int arg3 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -12561,10 +12633,12 @@ static PyObject *_wrap_Image_SetData(PyObject *, PyObject *args, PyObject *kwarg
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Image_SetData",kwnames,&obj0,&obj1)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Image_SetData",kwnames,&obj0,&obj1)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
-    arg2 = obj1;
+    {
+        if (!PyArg_Parse(obj1, "t#", &arg2, &arg3)) SWIG_fail; 
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        wxImage_SetData(arg1,arg2);
+        wxImage_SetData(arg1,arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -12605,7 +12679,8 @@ static PyObject *_wrap_Image_GetDataBuffer(PyObject *, PyObject *args, PyObject
 static PyObject *_wrap_Image_SetDataBuffer(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_SetDataBuffer(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    PyObject *arg2 = (PyObject *) 0 ;
+    buffer arg2 ;
+    int arg3 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -12615,10 +12690,12 @@ static PyObject *_wrap_Image_SetDataBuffer(PyObject *, PyObject *args, PyObject
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Image_SetDataBuffer",kwnames,&obj0,&obj1)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Image_SetDataBuffer",kwnames,&obj0,&obj1)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
-    arg2 = obj1;
+    {
+        if (!PyArg_Parse(obj1, "t#", &arg2, &arg3)) SWIG_fail; 
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        wxImage_SetDataBuffer(arg1,arg2);
+        wxImage_SetDataBuffer(arg1,arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -12659,20 +12736,23 @@ static PyObject *_wrap_Image_GetAlphaData(PyObject *, PyObject *args, PyObject *
 static PyObject *_wrap_Image_SetAlphaData(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_SetAlphaData(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    PyObject *arg2 = (PyObject *) 0 ;
+    buffer arg2 ;
+    int arg3 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "data", NULL 
+        (char *) "self",(char *) "alpha", NULL 
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Image_SetAlphaData",kwnames,&obj0,&obj1)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Image_SetAlphaData",kwnames,&obj0,&obj1)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
-    arg2 = obj1;
+    {
+        if (!PyArg_Parse(obj1, "t#", &arg2, &arg3)) SWIG_fail; 
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        wxImage_SetAlphaData(arg1,arg2);
+        wxImage_SetAlphaData(arg1,arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -12713,20 +12793,23 @@ static PyObject *_wrap_Image_GetAlphaBuffer(PyObject *, PyObject *args, PyObject
 static PyObject *_wrap_Image_SetAlphaBuffer(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_SetAlphaBuffer(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    PyObject *arg2 = (PyObject *) 0 ;
+    buffer arg2 ;
+    int arg3 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "data", NULL 
+        (char *) "self",(char *) "alpha", NULL 
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Image_SetAlphaBuffer",kwnames,&obj0,&obj1)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Image_SetAlphaBuffer",kwnames,&obj0,&obj1)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
-    arg2 = obj1;
+    {
+        if (!PyArg_Parse(obj1, "t#", &arg2, &arg3)) SWIG_fail; 
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        wxImage_SetAlphaBuffer(arg1,arg2);
+        wxImage_SetAlphaBuffer(arg1,arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -12741,9 +12824,9 @@ static PyObject *_wrap_Image_SetAlphaBuffer(PyObject *, PyObject *args, PyObject
 static PyObject *_wrap_Image_SetMaskColour(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_SetMaskColour(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    unsigned char arg2 ;
-    unsigned char arg3 ;
-    unsigned char arg4 ;
+    byte arg2 ;
+    byte arg3 ;
+    byte arg4 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -12756,15 +12839,15 @@ static PyObject *_wrap_Image_SetMaskColour(PyObject *, PyObject *args, PyObject
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
-        arg2 = (unsigned char)(SWIG_As_unsigned_SS_char(obj1)); 
+        arg2 = (byte)(SWIG_As_unsigned_SS_char(obj1)); 
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
-        arg3 = (unsigned char)(SWIG_As_unsigned_SS_char(obj2)); 
+        arg3 = (byte)(SWIG_As_unsigned_SS_char(obj2)); 
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
-        arg4 = (unsigned char)(SWIG_As_unsigned_SS_char(obj3)); 
+        arg4 = (byte)(SWIG_As_unsigned_SS_char(obj3)); 
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
@@ -12784,14 +12867,14 @@ static PyObject *_wrap_Image_SetMaskColour(PyObject *, PyObject *args, PyObject
 static PyObject *_wrap_Image_GetOrFindMaskColour(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_GetOrFindMaskColour(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    unsigned char *arg2 = (unsigned char *) 0 ;
-    unsigned char *arg3 = (unsigned char *) 0 ;
-    unsigned char *arg4 = (unsigned char *) 0 ;
-    unsigned char temp2 ;
+    byte *arg2 = (byte *) 0 ;
+    byte *arg3 = (byte *) 0 ;
+    byte *arg4 = (byte *) 0 ;
+    byte temp2 ;
     int res2 = 0 ;
     int res2 = 0 ;
-    unsigned char temp3 ;
+    byte temp3 ;
     int res3 = 0 ;
     int res3 = 0 ;
-    unsigned char temp4 ;
+    byte temp4 ;
     int res4 = 0 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
     int res4 = 0 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
@@ -12827,7 +12910,7 @@ static PyObject *_wrap_Image_GetOrFindMaskColour(PyObject *, PyObject *args, PyO
 static PyObject *_wrap_Image_GetMaskRed(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_GetMaskRed(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    unsigned char result;
+    byte result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
@@ -12838,7 +12921,7 @@ static PyObject *_wrap_Image_GetMaskRed(PyObject *, PyObject *args, PyObject *kw
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (unsigned char)(arg1)->GetMaskRed();
+        result = (byte)(arg1)->GetMaskRed();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -12855,7 +12938,7 @@ static PyObject *_wrap_Image_GetMaskRed(PyObject *, PyObject *args, PyObject *kw
 static PyObject *_wrap_Image_GetMaskGreen(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_GetMaskGreen(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    unsigned char result;
+    byte result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
@@ -12866,7 +12949,7 @@ static PyObject *_wrap_Image_GetMaskGreen(PyObject *, PyObject *args, PyObject *
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (unsigned char)(arg1)->GetMaskGreen();
+        result = (byte)(arg1)->GetMaskGreen();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -12883,7 +12966,7 @@ static PyObject *_wrap_Image_GetMaskGreen(PyObject *, PyObject *args, PyObject *
 static PyObject *_wrap_Image_GetMaskBlue(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_GetMaskBlue(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    unsigned char result;
+    byte result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
@@ -12894,7 +12977,7 @@ static PyObject *_wrap_Image_GetMaskBlue(PyObject *, PyObject *args, PyObject *k
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (unsigned char)(arg1)->GetMaskBlue();
+        result = (byte)(arg1)->GetMaskBlue();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -13105,12 +13188,12 @@ static PyObject *_wrap_Image_Mirror(PyObject *, PyObject *args, PyObject *kwargs
 static PyObject *_wrap_Image_Replace(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_Replace(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    unsigned char arg2 ;
-    unsigned char arg3 ;
-    unsigned char arg4 ;
-    unsigned char arg5 ;
-    unsigned char arg6 ;
-    unsigned char arg7 ;
+    byte arg2 ;
+    byte arg3 ;
+    byte arg4 ;
+    byte arg5 ;
+    byte arg6 ;
+    byte arg7 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -13126,27 +13209,27 @@ static PyObject *_wrap_Image_Replace(PyObject *, PyObject *args, PyObject *kwarg
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
-        arg2 = (unsigned char)(SWIG_As_unsigned_SS_char(obj1)); 
+        arg2 = (byte)(SWIG_As_unsigned_SS_char(obj1)); 
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
-        arg3 = (unsigned char)(SWIG_As_unsigned_SS_char(obj2)); 
+        arg3 = (byte)(SWIG_As_unsigned_SS_char(obj2)); 
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
-        arg4 = (unsigned char)(SWIG_As_unsigned_SS_char(obj3)); 
+        arg4 = (byte)(SWIG_As_unsigned_SS_char(obj3)); 
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
-        arg5 = (unsigned char)(SWIG_As_unsigned_SS_char(obj4)); 
+        arg5 = (byte)(SWIG_As_unsigned_SS_char(obj4)); 
         if (SWIG_arg_fail(5)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(5)) SWIG_fail;
     }
     {
-        arg6 = (unsigned char)(SWIG_As_unsigned_SS_char(obj5)); 
+        arg6 = (byte)(SWIG_As_unsigned_SS_char(obj5)); 
         if (SWIG_arg_fail(6)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(6)) SWIG_fail;
     }
     {
-        arg7 = (unsigned char)(SWIG_As_unsigned_SS_char(obj6)); 
+        arg7 = (byte)(SWIG_As_unsigned_SS_char(obj6)); 
         if (SWIG_arg_fail(7)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(7)) SWIG_fail;
     }
     {
@@ -13166,9 +13249,9 @@ static PyObject *_wrap_Image_Replace(PyObject *, PyObject *args, PyObject *kwarg
 static PyObject *_wrap_Image_ConvertToMono(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_ConvertToMono(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    unsigned char arg2 ;
-    unsigned char arg3 ;
-    unsigned char arg4 ;
+    byte arg2 ;
+    byte arg3 ;
+    byte arg4 ;
     SwigValueWrapper<wxImage > result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     SwigValueWrapper<wxImage > result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
@@ -13182,15 +13265,15 @@ static PyObject *_wrap_Image_ConvertToMono(PyObject *, PyObject *args, PyObject
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
-        arg2 = (unsigned char)(SWIG_As_unsigned_SS_char(obj1)); 
+        arg2 = (byte)(SWIG_As_unsigned_SS_char(obj1)); 
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
-        arg3 = (unsigned char)(SWIG_As_unsigned_SS_char(obj2)); 
+        arg3 = (byte)(SWIG_As_unsigned_SS_char(obj2)); 
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
-        arg4 = (unsigned char)(SWIG_As_unsigned_SS_char(obj3)); 
+        arg4 = (byte)(SWIG_As_unsigned_SS_char(obj3)); 
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
@@ -13685,9 +13768,9 @@ static PyObject *_wrap_Image_ConvertToBitmap(PyObject *, PyObject *args, PyObjec
 static PyObject *_wrap_Image_ConvertToMonoBitmap(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
 static PyObject *_wrap_Image_ConvertToMonoBitmap(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxImage *arg1 = (wxImage *) 0 ;
-    unsigned char arg2 ;
-    unsigned char arg3 ;
-    unsigned char arg4 ;
+    byte arg2 ;
+    byte arg3 ;
+    byte arg4 ;
     wxBitmap result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     wxBitmap result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
@@ -13701,15 +13784,15 @@ static PyObject *_wrap_Image_ConvertToMonoBitmap(PyObject *, PyObject *args, PyO
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxImage, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
-        arg2 = (unsigned char)(SWIG_As_unsigned_SS_char(obj1)); 
+        arg2 = (byte)(SWIG_As_unsigned_SS_char(obj1)); 
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(2)) SWIG_fail;
     }
     {
-        arg3 = (unsigned char)(SWIG_As_unsigned_SS_char(obj2)); 
+        arg3 = (byte)(SWIG_As_unsigned_SS_char(obj2)); 
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(3)) SWIG_fail;
     }
     {
-        arg4 = (unsigned char)(SWIG_As_unsigned_SS_char(obj3)); 
+        arg4 = (byte)(SWIG_As_unsigned_SS_char(obj3)); 
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
         if (SWIG_arg_fail(4)) SWIG_fail;
     }
     {
@@ -16487,7 +16570,7 @@ static PyObject *_wrap_MouseEvent_Button(PyObject *, PyObject *args, PyObject *k
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "but", NULL 
+        (char *) "self",(char *) "button", NULL 
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:MouseEvent_Button",kwnames,&obj0,&obj1)) goto fail;
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:MouseEvent_Button",kwnames,&obj0,&obj1)) goto fail;
@@ -18235,7 +18318,7 @@ static PyObject *_wrap_new_KeyEvent(PyObject *, PyObject *args, PyObject *kwargs
     wxKeyEvent *result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
     wxKeyEvent *result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
-        (char *) "keyType", NULL 
+        (char *) "eventType", NULL 
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|O:new_KeyEvent",kwnames,&obj0)) goto fail;
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|O:new_KeyEvent",kwnames,&obj0)) goto fail;
@@ -19678,7 +19761,7 @@ static PyObject * NcPaintEvent_swigregister(PyObject *, PyObject *args) {
 static PyObject *_wrap_new_EraseEvent(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     int arg1 = (int) 0 ;
 static PyObject *_wrap_new_EraseEvent(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     int arg1 = (int) 0 ;
-    wxDC *arg2 = (wxDC *) (wxDC *) NULL ;
+    wxDC *arg2 = (wxDC *) NULL ;
     wxEraseEvent *result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     wxEraseEvent *result;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
@@ -20294,66 +20377,66 @@ static PyObject *_wrap_CloseEvent_Veto(PyObject *, PyObject *args, PyObject *kwa
 }
 
 
 }
 
 
-static PyObject *_wrap_CloseEvent_SetCanVeto(PyObject *, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_CloseEvent_GetVeto(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxCloseEvent *arg1 = (wxCloseEvent *) 0 ;
     PyObject *resultobj;
     wxCloseEvent *arg1 = (wxCloseEvent *) 0 ;
-    bool arg2 ;
+    bool result;
     PyObject * obj0 = 0 ;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
     char *kwnames[] = {
-        (char *) "self",(char *) "canVeto", NULL 
+        (char *) "self", NULL 
     };
     
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:CloseEvent_SetCanVeto",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:CloseEvent_GetVeto",kwnames,&obj0)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxCloseEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxCloseEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
-    {
-        arg2 = (bool)(SWIG_As_bool(obj1)); 
-        if (SWIG_arg_fail(2)) SWIG_fail;
-    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->SetCanVeto(arg2);
+        result = (bool)((wxCloseEvent const *)arg1)->GetVeto();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+    }
     return resultobj;
     fail:
     return NULL;
 }
 
 
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_CloseEvent_CanVeto(PyObject *, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_CloseEvent_SetCanVeto(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxCloseEvent *arg1 = (wxCloseEvent *) 0 ;
     PyObject *resultobj;
     wxCloseEvent *arg1 = (wxCloseEvent *) 0 ;
-    bool result;
+    bool arg2 ;
     PyObject * obj0 = 0 ;
     PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
     char *kwnames[] = {
     char *kwnames[] = {
-        (char *) "self", NULL 
+        (char *) "self",(char *) "canVeto", NULL 
     };
     
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:CloseEvent_CanVeto",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:CloseEvent_SetCanVeto",kwnames,&obj0,&obj1)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxCloseEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxCloseEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (bool)((wxCloseEvent const *)arg1)->CanVeto();
+        (arg1)->SetCanVeto(arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    {
-        resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
-    }
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_CloseEvent_GetVeto(PyObject *, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_CloseEvent_CanVeto(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxCloseEvent *arg1 = (wxCloseEvent *) 0 ;
     bool result;
     PyObject *resultobj;
     wxCloseEvent *arg1 = (wxCloseEvent *) 0 ;
     bool result;
@@ -20362,12 +20445,12 @@ static PyObject *_wrap_CloseEvent_GetVeto(PyObject *, PyObject *args, PyObject *
         (char *) "self", NULL 
     };
     
         (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:CloseEvent_GetVeto",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:CloseEvent_CanVeto",kwnames,&obj0)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxCloseEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxCloseEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (bool)((wxCloseEvent const *)arg1)->GetVeto();
+        result = (bool)((wxCloseEvent const *)arg1)->CanVeto();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -22184,7 +22267,7 @@ static PyObject *_wrap_new_PyEvent(PyObject *, PyObject *args, PyObject *kwargs)
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
-        (char *) "winid",(char *) "commandType", NULL 
+        (char *) "winid",(char *) "eventType", NULL 
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:new_PyEvent",kwnames,&obj0,&obj1)) goto fail;
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:new_PyEvent",kwnames,&obj0,&obj1)) goto fail;
@@ -22239,7 +22322,7 @@ static PyObject *_wrap_delete_PyEvent(PyObject *, PyObject *args, PyObject *kwar
 }
 
 
 }
 
 
-static PyObject *_wrap_PyEvent_SetSelf(PyObject *, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_PyEvent__SetSelf(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyEvent *arg1 = (wxPyEvent *) 0 ;
     PyObject *arg2 = (PyObject *) 0 ;
     PyObject *resultobj;
     wxPyEvent *arg1 = (wxPyEvent *) 0 ;
     PyObject *arg2 = (PyObject *) 0 ;
@@ -22249,7 +22332,7 @@ static PyObject *_wrap_PyEvent_SetSelf(PyObject *, PyObject *args, PyObject *kwa
         (char *) "self",(char *) "self", NULL 
     };
     
         (char *) "self",(char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEvent_SetSelf",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEvent__SetSelf",kwnames,&obj0,&obj1)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxPyEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     arg2 = obj1;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxPyEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     arg2 = obj1;
@@ -22267,7 +22350,7 @@ static PyObject *_wrap_PyEvent_SetSelf(PyObject *, PyObject *args, PyObject *kwa
 }
 
 
 }
 
 
-static PyObject *_wrap_PyEvent_GetSelf(PyObject *, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_PyEvent__GetSelf(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyEvent *arg1 = (wxPyEvent *) 0 ;
     PyObject *result;
     PyObject *resultobj;
     wxPyEvent *arg1 = (wxPyEvent *) 0 ;
     PyObject *result;
@@ -22276,7 +22359,7 @@ static PyObject *_wrap_PyEvent_GetSelf(PyObject *, PyObject *args, PyObject *kwa
         (char *) "self", NULL 
     };
     
         (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyEvent_GetSelf",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyEvent__GetSelf",kwnames,&obj0)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxPyEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxPyEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
@@ -22308,7 +22391,7 @@ static PyObject *_wrap_new_PyCommandEvent(PyObject *, PyObject *args, PyObject *
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
-        (char *) "commandType",(char *) "id", NULL 
+        (char *) "eventType",(char *) "id", NULL 
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:new_PyCommandEvent",kwnames,&obj0,&obj1)) goto fail;
     };
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:new_PyCommandEvent",kwnames,&obj0,&obj1)) goto fail;
@@ -22363,7 +22446,7 @@ static PyObject *_wrap_delete_PyCommandEvent(PyObject *, PyObject *args, PyObjec
 }
 
 
 }
 
 
-static PyObject *_wrap_PyCommandEvent_SetSelf(PyObject *, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_PyCommandEvent__SetSelf(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyCommandEvent *arg1 = (wxPyCommandEvent *) 0 ;
     PyObject *arg2 = (PyObject *) 0 ;
     PyObject *resultobj;
     wxPyCommandEvent *arg1 = (wxPyCommandEvent *) 0 ;
     PyObject *arg2 = (PyObject *) 0 ;
@@ -22373,7 +22456,7 @@ static PyObject *_wrap_PyCommandEvent_SetSelf(PyObject *, PyObject *args, PyObje
         (char *) "self",(char *) "self", NULL 
     };
     
         (char *) "self",(char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCommandEvent_SetSelf",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCommandEvent__SetSelf",kwnames,&obj0,&obj1)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxPyCommandEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     arg2 = obj1;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxPyCommandEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     arg2 = obj1;
@@ -22391,7 +22474,7 @@ static PyObject *_wrap_PyCommandEvent_SetSelf(PyObject *, PyObject *args, PyObje
 }
 
 
 }
 
 
-static PyObject *_wrap_PyCommandEvent_GetSelf(PyObject *, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_PyCommandEvent__GetSelf(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyCommandEvent *arg1 = (wxPyCommandEvent *) 0 ;
     PyObject *result;
     PyObject *resultobj;
     wxPyCommandEvent *arg1 = (wxPyCommandEvent *) 0 ;
     PyObject *result;
@@ -22400,7 +22483,7 @@ static PyObject *_wrap_PyCommandEvent_GetSelf(PyObject *, PyObject *args, PyObje
         (char *) "self", NULL 
     };
     
         (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCommandEvent_GetSelf",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCommandEvent__GetSelf",kwnames,&obj0)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxPyCommandEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxPyCommandEvent, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     {
@@ -22589,21 +22672,27 @@ static PyObject *_wrap_PyApp__setCallbackInfo(PyObject *, PyObject *args, PyObje
     wxPyApp *arg1 = (wxPyApp *) 0 ;
     PyObject *arg2 = (PyObject *) 0 ;
     PyObject *arg3 = (PyObject *) 0 ;
     wxPyApp *arg1 = (wxPyApp *) 0 ;
     PyObject *arg2 = (PyObject *) 0 ;
     PyObject *arg3 = (PyObject *) 0 ;
+    bool arg4 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
     char *kwnames[] = {
     char *kwnames[] = {
-        (char *) "self",(char *) "self",(char *) "_class", NULL 
+        (char *) "self",(char *) "self",(char *) "_class",(char *) "incref", NULL 
     };
     
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyApp__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO:PyApp__setCallbackInfo",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxPyApp, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     arg2 = obj1;
     arg3 = obj2;
     SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxPyApp, SWIG_POINTER_EXCEPTION | 0);
     if (SWIG_arg_fail(1)) SWIG_fail;
     arg2 = obj1;
     arg3 = obj2;
+    {
+        arg4 = (bool)(SWIG_As_bool(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->_setCallbackInfo(arg2,arg3);
+        (arg1)->_setCallbackInfo(arg2,arg3,arg4);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -26438,6 +26527,38 @@ static PyObject *_wrap_Window_InvalidateBestSize(PyObject *, PyObject *args, PyO
 }
 
 
 }
 
 
+static PyObject *_wrap_Window_CacheBestSize(PyObject *, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    wxSize *arg2 = 0 ;
+    wxSize temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "size", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Window_CacheBestSize",kwnames,&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxWindow, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxSize_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        ((wxWindow const *)arg1)->CacheBestSize((wxSize const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_Window_GetBestFittingSize(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxWindow *arg1 = (wxWindow *) 0 ;
 static PyObject *_wrap_Window_GetBestFittingSize(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxWindow *arg1 = (wxWindow *) 0 ;
@@ -31938,7 +32059,7 @@ static PyObject *_wrap_Window_GetSizer(PyObject *, PyObject *args, PyObject *kwa
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
-        resultobj = wxPyMake_wxSizer(result, 0); 
+        resultobj = wxPyMake_wxObject(result, 0); 
     }
     return resultobj;
     fail:
     }
     return resultobj;
     fail:
@@ -31995,7 +32116,7 @@ static PyObject *_wrap_Window_GetContainingSizer(PyObject *, PyObject *args, PyO
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
-        resultobj = wxPyMake_wxSizer(result, 0); 
+        resultobj = wxPyMake_wxObject(result, 0); 
     }
     return resultobj;
     fail:
     }
     return resultobj;
     fail:
@@ -32228,6 +32349,28 @@ static PyObject *_wrap_Window_FromHWND(PyObject *, PyObject *args, PyObject *kwa
 }
 
 
 }
 
 
+static PyObject *_wrap_GetTopLevelWindows(PyObject *, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    PyObject *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":GetTopLevelWindows",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)GetTopLevelWindows();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_new_Validator(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxValidator *result;
 static PyObject *_wrap_new_Validator(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxValidator *result;
@@ -35396,7 +35539,7 @@ static PyObject *_wrap_MenuBar_FindMenu(PyObject *, PyObject *args, PyObject *kw
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (int)((wxMenuBar const *)arg1)->FindMenu((wxString const &)*arg2);
+        result = (int)(arg1)->FindMenu((wxString const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -37720,15 +37863,11 @@ static PyObject *_wrap_ItemContainer_AppendItems(PyObject *, PyObject *args, PyO
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
         }
     }
     {
@@ -39250,7 +39389,7 @@ static PyObject *_wrap_SizerItem_GetSizer(PyObject *, PyObject *args, PyObject *
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
-        resultobj = wxPyMake_wxSizer(result, 0); 
+        resultobj = wxPyMake_wxObject(result, 0); 
     }
     return resultobj;
     fail:
     }
     return resultobj;
     fail:
@@ -45488,6 +45627,7 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Image_GetAlpha", (PyCFunction) _wrap_Image_GetAlpha, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Image_HasAlpha", (PyCFunction) _wrap_Image_HasAlpha, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Image_InitAlpha", (PyCFunction) _wrap_Image_InitAlpha, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Image_GetAlpha", (PyCFunction) _wrap_Image_GetAlpha, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Image_HasAlpha", (PyCFunction) _wrap_Image_HasAlpha, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Image_InitAlpha", (PyCFunction) _wrap_Image_InitAlpha, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"Image_IsTransparent", (PyCFunction) _wrap_Image_IsTransparent, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Image_FindFirstUnusedColour", (PyCFunction) _wrap_Image_FindFirstUnusedColour, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Image_ConvertAlphaToMask", (PyCFunction) _wrap_Image_ConvertAlphaToMask, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Image_ConvertColourToAlpha", (PyCFunction) _wrap_Image_ConvertColourToAlpha, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Image_FindFirstUnusedColour", (PyCFunction) _wrap_Image_FindFirstUnusedColour, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Image_ConvertAlphaToMask", (PyCFunction) _wrap_Image_ConvertAlphaToMask, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Image_ConvertColourToAlpha", (PyCFunction) _wrap_Image_ConvertColourToAlpha, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -45784,9 +45924,9 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"CloseEvent_SetLoggingOff", (PyCFunction) _wrap_CloseEvent_SetLoggingOff, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"CloseEvent_GetLoggingOff", (PyCFunction) _wrap_CloseEvent_GetLoggingOff, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"CloseEvent_Veto", (PyCFunction) _wrap_CloseEvent_Veto, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"CloseEvent_SetLoggingOff", (PyCFunction) _wrap_CloseEvent_SetLoggingOff, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"CloseEvent_GetLoggingOff", (PyCFunction) _wrap_CloseEvent_GetLoggingOff, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"CloseEvent_Veto", (PyCFunction) _wrap_CloseEvent_Veto, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"CloseEvent_GetVeto", (PyCFunction) _wrap_CloseEvent_GetVeto, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"CloseEvent_SetCanVeto", (PyCFunction) _wrap_CloseEvent_SetCanVeto, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"CloseEvent_CanVeto", (PyCFunction) _wrap_CloseEvent_CanVeto, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"CloseEvent_SetCanVeto", (PyCFunction) _wrap_CloseEvent_SetCanVeto, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"CloseEvent_CanVeto", (PyCFunction) _wrap_CloseEvent_CanVeto, METH_VARARGS | METH_KEYWORDS, NULL},
-        { (char *)"CloseEvent_GetVeto", (PyCFunction) _wrap_CloseEvent_GetVeto, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"CloseEvent_swigregister", CloseEvent_swigregister, METH_VARARGS, NULL},
         { (char *)"new_ShowEvent", (PyCFunction) _wrap_new_ShowEvent, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"ShowEvent_SetShow", (PyCFunction) _wrap_ShowEvent_SetShow, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"CloseEvent_swigregister", CloseEvent_swigregister, METH_VARARGS, NULL},
         { (char *)"new_ShowEvent", (PyCFunction) _wrap_new_ShowEvent, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"ShowEvent_SetShow", (PyCFunction) _wrap_ShowEvent_SetShow, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -45863,13 +46003,13 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"IdleEvent_swigregister", IdleEvent_swigregister, METH_VARARGS, NULL},
         { (char *)"new_PyEvent", (PyCFunction) _wrap_new_PyEvent, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"delete_PyEvent", (PyCFunction) _wrap_delete_PyEvent, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"IdleEvent_swigregister", IdleEvent_swigregister, METH_VARARGS, NULL},
         { (char *)"new_PyEvent", (PyCFunction) _wrap_new_PyEvent, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"delete_PyEvent", (PyCFunction) _wrap_delete_PyEvent, METH_VARARGS | METH_KEYWORDS, NULL},
-        { (char *)"PyEvent_SetSelf", (PyCFunction) _wrap_PyEvent_SetSelf, METH_VARARGS | METH_KEYWORDS, NULL},
-        { (char *)"PyEvent_GetSelf", (PyCFunction) _wrap_PyEvent_GetSelf, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"PyEvent__SetSelf", (PyCFunction) _wrap_PyEvent__SetSelf, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"PyEvent__GetSelf", (PyCFunction) _wrap_PyEvent__GetSelf, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"PyEvent_swigregister", PyEvent_swigregister, METH_VARARGS, NULL},
         { (char *)"new_PyCommandEvent", (PyCFunction) _wrap_new_PyCommandEvent, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"delete_PyCommandEvent", (PyCFunction) _wrap_delete_PyCommandEvent, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"PyEvent_swigregister", PyEvent_swigregister, METH_VARARGS, NULL},
         { (char *)"new_PyCommandEvent", (PyCFunction) _wrap_new_PyCommandEvent, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"delete_PyCommandEvent", (PyCFunction) _wrap_delete_PyCommandEvent, METH_VARARGS | METH_KEYWORDS, NULL},
-        { (char *)"PyCommandEvent_SetSelf", (PyCFunction) _wrap_PyCommandEvent_SetSelf, METH_VARARGS | METH_KEYWORDS, NULL},
-        { (char *)"PyCommandEvent_GetSelf", (PyCFunction) _wrap_PyCommandEvent_GetSelf, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"PyCommandEvent__SetSelf", (PyCFunction) _wrap_PyCommandEvent__SetSelf, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"PyCommandEvent__GetSelf", (PyCFunction) _wrap_PyCommandEvent__GetSelf, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"PyCommandEvent_swigregister", PyCommandEvent_swigregister, METH_VARARGS, NULL},
         { (char *)"new_DateEvent", (PyCFunction) _wrap_new_DateEvent, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"DateEvent_GetDate", (PyCFunction) _wrap_DateEvent_GetDate, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"PyCommandEvent_swigregister", PyCommandEvent_swigregister, METH_VARARGS, NULL},
         { (char *)"new_DateEvent", (PyCFunction) _wrap_new_DateEvent, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"DateEvent_GetDate", (PyCFunction) _wrap_DateEvent_GetDate, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -46005,6 +46145,7 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Window_GetBestSize", (PyCFunction) _wrap_Window_GetBestSize, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_GetBestSizeTuple", (PyCFunction) _wrap_Window_GetBestSizeTuple, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_InvalidateBestSize", (PyCFunction) _wrap_Window_InvalidateBestSize, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_GetBestSize", (PyCFunction) _wrap_Window_GetBestSize, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_GetBestSizeTuple", (PyCFunction) _wrap_Window_GetBestSizeTuple, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_InvalidateBestSize", (PyCFunction) _wrap_Window_InvalidateBestSize, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"Window_CacheBestSize", (PyCFunction) _wrap_Window_CacheBestSize, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_GetBestFittingSize", (PyCFunction) _wrap_Window_GetBestFittingSize, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_GetAdjustedBestSize", (PyCFunction) _wrap_Window_GetAdjustedBestSize, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_Center", (PyCFunction) _wrap_Window_Center, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_GetBestFittingSize", (PyCFunction) _wrap_Window_GetBestFittingSize, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_GetAdjustedBestSize", (PyCFunction) _wrap_Window_GetAdjustedBestSize, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_Center", (PyCFunction) _wrap_Window_Center, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -46179,6 +46320,7 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"FindWindowByName", (PyCFunction) _wrap_FindWindowByName, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"FindWindowByLabel", (PyCFunction) _wrap_FindWindowByLabel, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_FromHWND", (PyCFunction) _wrap_Window_FromHWND, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"FindWindowByName", (PyCFunction) _wrap_FindWindowByName, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"FindWindowByLabel", (PyCFunction) _wrap_FindWindowByLabel, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Window_FromHWND", (PyCFunction) _wrap_Window_FromHWND, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"GetTopLevelWindows", (PyCFunction) _wrap_GetTopLevelWindows, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"new_Validator", (PyCFunction) _wrap_new_Validator, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Validator_Clone", (PyCFunction) _wrap_Validator_Clone, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Validator_Validate", (PyCFunction) _wrap_Validator_Validate, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"new_Validator", (PyCFunction) _wrap_new_Validator, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Validator_Clone", (PyCFunction) _wrap_Validator_Clone, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"Validator_Validate", (PyCFunction) _wrap_Validator_Validate, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -47070,6 +47212,7 @@ static swig_type_info _swigt__p_wxGridBagSizer[] = {{"_p_wxGridBagSizer", 0, "wx
 static swig_type_info _swigt__p_wxAcceleratorEntry[] = {{"_p_wxAcceleratorEntry", 0, "wxAcceleratorEntry *", 0, 0, 0, 0},{"_p_wxAcceleratorEntry", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxUpdateUIEvent[] = {{"_p_wxUpdateUIEvent", 0, "wxUpdateUIEvent *", 0, 0, 0, 0},{"_p_wxUpdateUIEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxEvent[] = {{"_p_wxEvent", 0, "wxEvent *", 0, 0, 0, 0},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxEvent", 0, 0, 0, 0, 0, 0},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxDateEvent", _p_wxDateEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxEvent, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxAcceleratorEntry[] = {{"_p_wxAcceleratorEntry", 0, "wxAcceleratorEntry *", 0, 0, 0, 0},{"_p_wxAcceleratorEntry", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxUpdateUIEvent[] = {{"_p_wxUpdateUIEvent", 0, "wxUpdateUIEvent *", 0, 0, 0, 0},{"_p_wxUpdateUIEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxEvent[] = {{"_p_wxEvent", 0, "wxEvent *", 0, 0, 0, 0},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxEvent", 0, 0, 0, 0, 0, 0},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxDateEvent", _p_wxDateEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxEvent, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_buffer[] = {{"_p_buffer", 0, "buffer *", 0, 0, 0, 0},{"_p_buffer", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxMenu[] = {{"_p_wxMenu", 0, "wxMenu *", 0, 0, 0, 0},{"_p_wxMenu", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxGridSizer[] = {{"_p_wxGridSizer", 0, "wxGridSizer *", 0, 0, 0, 0},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxGridSizer, 0, 0, 0, 0, 0},{"_p_wxGridSizer", 0, 0, 0, 0, 0, 0},{"_p_wxFlexGridSizer", _p_wxFlexGridSizerTo_p_wxGridSizer, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxFlexGridSizer[] = {{"_p_wxFlexGridSizer", 0, "wxFlexGridSizer *", 0, 0, 0, 0},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxFlexGridSizer, 0, 0, 0, 0, 0},{"_p_wxFlexGridSizer", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxMenu[] = {{"_p_wxMenu", 0, "wxMenu *", 0, 0, 0, 0},{"_p_wxMenu", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxGridSizer[] = {{"_p_wxGridSizer", 0, "wxGridSizer *", 0, 0, 0, 0},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxGridSizer, 0, 0, 0, 0, 0},{"_p_wxGridSizer", 0, 0, 0, 0, 0, 0},{"_p_wxFlexGridSizer", _p_wxFlexGridSizerTo_p_wxGridSizer, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxFlexGridSizer[] = {{"_p_wxFlexGridSizer", 0, "wxFlexGridSizer *", 0, 0, 0, 0},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxFlexGridSizer, 0, 0, 0, 0, 0},{"_p_wxFlexGridSizer", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
@@ -47167,7 +47310,7 @@ static swig_type_info _swigt__unsigned_int[] = {{"_unsigned_int", 0, "unsigned i
 static swig_type_info _swigt__p_unsigned_int[] = {{"_p_unsigned_int", 0, "unsigned int *|time_t *", 0, 0, 0, 0},{"_p_unsigned_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxMenuEvent[] = {{"_p_wxMenuEvent", 0, "wxMenuEvent *", 0, 0, 0, 0},{"_p_wxMenuEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxContextMenuEvent[] = {{"_p_wxContextMenuEvent", 0, "wxContextMenuEvent *", 0, 0, 0, 0},{"_p_wxContextMenuEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_unsigned_int[] = {{"_p_unsigned_int", 0, "unsigned int *|time_t *", 0, 0, 0, 0},{"_p_unsigned_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxMenuEvent[] = {{"_p_wxMenuEvent", 0, "wxMenuEvent *", 0, 0, 0, 0},{"_p_wxMenuEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxContextMenuEvent[] = {{"_p_wxContextMenuEvent", 0, "wxContextMenuEvent *", 0, 0, 0, 0},{"_p_wxContextMenuEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
-static swig_type_info _swigt__p_unsigned_char[] = {{"_p_unsigned_char", 0, "unsigned char *", 0, 0, 0, 0},{"_p_unsigned_char", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_unsigned_char[] = {{"_p_unsigned_char", 0, "unsigned char *|byte *", 0, 0, 0, 0},{"_p_unsigned_char", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxEraseEvent[] = {{"_p_wxEraseEvent", 0, "wxEraseEvent *", 0, 0, 0, 0},{"_p_wxEraseEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxMouseEvent[] = {{"_p_wxMouseEvent", 0, "wxMouseEvent *", 0, 0, 0, 0},{"_p_wxMouseEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxCloseEvent[] = {{"_p_wxCloseEvent", 0, "wxCloseEvent *", 0, 0, 0, 0},{"_p_wxCloseEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxEraseEvent[] = {{"_p_wxEraseEvent", 0, "wxEraseEvent *", 0, 0, 0, 0},{"_p_wxEraseEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxMouseEvent[] = {{"_p_wxMouseEvent", 0, "wxMouseEvent *", 0, 0, 0, 0},{"_p_wxMouseEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxCloseEvent[] = {{"_p_wxCloseEvent", 0, "wxCloseEvent *", 0, 0, 0, 0},{"_p_wxCloseEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
@@ -47176,8 +47319,8 @@ static swig_type_info _swigt__p_wxCommandEvent[] = {{"_p_wxCommandEvent", 0, "wx
 static swig_type_info _swigt__p_wxPyCommandEvent[] = {{"_p_wxPyCommandEvent", 0, "wxPyCommandEvent *", 0, 0, 0, 0},{"_p_wxPyCommandEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxPyDropTarget[] = {{"_p_wxPyDropTarget", 0, "wxPyDropTarget *", 0, 0, 0, 0},{"_p_wxPyDropTarget", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxQuantize[] = {{"_p_wxQuantize", 0, "wxQuantize *", 0, 0, 0, 0},{"_p_wxQuantize", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxPyCommandEvent[] = {{"_p_wxPyCommandEvent", 0, "wxPyCommandEvent *", 0, 0, 0, 0},{"_p_wxPyCommandEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxPyDropTarget[] = {{"_p_wxPyDropTarget", 0, "wxPyDropTarget *", 0, 0, 0, 0},{"_p_wxPyDropTarget", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxQuantize[] = {{"_p_wxQuantize", 0, "wxQuantize *", 0, 0, 0, 0},{"_p_wxQuantize", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
-static swig_type_info _swigt__p_wxChildFocusEvent[] = {{"_p_wxChildFocusEvent", 0, "wxChildFocusEvent *", 0, 0, 0, 0},{"_p_wxChildFocusEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxFocusEvent[] = {{"_p_wxFocusEvent", 0, "wxFocusEvent *", 0, 0, 0, 0},{"_p_wxFocusEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxFocusEvent[] = {{"_p_wxFocusEvent", 0, "wxFocusEvent *", 0, 0, 0, 0},{"_p_wxFocusEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_wxChildFocusEvent[] = {{"_p_wxChildFocusEvent", 0, "wxChildFocusEvent *", 0, 0, 0, 0},{"_p_wxChildFocusEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxDropFilesEvent[] = {{"_p_wxDropFilesEvent", 0, "wxDropFilesEvent *", 0, 0, 0, 0},{"_p_wxDropFilesEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxControlWithItems[] = {{"_p_wxControlWithItems", 0, "wxControlWithItems *", 0, 0, 0, 0},{"_p_wxControlWithItems", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxColour[] = {{"_p_wxColour", 0, "wxColour *", 0, 0, 0, 0},{"_p_wxColour", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxDropFilesEvent[] = {{"_p_wxDropFilesEvent", 0, "wxDropFilesEvent *", 0, 0, 0, 0},{"_p_wxDropFilesEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxControlWithItems[] = {{"_p_wxControlWithItems", 0, "wxControlWithItems *", 0, 0, 0, 0},{"_p_wxControlWithItems", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxColour[] = {{"_p_wxColour", 0, "wxColour *", 0, 0, 0, 0},{"_p_wxColour", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
@@ -47199,6 +47342,7 @@ _swigt__p_wxGridBagSizer,
 _swigt__p_wxAcceleratorEntry, 
 _swigt__p_wxUpdateUIEvent, 
 _swigt__p_wxEvent, 
 _swigt__p_wxAcceleratorEntry, 
 _swigt__p_wxUpdateUIEvent, 
 _swigt__p_wxEvent, 
+_swigt__p_buffer, 
 _swigt__p_wxMenu, 
 _swigt__p_wxGridSizer, 
 _swigt__p_wxFlexGridSizer, 
 _swigt__p_wxMenu, 
 _swigt__p_wxGridSizer, 
 _swigt__p_wxFlexGridSizer, 
@@ -47305,8 +47449,8 @@ _swigt__p_wxCommandEvent,
 _swigt__p_wxPyCommandEvent, 
 _swigt__p_wxPyDropTarget, 
 _swigt__p_wxQuantize, 
 _swigt__p_wxPyCommandEvent, 
 _swigt__p_wxPyDropTarget, 
 _swigt__p_wxQuantize, 
-_swigt__p_wxChildFocusEvent, 
 _swigt__p_wxFocusEvent, 
 _swigt__p_wxFocusEvent, 
+_swigt__p_wxChildFocusEvent, 
 _swigt__p_wxDropFilesEvent, 
 _swigt__p_wxControlWithItems, 
 _swigt__p_wxColour, 
 _swigt__p_wxDropFilesEvent, 
 _swigt__p_wxControlWithItems, 
 _swigt__p_wxColour, 
@@ -47707,6 +47851,12 @@ SWIGEXPORT(void) SWIG_init(void) {
     {
         PyDict_SetItemString(d,"NO_BORDER", SWIG_From_int((int)(wxNO_BORDER))); 
     }
     {
         PyDict_SetItemString(d,"NO_BORDER", SWIG_From_int((int)(wxNO_BORDER))); 
     }
+    {
+        PyDict_SetItemString(d,"DEFAULT_CONTROL_BORDER", SWIG_From_int((int)(wxDEFAULT_CONTROL_BORDER))); 
+    }
+    {
+        PyDict_SetItemString(d,"DEFAULT_STATUSBAR_STYLE", SWIG_From_int((int)(wxDEFAULT_STATUSBAR_STYLE))); 
+    }
     {
         PyDict_SetItemString(d,"TAB_TRAVERSAL", SWIG_From_int((int)(wxTAB_TRAVERSAL))); 
     }
     {
         PyDict_SetItemString(d,"TAB_TRAVERSAL", SWIG_From_int((int)(wxTAB_TRAVERSAL))); 
     }
@@ -48562,6 +48712,12 @@ SWIGEXPORT(void) SWIG_init(void) {
     {
         PyDict_SetItemString(d,"STIPPLE", SWIG_From_int((int)(wxSTIPPLE))); 
     }
     {
         PyDict_SetItemString(d,"STIPPLE", SWIG_From_int((int)(wxSTIPPLE))); 
     }
+    {
+        PyDict_SetItemString(d,"STIPPLE_MASK", SWIG_From_int((int)(wxSTIPPLE_MASK))); 
+    }
+    {
+        PyDict_SetItemString(d,"STIPPLE_MASK_OPAQUE", SWIG_From_int((int)(wxSTIPPLE_MASK_OPAQUE))); 
+    }
     {
         PyDict_SetItemString(d,"BDIAGONAL_HATCH", SWIG_From_int((int)(wxBDIAGONAL_HATCH))); 
     }
     {
         PyDict_SetItemString(d,"BDIAGONAL_HATCH", SWIG_From_int((int)(wxBDIAGONAL_HATCH))); 
     }
@@ -49496,6 +49652,15 @@ SWIGEXPORT(void) SWIG_init(void) {
     
     wxPyPtrTypeMap_Add("wxFileSystemHandler", "wxPyFileSystemHandler");
     
     
     wxPyPtrTypeMap_Add("wxFileSystemHandler", "wxPyFileSystemHandler");
     
+    {
+        PyDict_SetItemString(d,"IMAGE_ALPHA_TRANSPARENT", SWIG_From_int((int)(wxIMAGE_ALPHA_TRANSPARENT))); 
+    }
+    {
+        PyDict_SetItemString(d,"IMAGE_ALPHA_THRESHOLD", SWIG_From_int((int)(wxIMAGE_ALPHA_THRESHOLD))); 
+    }
+    {
+        PyDict_SetItemString(d,"IMAGE_ALPHA_OPAQUE", SWIG_From_int((int)(wxIMAGE_ALPHA_OPAQUE))); 
+    }
     SWIG_addvarlink(SWIG_globals,(char*)"NullImage",_wrap_NullImage_get, _wrap_NullImage_set);
     SWIG_addvarlink(SWIG_globals,(char*)"IMAGE_OPTION_FILENAME",_wrap_IMAGE_OPTION_FILENAME_get, _wrap_IMAGE_OPTION_FILENAME_set);
     SWIG_addvarlink(SWIG_globals,(char*)"IMAGE_OPTION_BMP_FORMAT",_wrap_IMAGE_OPTION_BMP_FORMAT_get, _wrap_IMAGE_OPTION_BMP_FORMAT_set);
     SWIG_addvarlink(SWIG_globals,(char*)"NullImage",_wrap_NullImage_get, _wrap_NullImage_set);
     SWIG_addvarlink(SWIG_globals,(char*)"IMAGE_OPTION_FILENAME",_wrap_IMAGE_OPTION_FILENAME_get, _wrap_IMAGE_OPTION_FILENAME_set);
     SWIG_addvarlink(SWIG_globals,(char*)"IMAGE_OPTION_BMP_FORMAT",_wrap_IMAGE_OPTION_BMP_FORMAT_get, _wrap_IMAGE_OPTION_BMP_FORMAT_set);