]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/_gdi_wrap.cpp
Make wx.MenuItem.Destroy a NOP since the regular garbage collection
[wxWidgets.git] / wxPython / src / msw / _gdi_wrap.cpp
index 27480d39c739e670a9719cde3b27f130bedf61c1..cdede70071b880e2169632932c2da0b4354ff8b5 100644 (file)
@@ -2590,52 +2590,51 @@ SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags)
 #define SWIGTYPE_p_wxPixelDataBase swig_types[124]
 #define SWIGTYPE_p_wxPoint swig_types[125]
 #define SWIGTYPE_p_wxPoint2D swig_types[126]
 #define SWIGTYPE_p_wxPixelDataBase swig_types[124]
 #define SWIGTYPE_p_wxPoint swig_types[125]
 #define SWIGTYPE_p_wxPoint2D swig_types[126]
-#define SWIGTYPE_p_wxPoint2DDouble swig_types[127]
-#define SWIGTYPE_p_wxPostScriptDC swig_types[128]
-#define SWIGTYPE_p_wxPrintData swig_types[129]
-#define SWIGTYPE_p_wxPrinterDC swig_types[130]
-#define SWIGTYPE_p_wxPseudoDC swig_types[131]
-#define SWIGTYPE_p_wxPyApp swig_types[132]
-#define SWIGTYPE_p_wxPyCommandEvent swig_types[133]
-#define SWIGTYPE_p_wxPyEvent swig_types[134]
-#define SWIGTYPE_p_wxPyFontEnumerator swig_types[135]
-#define SWIGTYPE_p_wxPyImageHandler swig_types[136]
-#define SWIGTYPE_p_wxPyLocale swig_types[137]
-#define SWIGTYPE_p_wxPySizer swig_types[138]
-#define SWIGTYPE_p_wxPyValidator swig_types[139]
-#define SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[140]
-#define SWIGTYPE_p_wxRect swig_types[141]
-#define SWIGTYPE_p_wxRect2DDouble swig_types[142]
-#define SWIGTYPE_p_wxRegion swig_types[143]
-#define SWIGTYPE_p_wxRegionIterator swig_types[144]
-#define SWIGTYPE_p_wxRendererNative swig_types[145]
-#define SWIGTYPE_p_wxRendererVersion swig_types[146]
-#define SWIGTYPE_p_wxScreenDC swig_types[147]
-#define SWIGTYPE_p_wxScrollEvent swig_types[148]
-#define SWIGTYPE_p_wxScrollWinEvent swig_types[149]
-#define SWIGTYPE_p_wxSetCursorEvent swig_types[150]
-#define SWIGTYPE_p_wxShowEvent swig_types[151]
-#define SWIGTYPE_p_wxSize swig_types[152]
-#define SWIGTYPE_p_wxSizeEvent swig_types[153]
-#define SWIGTYPE_p_wxSizer swig_types[154]
-#define SWIGTYPE_p_wxSizerItem swig_types[155]
-#define SWIGTYPE_p_wxSplitterRenderParams swig_types[156]
-#define SWIGTYPE_p_wxStaticBoxSizer swig_types[157]
-#define SWIGTYPE_p_wxStdDialogButtonSizer swig_types[158]
-#define SWIGTYPE_p_wxStockGDI swig_types[159]
-#define SWIGTYPE_p_wxString swig_types[160]
-#define SWIGTYPE_p_wxSysColourChangedEvent swig_types[161]
-#define SWIGTYPE_p_wxTGAHandler swig_types[162]
-#define SWIGTYPE_p_wxTIFFHandler swig_types[163]
-#define SWIGTYPE_p_wxUpdateUIEvent swig_types[164]
-#define SWIGTYPE_p_wxValidator swig_types[165]
-#define SWIGTYPE_p_wxWindow swig_types[166]
-#define SWIGTYPE_p_wxWindowCreateEvent swig_types[167]
-#define SWIGTYPE_p_wxWindowDC swig_types[168]
-#define SWIGTYPE_p_wxWindowDestroyEvent swig_types[169]
-#define SWIGTYPE_p_wxXPMHandler swig_types[170]
-static swig_type_info *swig_types[172];
-static swig_module_info swig_module = {swig_types, 171, 0, 0, 0, 0};
+#define SWIGTYPE_p_wxPostScriptDC swig_types[127]
+#define SWIGTYPE_p_wxPrintData swig_types[128]
+#define SWIGTYPE_p_wxPrinterDC swig_types[129]
+#define SWIGTYPE_p_wxPseudoDC swig_types[130]
+#define SWIGTYPE_p_wxPyApp swig_types[131]
+#define SWIGTYPE_p_wxPyCommandEvent swig_types[132]
+#define SWIGTYPE_p_wxPyEvent swig_types[133]
+#define SWIGTYPE_p_wxPyFontEnumerator swig_types[134]
+#define SWIGTYPE_p_wxPyImageHandler swig_types[135]
+#define SWIGTYPE_p_wxPyLocale swig_types[136]
+#define SWIGTYPE_p_wxPySizer swig_types[137]
+#define SWIGTYPE_p_wxPyValidator swig_types[138]
+#define SWIGTYPE_p_wxQueryNewPaletteEvent swig_types[139]
+#define SWIGTYPE_p_wxRect swig_types[140]
+#define SWIGTYPE_p_wxRect2D swig_types[141]
+#define SWIGTYPE_p_wxRegion swig_types[142]
+#define SWIGTYPE_p_wxRegionIterator swig_types[143]
+#define SWIGTYPE_p_wxRendererNative swig_types[144]
+#define SWIGTYPE_p_wxRendererVersion swig_types[145]
+#define SWIGTYPE_p_wxScreenDC swig_types[146]
+#define SWIGTYPE_p_wxScrollEvent swig_types[147]
+#define SWIGTYPE_p_wxScrollWinEvent swig_types[148]
+#define SWIGTYPE_p_wxSetCursorEvent swig_types[149]
+#define SWIGTYPE_p_wxShowEvent swig_types[150]
+#define SWIGTYPE_p_wxSize swig_types[151]
+#define SWIGTYPE_p_wxSizeEvent swig_types[152]
+#define SWIGTYPE_p_wxSizer swig_types[153]
+#define SWIGTYPE_p_wxSizerItem swig_types[154]
+#define SWIGTYPE_p_wxSplitterRenderParams swig_types[155]
+#define SWIGTYPE_p_wxStaticBoxSizer swig_types[156]
+#define SWIGTYPE_p_wxStdDialogButtonSizer swig_types[157]
+#define SWIGTYPE_p_wxStockGDI swig_types[158]
+#define SWIGTYPE_p_wxString swig_types[159]
+#define SWIGTYPE_p_wxSysColourChangedEvent swig_types[160]
+#define SWIGTYPE_p_wxTGAHandler swig_types[161]
+#define SWIGTYPE_p_wxTIFFHandler swig_types[162]
+#define SWIGTYPE_p_wxUpdateUIEvent swig_types[163]
+#define SWIGTYPE_p_wxValidator swig_types[164]
+#define SWIGTYPE_p_wxWindow swig_types[165]
+#define SWIGTYPE_p_wxWindowCreateEvent swig_types[166]
+#define SWIGTYPE_p_wxWindowDC swig_types[167]
+#define SWIGTYPE_p_wxWindowDestroyEvent swig_types[168]
+#define SWIGTYPE_p_wxXPMHandler swig_types[169]
+static swig_type_info *swig_types[171];
+static swig_module_info swig_module = {swig_types, 170, 0, 0, 0, 0};
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
@@ -3721,6 +3720,8 @@ public :
     virtual void Copy( const wxGraphicsMatrix & )  {}
     virtual void Set(wxDouble , wxDouble , wxDouble , wxDouble ,
                      wxDouble , wxDouble ) {}
     virtual void Copy( const wxGraphicsMatrix & )  {}
     virtual void Set(wxDouble , wxDouble , wxDouble , wxDouble ,
                      wxDouble , wxDouble ) {}
+    virtual void Get(wxDouble*, wxDouble*, wxDouble*,
+                     wxDouble*, wxDouble*, wxDouble*) {}
     virtual void Invert() {}
     virtual bool IsEqual( const wxGraphicsMatrix& t) const  { return false; }
     virtual bool IsIdentity() const { return false; }
     virtual void Invert() {}
     virtual bool IsEqual( const wxGraphicsMatrix& t) const  { return false; }
     virtual bool IsIdentity() const { return false; }
@@ -3798,6 +3799,8 @@ public:
     virtual void Clip( wxDouble , wxDouble , wxDouble , wxDouble  ) {}
     virtual void ResetClip() {}
     virtual void * GetNativeContext() { return NULL; }
     virtual void Clip( wxDouble , wxDouble , wxDouble , wxDouble  ) {}
     virtual void ResetClip() {}
     virtual void * GetNativeContext() { return NULL; }
+    virtual int GetLogicalFunction() const { return 0; }
+    virtual bool SetLogicalFunction(int ) {}    
     virtual void Translate( wxDouble , wxDouble ) {}
     virtual void Scale( wxDouble , wxDouble ) {}
     virtual void Rotate( wxDouble ) {}
     virtual void Translate( wxDouble , wxDouble ) {}
     virtual void Scale( wxDouble , wxDouble ) {}
     virtual void Rotate( wxDouble ) {}
@@ -26592,6 +26595,91 @@ fail:
 }
 
 
 }
 
 
+SWIGINTERN PyObject *_wrap_GraphicsMatrix_Get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  wxGraphicsMatrix *arg1 = (wxGraphicsMatrix *) 0 ;
+  wxDouble *arg2 = (wxDouble *) 0 ;
+  wxDouble *arg3 = (wxDouble *) 0 ;
+  wxDouble *arg4 = (wxDouble *) 0 ;
+  wxDouble *arg5 = (wxDouble *) 0 ;
+  wxDouble *arg6 = (wxDouble *) 0 ;
+  wxDouble *arg7 = (wxDouble *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  wxDouble temp2 ;
+  int res2 = SWIG_TMPOBJ ;
+  wxDouble temp3 ;
+  int res3 = SWIG_TMPOBJ ;
+  wxDouble temp4 ;
+  int res4 = SWIG_TMPOBJ ;
+  wxDouble temp5 ;
+  int res5 = SWIG_TMPOBJ ;
+  wxDouble temp6 ;
+  int res6 = SWIG_TMPOBJ ;
+  wxDouble temp7 ;
+  int res7 = SWIG_TMPOBJ ;
+  PyObject *swig_obj[1] ;
+  
+  arg2 = &temp2;
+  arg3 = &temp3;
+  arg4 = &temp4;
+  arg5 = &temp5;
+  arg6 = &temp6;
+  arg7 = &temp7;
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGraphicsMatrix, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GraphicsMatrix_Get" "', expected argument " "1"" of type '" "wxGraphicsMatrix *""'"); 
+  }
+  arg1 = reinterpret_cast< wxGraphicsMatrix * >(argp1);
+  {
+    (arg1)->Get(arg2,arg3,arg4,arg5,arg6,arg7);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_Py_Void();
+  if (SWIG_IsTmpObj(res2)) {
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_double((*arg2)));
+  } else {
+    int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN |  0 ) :  0 ;
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_double, new_flags));
+  }
+  if (SWIG_IsTmpObj(res3)) {
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_double((*arg3)));
+  } else {
+    int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN |  0 ) :  0 ;
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_double, new_flags));
+  }
+  if (SWIG_IsTmpObj(res4)) {
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_double((*arg4)));
+  } else {
+    int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN |  0 ) :  0 ;
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_double, new_flags));
+  }
+  if (SWIG_IsTmpObj(res5)) {
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_double((*arg5)));
+  } else {
+    int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN |  0 ) :  0 ;
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_double, new_flags));
+  }
+  if (SWIG_IsTmpObj(res6)) {
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_double((*arg6)));
+  } else {
+    int new_flags = SWIG_IsNewObj(res6) ? (SWIG_POINTER_OWN |  0 ) :  0 ;
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg6), SWIGTYPE_p_double, new_flags));
+  }
+  if (SWIG_IsTmpObj(res7)) {
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_double((*arg7)));
+  } else {
+    int new_flags = SWIG_IsNewObj(res7) ? (SWIG_POINTER_OWN |  0 ) :  0 ;
+    resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg7), SWIGTYPE_p_double, new_flags));
+  }
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_GraphicsMatrix_Invert(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   wxGraphicsMatrix *arg1 = (wxGraphicsMatrix *) 0 ;
 SWIGINTERN PyObject *_wrap_GraphicsMatrix_Invert(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   wxGraphicsMatrix *arg1 = (wxGraphicsMatrix *) 0 ;
@@ -28064,7 +28152,7 @@ fail:
 SWIGINTERN PyObject *_wrap_GraphicsPath_GetBox(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   wxGraphicsPath *arg1 = (wxGraphicsPath *) 0 ;
 SWIGINTERN PyObject *_wrap_GraphicsPath_GetBox(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   wxGraphicsPath *arg1 = (wxGraphicsPath *) 0 ;
-  wxRect2DDouble result;
+  wxRect2D result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject *swig_obj[1] ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject *swig_obj[1] ;
@@ -28080,7 +28168,7 @@ SWIGINTERN PyObject *_wrap_GraphicsPath_GetBox(PyObject *SWIGUNUSEDPARM(self), P
     result = ((wxGraphicsPath const *)arg1)->GetBox();
     if (PyErr_Occurred()) SWIG_fail;
   }
     result = ((wxGraphicsPath const *)arg1)->GetBox();
     if (PyErr_Occurred()) SWIG_fail;
   }
-  resultobj = SWIG_NewPointerObj((new wxRect2DDouble(static_cast< const wxRect2DDouble& >(result))), SWIGTYPE_p_wxRect2DDouble, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj((new wxRect2D(static_cast< const wxRect2D& >(result))), SWIGTYPE_p_wxRect2D, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
   return resultobj;
 fail:
   return NULL;
@@ -28142,13 +28230,12 @@ fail:
 SWIGINTERN PyObject *_wrap_GraphicsPath_Contains__SWIG_1(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   wxGraphicsPath *arg1 = (wxGraphicsPath *) 0 ;
 SWIGINTERN PyObject *_wrap_GraphicsPath_Contains__SWIG_1(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   wxGraphicsPath *arg1 = (wxGraphicsPath *) 0 ;
-  wxPoint2DDouble *arg2 = 0 ;
+  wxPoint2D *arg2 = 0 ;
   int arg3 = (int) wxODDEVEN_RULE ;
   bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int arg3 = (int) wxODDEVEN_RULE ;
   bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
+  wxPoint2D temp2 ;
   int val3 ;
   int ecode3 = 0 ;
   
   int val3 ;
   int ecode3 = 0 ;
   
@@ -28158,14 +28245,10 @@ SWIGINTERN PyObject *_wrap_GraphicsPath_Contains__SWIG_1(PyObject *SWIGUNUSEDPAR
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GraphicsPath_Contains" "', expected argument " "1"" of type '" "wxGraphicsPath const *""'"); 
   }
   arg1 = reinterpret_cast< wxGraphicsPath * >(argp1);
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GraphicsPath_Contains" "', expected argument " "1"" of type '" "wxGraphicsPath const *""'"); 
   }
   arg1 = reinterpret_cast< wxGraphicsPath * >(argp1);
-  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_wxPoint2DDouble,  0  | 0);
-  if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "GraphicsPath_Contains" "', expected argument " "2"" of type '" "wxPoint2DDouble const &""'"); 
-  }
-  if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "GraphicsPath_Contains" "', expected argument " "2"" of type '" "wxPoint2DDouble const &""'"); 
+  {
+    arg2 = &temp2;
+    if ( ! wxPoint2D_helper(swig_obj[1], &arg2)) SWIG_fail;
   }
   }
-  arg2 = reinterpret_cast< wxPoint2DDouble * >(argp2);
   if (swig_obj[2]) {
     ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
     if (!SWIG_IsOK(ecode3)) {
   if (swig_obj[2]) {
     ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
     if (!SWIG_IsOK(ecode3)) {
@@ -28174,7 +28257,7 @@ SWIGINTERN PyObject *_wrap_GraphicsPath_Contains__SWIG_1(PyObject *SWIGUNUSEDPAR
     arg3 = static_cast< int >(val3);
   }
   {
     arg3 = static_cast< int >(val3);
   }
   {
-    result = (bool)((wxGraphicsPath const *)arg1)->Contains((wxPoint2DDouble const &)*arg2,arg3);
+    result = (bool)((wxGraphicsPath const *)arg1)->Contains((wxPoint2D const &)*arg2,arg3);
     if (PyErr_Occurred()) SWIG_fail;
   }
   {
     if (PyErr_Occurred()) SWIG_fail;
   }
   {
@@ -28195,8 +28278,9 @@ SWIGINTERN PyObject *_wrap_GraphicsPath_Contains(PyObject *self, PyObject *args)
   if ((argc >= 2) && (argc <= 3)) {
     int _v = 0;
     {
   if ((argc >= 2) && (argc <= 3)) {
     int _v = 0;
     {
-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_wxPoint2DDouble, 0);
-      _v = SWIG_CheckState(res);
+      {
+        _v = wxPySimple_typecheck(argv[1], wxT("wxPoint2D"), 2);
+      }
     }
     if (!_v) goto check_1;
     if (argc > 2) {
     }
     if (!_v) goto check_1;
     if (argc > 2) {
@@ -29093,6 +29177,71 @@ fail:
 }
 
 
 }
 
 
+SWIGINTERN PyObject *_wrap_GraphicsContext_GetLogicalFunction(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  wxGraphicsContext *arg1 = (wxGraphicsContext *) 0 ;
+  int result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject *swig_obj[1] ;
+  
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxGraphicsContext, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GraphicsContext_GetLogicalFunction" "', expected argument " "1"" of type '" "wxGraphicsContext const *""'"); 
+  }
+  arg1 = reinterpret_cast< wxGraphicsContext * >(argp1);
+  {
+    result = (int)((wxGraphicsContext const *)arg1)->GetLogicalFunction();
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  resultobj = SWIG_From_int(static_cast< int >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_GraphicsContext_SetLogicalFunction(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  wxGraphicsContext *arg1 = (wxGraphicsContext *) 0 ;
+  int arg2 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  int val2 ;
+  int ecode2 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  char *  kwnames[] = {
+    (char *) "self",(char *) "function", NULL 
+  };
+  
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:GraphicsContext_SetLogicalFunction",kwnames,&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxGraphicsContext, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GraphicsContext_SetLogicalFunction" "', expected argument " "1"" of type '" "wxGraphicsContext *""'"); 
+  }
+  arg1 = reinterpret_cast< wxGraphicsContext * >(argp1);
+  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "GraphicsContext_SetLogicalFunction" "', expected argument " "2"" of type '" "int""'");
+  } 
+  arg2 = static_cast< int >(val2);
+  {
+    result = (bool)(arg1)->SetLogicalFunction(arg2);
+    if (PyErr_Occurred()) SWIG_fail;
+  }
+  {
+    resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+  }
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_GraphicsContext_Translate(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
   PyObject *resultobj = 0;
   wxGraphicsContext *arg1 = (wxGraphicsContext *) 0 ;
 SWIGINTERN PyObject *_wrap_GraphicsContext_Translate(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
   PyObject *resultobj = 0;
   wxGraphicsContext *arg1 = (wxGraphicsContext *) 0 ;
@@ -39874,6 +40023,7 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"delete_GraphicsMatrix", (PyCFunction)_wrap_delete_GraphicsMatrix, METH_O, NULL},
         { (char *)"GraphicsMatrix_Concat", (PyCFunction) _wrap_GraphicsMatrix_Concat, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsMatrix_Set", (PyCFunction) _wrap_GraphicsMatrix_Set, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"delete_GraphicsMatrix", (PyCFunction)_wrap_delete_GraphicsMatrix, METH_O, NULL},
         { (char *)"GraphicsMatrix_Concat", (PyCFunction) _wrap_GraphicsMatrix_Concat, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsMatrix_Set", (PyCFunction) _wrap_GraphicsMatrix_Set, METH_VARARGS | METH_KEYWORDS, NULL},
+        { (char *)"GraphicsMatrix_Get", (PyCFunction)_wrap_GraphicsMatrix_Get, METH_O, NULL},
         { (char *)"GraphicsMatrix_Invert", (PyCFunction)_wrap_GraphicsMatrix_Invert, METH_O, NULL},
         { (char *)"GraphicsMatrix_IsEqual", (PyCFunction) _wrap_GraphicsMatrix_IsEqual, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsMatrix_IsIdentity", (PyCFunction)_wrap_GraphicsMatrix_IsIdentity, METH_O, NULL},
         { (char *)"GraphicsMatrix_Invert", (PyCFunction)_wrap_GraphicsMatrix_Invert, METH_O, NULL},
         { (char *)"GraphicsMatrix_IsEqual", (PyCFunction) _wrap_GraphicsMatrix_IsEqual, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsMatrix_IsIdentity", (PyCFunction)_wrap_GraphicsMatrix_IsIdentity, METH_O, NULL},
@@ -39925,6 +40075,8 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"GraphicsContext_Clip", (PyCFunction) _wrap_GraphicsContext_Clip, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsContext_ResetClip", (PyCFunction)_wrap_GraphicsContext_ResetClip, METH_O, NULL},
         { (char *)"GraphicsContext_GetNativeContext", (PyCFunction)_wrap_GraphicsContext_GetNativeContext, METH_O, NULL},
         { (char *)"GraphicsContext_Clip", (PyCFunction) _wrap_GraphicsContext_Clip, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsContext_ResetClip", (PyCFunction)_wrap_GraphicsContext_ResetClip, METH_O, NULL},
         { (char *)"GraphicsContext_GetNativeContext", (PyCFunction)_wrap_GraphicsContext_GetNativeContext, METH_O, NULL},
+        { (char *)"GraphicsContext_GetLogicalFunction", (PyCFunction)_wrap_GraphicsContext_GetLogicalFunction, METH_O, NULL},
+        { (char *)"GraphicsContext_SetLogicalFunction", (PyCFunction) _wrap_GraphicsContext_SetLogicalFunction, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsContext_Translate", (PyCFunction) _wrap_GraphicsContext_Translate, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsContext_Scale", (PyCFunction) _wrap_GraphicsContext_Scale, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsContext_Rotate", (PyCFunction) _wrap_GraphicsContext_Rotate, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsContext_Translate", (PyCFunction) _wrap_GraphicsContext_Translate, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsContext_Scale", (PyCFunction) _wrap_GraphicsContext_Scale, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"GraphicsContext_Rotate", (PyCFunction) _wrap_GraphicsContext_Rotate, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -40819,7 +40971,6 @@ static swig_type_info _swigt__p_wxPenList = {"_p_wxPenList", "wxPenList *", 0, 0
 static swig_type_info _swigt__p_wxPixelDataBase = {"_p_wxPixelDataBase", "wxPixelDataBase *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPoint = {"_p_wxPoint", "wxPoint *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPoint2D = {"_p_wxPoint2D", "wxPoint2D *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPixelDataBase = {"_p_wxPixelDataBase", "wxPixelDataBase *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPoint = {"_p_wxPoint", "wxPoint *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPoint2D = {"_p_wxPoint2D", "wxPoint2D *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_wxPoint2DDouble = {"_p_wxPoint2DDouble", "wxPoint2DDouble *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPostScriptDC = {"_p_wxPostScriptDC", "wxPostScriptDC *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPrintData = {"_p_wxPrintData", "wxPrintData *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPrinterDC = {"_p_wxPrinterDC", "wxPrinterDC *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPostScriptDC = {"_p_wxPostScriptDC", "wxPostScriptDC *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPrintData = {"_p_wxPrintData", "wxPrintData *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPrinterDC = {"_p_wxPrinterDC", "wxPrinterDC *", 0, 0, (void*)0, 0};
@@ -40827,7 +40978,7 @@ static swig_type_info _swigt__p_wxPseudoDC = {"_p_wxPseudoDC", "wxPseudoDC *", 0
 static swig_type_info _swigt__p_wxPyFontEnumerator = {"_p_wxPyFontEnumerator", "wxPyFontEnumerator *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPyLocale = {"_p_wxPyLocale", "wxPyLocale *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxRect = {"_p_wxRect", "wxRect *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPyFontEnumerator = {"_p_wxPyFontEnumerator", "wxPyFontEnumerator *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxPyLocale = {"_p_wxPyLocale", "wxPyLocale *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxRect = {"_p_wxRect", "wxRect *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_wxRect2DDouble = {"_p_wxRect2DDouble", "wxRect2DDouble *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_wxRect2D = {"_p_wxRect2D", "wxRect2D *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxRegion = {"_p_wxRegion", "wxRegion *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxRegionIterator = {"_p_wxRegionIterator", "wxRegionIterator *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxRendererNative = {"_p_wxRendererNative", "wxRendererNative *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxRegion = {"_p_wxRegion", "wxRegion *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxRegionIterator = {"_p_wxRegionIterator", "wxRegionIterator *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_wxRendererNative = {"_p_wxRendererNative", "wxRendererNative *", 0, 0, (void*)0, 0};
@@ -40968,7 +41119,6 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_wxPixelDataBase,
   &_swigt__p_wxPoint,
   &_swigt__p_wxPoint2D,
   &_swigt__p_wxPixelDataBase,
   &_swigt__p_wxPoint,
   &_swigt__p_wxPoint2D,
-  &_swigt__p_wxPoint2DDouble,
   &_swigt__p_wxPostScriptDC,
   &_swigt__p_wxPrintData,
   &_swigt__p_wxPrinterDC,
   &_swigt__p_wxPostScriptDC,
   &_swigt__p_wxPrintData,
   &_swigt__p_wxPrinterDC,
@@ -40983,7 +41133,7 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_wxPyValidator,
   &_swigt__p_wxQueryNewPaletteEvent,
   &_swigt__p_wxRect,
   &_swigt__p_wxPyValidator,
   &_swigt__p_wxQueryNewPaletteEvent,
   &_swigt__p_wxRect,
-  &_swigt__p_wxRect2DDouble,
+  &_swigt__p_wxRect2D,
   &_swigt__p_wxRegion,
   &_swigt__p_wxRegionIterator,
   &_swigt__p_wxRendererNative,
   &_swigt__p_wxRegion,
   &_swigt__p_wxRegionIterator,
   &_swigt__p_wxRendererNative,
@@ -41165,7 +41315,6 @@ static swig_cast_info _swigc__p_wxPenList[] = {  {&_swigt__p_wxPenList, 0, 0, 0}
 static swig_cast_info _swigc__p_wxPixelDataBase[] = {  {&_swigt__p_wxPixelDataBase, 0, 0, 0},  {&_swigt__p_wxNativePixelData, _p_wxNativePixelDataTo_p_wxPixelDataBase, 0, 0},  {&_swigt__p_wxAlphaPixelData, _p_wxAlphaPixelDataTo_p_wxPixelDataBase, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPoint[] = {  {&_swigt__p_wxPoint, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPoint2D[] = {  {&_swigt__p_wxPoint2D, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPixelDataBase[] = {  {&_swigt__p_wxPixelDataBase, 0, 0, 0},  {&_swigt__p_wxNativePixelData, _p_wxNativePixelDataTo_p_wxPixelDataBase, 0, 0},  {&_swigt__p_wxAlphaPixelData, _p_wxAlphaPixelDataTo_p_wxPixelDataBase, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPoint[] = {  {&_swigt__p_wxPoint, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPoint2D[] = {  {&_swigt__p_wxPoint2D, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxPoint2DDouble[] = {  {&_swigt__p_wxPoint2DDouble, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPostScriptDC[] = {  {&_swigt__p_wxPostScriptDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPrintData[] = {  {&_swigt__p_wxPrintData, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPrinterDC[] = {  {&_swigt__p_wxPrinterDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPostScriptDC[] = {  {&_swigt__p_wxPostScriptDC, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPrintData[] = {  {&_swigt__p_wxPrintData, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPrinterDC[] = {  {&_swigt__p_wxPrinterDC, 0, 0, 0},{0, 0, 0, 0}};
@@ -41173,7 +41322,7 @@ static swig_cast_info _swigc__p_wxPseudoDC[] = {  {&_swigt__p_wxPseudoDC, 0, 0,
 static swig_cast_info _swigc__p_wxPyFontEnumerator[] = {  {&_swigt__p_wxPyFontEnumerator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyLocale[] = {  {&_swigt__p_wxPyLocale, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxRect[] = {  {&_swigt__p_wxRect, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyFontEnumerator[] = {  {&_swigt__p_wxPyFontEnumerator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxPyLocale[] = {  {&_swigt__p_wxPyLocale, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxRect[] = {  {&_swigt__p_wxRect, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_wxRect2DDouble[] = {  {&_swigt__p_wxRect2DDouble, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_wxRect2D[] = {  {&_swigt__p_wxRect2D, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxRegion[] = {  {&_swigt__p_wxRegion, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxRegionIterator[] = {  {&_swigt__p_wxRegionIterator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxRendererNative[] = {  {&_swigt__p_wxRendererNative, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxRegion[] = {  {&_swigt__p_wxRegion, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxRegionIterator[] = {  {&_swigt__p_wxRegionIterator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_wxRendererNative[] = {  {&_swigt__p_wxRendererNative, 0, 0, 0},{0, 0, 0, 0}};
@@ -41314,7 +41463,6 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_wxPixelDataBase,
   _swigc__p_wxPoint,
   _swigc__p_wxPoint2D,
   _swigc__p_wxPixelDataBase,
   _swigc__p_wxPoint,
   _swigc__p_wxPoint2D,
-  _swigc__p_wxPoint2DDouble,
   _swigc__p_wxPostScriptDC,
   _swigc__p_wxPrintData,
   _swigc__p_wxPrinterDC,
   _swigc__p_wxPostScriptDC,
   _swigc__p_wxPrintData,
   _swigc__p_wxPrinterDC,
@@ -41329,7 +41477,7 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_wxPyValidator,
   _swigc__p_wxQueryNewPaletteEvent,
   _swigc__p_wxRect,
   _swigc__p_wxPyValidator,
   _swigc__p_wxQueryNewPaletteEvent,
   _swigc__p_wxRect,
-  _swigc__p_wxRect2DDouble,
+  _swigc__p_wxRect2D,
   _swigc__p_wxRegion,
   _swigc__p_wxRegionIterator,
   _swigc__p_wxRendererNative,
   _swigc__p_wxRegion,
   _swigc__p_wxRegionIterator,
   _swigc__p_wxRendererNative,