]> git.saurik.com Git - wxWidgets.git/commitdiff
OGL typemap and OOR fixes
authorRobin Dunn <robin@alldunn.com>
Thu, 13 May 2004 15:42:14 +0000 (15:42 +0000)
committerRobin Dunn <robin@alldunn.com>
Thu, 13 May 2004 15:42:14 +0000 (15:42 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/contrib/ogl/_oglbasic.i
wxPython/contrib/ogl/_oglcanvas.i
wxPython/contrib/ogl/_oglshapes.i
wxPython/contrib/ogl/msw/ogl.py
wxPython/contrib/ogl/msw/ogl_wrap.cpp

index 77b308fbe278bf307fcf076110667896a4da0e0c..7ceb86fac6474f8b8fb7e93cf82920b7b19cd167 100644 (file)
@@ -145,7 +145,7 @@ public:
 
 class wxPyShape : public wxPyShapeEvtHandler {
 public:
-    %pythonAppend wxPyShape "self._setOORandCallbackInfo(PyShapeEvtHandler)"
+    %pythonAppend wxPyShape "self._setOORandCallbackInfo(PyShape)"
     
     wxPyShape(wxPyShapeCanvas *can = NULL);  
 
index 7dcf7ca4f851d13a8d1e9e362bea4fe11816f420..b220dee2a2b3b5f3b25f9a666eb4809f7f03788f 100644 (file)
@@ -101,7 +101,7 @@ public:
 
 class wxPyShapeCanvas : public wxScrolledWindow {
 public:
-    %pythonAppend wxPyShapeEvtHandler "self._setOORandCallbackInfo(PyShapeEvtHandler)"
+    %pythonAppend wxPyShapeCanvas "self._setOORandCallbackInfo(PyShapeCanvas)"
     
     wxPyShapeCanvas(wxWindow* parent = NULL, wxWindowID id = -1,
                     const wxPoint& pos = wxDefaultPosition,
index 18e28fcc5c4186a91592da3017b0726fe11c67a3..fb9bc951360ca2fdc6d1a1ea8cd4fa36f629e551 100644 (file)
@@ -22,6 +22,15 @@ enum {
 };
 
 //---------------------------------------------------------------------------
+
+%typemap(in) (int points, wxPoint* points_array ) {
+    $2 = wxPoint_LIST_helper($input, &$1);
+    if ($2 == NULL) SWIG_fail;
+}
+%typemap(freearg) (int points, wxPoint* points_array ) {
+    if ($2) delete [] $2;
+}
+
 //---------------------------------------------------------------------------
 
 class wxPseudoMetaFile : public wxObject {
@@ -69,9 +78,9 @@ public:
     void DrawEllipse(const wxRect& rect);
     void DrawPoint(const wxPoint& pt);
     void DrawText(const wxString& text, const wxPoint& pt);
-    void DrawLines(int PCOUNT, wxPoint* points);
-    void DrawPolygon(int PCOUNT, wxPoint* points, int flags = 0);
-    void DrawSpline(int PCOUNT, wxPoint* points);
+    void DrawLines(int points, wxPoint* points_array);
+    void DrawPolygon(int points, wxPoint* points_array, int flags = 0);
+    void DrawSpline(int points, wxPoint* points_array);
     void SetClippingRect(const wxRect& rect);
     void DestroyClippingRect();
     void SetPen(wxPen* pen, bool isOutline = FALSE);
@@ -286,12 +295,14 @@ public:
     void DrawAtAngle(int angle);
     void DrawEllipticArc(const wxRect& rect, double startAngle, double endAngle);
     void DrawLine(const wxPoint& point1, const wxPoint& point2);
-    void DrawLines(int PCOUNT, wxPoint* points);
+    void DrawLines(int points, wxPoint* points_array);
     void DrawPoint(const wxPoint& point);
-    void DrawPolygon(int PCOUNT, wxPoint* points, int flags = 0);
+    
+    void DrawPolygon(int points, wxPoint* points_array, int flags = 0);
+    
     void DrawRectangle(const wxRect& rect);
     void DrawRoundedRectangle(const wxRect& rect, double radius);
-    void DrawSpline(int PCOUNT, wxPoint* points);
+    void DrawSpline(int points, wxPoint* points_array);
     void DrawText(const wxString& text, const wxPoint& point);
     int GetAngle();
 
index 78dd91288bceb2de04e810149f8bce9d293b6ddb..9bfd4e17de5297e657cadcc04d38569b13606553 100644 (file)
@@ -349,7 +349,7 @@ class PyShape(PyShapeEvtHandler):
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-        self._setOORandCallbackInfo(PyShapeEvtHandler)
+        self._setOORandCallbackInfo(PyShape)
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
@@ -1194,15 +1194,15 @@ class PseudoMetaFile(_core.Object):
         return _ogl.PseudoMetaFile_DrawText(*args, **kwargs)
 
     def DrawLines(*args, **kwargs):
-        """DrawLines(self, int PCOUNT, Point points)"""
+        """DrawLines(self, int points, Point points_array)"""
         return _ogl.PseudoMetaFile_DrawLines(*args, **kwargs)
 
     def DrawPolygon(*args, **kwargs):
-        """DrawPolygon(self, int PCOUNT, Point points, int flags=0)"""
+        """DrawPolygon(self, int points, Point points_array, int flags=0)"""
         return _ogl.PseudoMetaFile_DrawPolygon(*args, **kwargs)
 
     def DrawSpline(*args, **kwargs):
-        """DrawSpline(self, int PCOUNT, Point points)"""
+        """DrawSpline(self, int points, Point points_array)"""
         return _ogl.PseudoMetaFile_DrawSpline(*args, **kwargs)
 
     def SetClippingRect(*args, **kwargs):
@@ -1779,7 +1779,7 @@ class PyDrawnShape(PyRectangleShape):
         return _ogl.PyDrawnShape_DrawLine(*args, **kwargs)
 
     def DrawLines(*args, **kwargs):
-        """DrawLines(self, int PCOUNT, Point points)"""
+        """DrawLines(self, int points, Point points_array)"""
         return _ogl.PyDrawnShape_DrawLines(*args, **kwargs)
 
     def DrawPoint(*args, **kwargs):
@@ -1787,7 +1787,7 @@ class PyDrawnShape(PyRectangleShape):
         return _ogl.PyDrawnShape_DrawPoint(*args, **kwargs)
 
     def DrawPolygon(*args, **kwargs):
-        """DrawPolygon(self, int PCOUNT, Point points, int flags=0)"""
+        """DrawPolygon(self, int points, Point points_array, int flags=0)"""
         return _ogl.PyDrawnShape_DrawPolygon(*args, **kwargs)
 
     def DrawRectangle(*args, **kwargs):
@@ -1799,7 +1799,7 @@ class PyDrawnShape(PyRectangleShape):
         return _ogl.PyDrawnShape_DrawRoundedRectangle(*args, **kwargs)
 
     def DrawSpline(*args, **kwargs):
-        """DrawSpline(self, int PCOUNT, Point points)"""
+        """DrawSpline(self, int points, Point points_array)"""
         return _ogl.PyDrawnShape_DrawSpline(*args, **kwargs)
 
     def DrawText(*args, **kwargs):
@@ -3867,6 +3867,8 @@ class PyShapeCanvas(_windows.ScrolledWindow):
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
+        self._setOORandCallbackInfo(PyShapeCanvas)
+
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _ogl.PyShapeCanvas__setCallbackInfo(*args, **kwargs)
index aaffa6f8dabf2278393709740e0643df65d3077b..17ed7d840bad07e1122ef6f786c5661237c7a326 100644 (file)
@@ -10252,18 +10252,17 @@ static PyObject *_wrap_PseudoMetaFile_DrawLines(PyObject *self, PyObject *args,
     wxPoint *arg3 = (wxPoint *) 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
-    PyObject * obj2 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+        (char *) "self",(char *) "points", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PseudoMetaFile_DrawLines",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_DrawLines",kwnames,&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **)(&arg1),SWIGTYPE_p_wxPseudoMetaFile,
     SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
-    arg2 = (int) SWIG_AsInt(obj1); 
-    if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj2,(void **)(&arg3),SWIGTYPE_p_wxPoint,
-    SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
+    {
+        arg3 = wxPoint_LIST_helper(obj1, &arg2);
+        if (arg3 == NULL) SWIG_fail;
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         (arg1)->DrawLines(arg2,arg3);
@@ -10272,8 +10271,14 @@ static PyObject *_wrap_PseudoMetaFile_DrawLines(PyObject *self, PyObject *args,
         if (PyErr_Occurred()) SWIG_fail;
     }
     Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (arg3) delete [] arg3;
+    }
     return resultobj;
     fail:
+    {
+        if (arg3) delete [] arg3;
+    }
     return NULL;
 }
 
@@ -10287,20 +10292,19 @@ static PyObject *_wrap_PseudoMetaFile_DrawPolygon(PyObject *self, PyObject *args
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
-    PyObject * obj3 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "PCOUNT",(char *) "points",(char *) "flags", NULL 
+        (char *) "self",(char *) "points",(char *) "flags", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|O:PseudoMetaFile_DrawPolygon",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PseudoMetaFile_DrawPolygon",kwnames,&obj0,&obj1,&obj2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **)(&arg1),SWIGTYPE_p_wxPseudoMetaFile,
     SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
-    arg2 = (int) SWIG_AsInt(obj1); 
-    if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj2,(void **)(&arg3),SWIGTYPE_p_wxPoint,
-    SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
-    if (obj3) {
-        arg4 = (int) SWIG_AsInt(obj3); 
+    {
+        arg3 = wxPoint_LIST_helper(obj1, &arg2);
+        if (arg3 == NULL) SWIG_fail;
+    }
+    if (obj2) {
+        arg4 = (int) SWIG_AsInt(obj2); 
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
@@ -10311,8 +10315,14 @@ static PyObject *_wrap_PseudoMetaFile_DrawPolygon(PyObject *self, PyObject *args
         if (PyErr_Occurred()) SWIG_fail;
     }
     Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (arg3) delete [] arg3;
+    }
     return resultobj;
     fail:
+    {
+        if (arg3) delete [] arg3;
+    }
     return NULL;
 }
 
@@ -10324,18 +10334,17 @@ static PyObject *_wrap_PseudoMetaFile_DrawSpline(PyObject *self, PyObject *args,
     wxPoint *arg3 = (wxPoint *) 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
-    PyObject * obj2 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+        (char *) "self",(char *) "points", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PseudoMetaFile_DrawSpline",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_DrawSpline",kwnames,&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **)(&arg1),SWIGTYPE_p_wxPseudoMetaFile,
     SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
-    arg2 = (int) SWIG_AsInt(obj1); 
-    if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj2,(void **)(&arg3),SWIGTYPE_p_wxPoint,
-    SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
+    {
+        arg3 = wxPoint_LIST_helper(obj1, &arg2);
+        if (arg3 == NULL) SWIG_fail;
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         (arg1)->DrawSpline(arg2,arg3);
@@ -10344,8 +10353,14 @@ static PyObject *_wrap_PseudoMetaFile_DrawSpline(PyObject *self, PyObject *args,
         if (PyErr_Occurred()) SWIG_fail;
     }
     Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (arg3) delete [] arg3;
+    }
     return resultobj;
     fail:
+    {
+        if (arg3) delete [] arg3;
+    }
     return NULL;
 }
 
@@ -14986,18 +15001,17 @@ static PyObject *_wrap_PyDrawnShape_DrawLines(PyObject *self, PyObject *args, Py
     wxPoint *arg3 = (wxPoint *) 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
-    PyObject * obj2 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+        (char *) "self",(char *) "points", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDrawnShape_DrawLines",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_DrawLines",kwnames,&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **)(&arg1),SWIGTYPE_p_wxPyDrawnShape,
     SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
-    arg2 = (int) SWIG_AsInt(obj1); 
-    if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj2,(void **)(&arg3),SWIGTYPE_p_wxPoint,
-    SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
+    {
+        arg3 = wxPoint_LIST_helper(obj1, &arg2);
+        if (arg3 == NULL) SWIG_fail;
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         (arg1)->DrawLines(arg2,arg3);
@@ -15006,8 +15020,14 @@ static PyObject *_wrap_PyDrawnShape_DrawLines(PyObject *self, PyObject *args, Py
         if (PyErr_Occurred()) SWIG_fail;
     }
     Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (arg3) delete [] arg3;
+    }
     return resultobj;
     fail:
+    {
+        if (arg3) delete [] arg3;
+    }
     return NULL;
 }
 
@@ -15053,20 +15073,19 @@ static PyObject *_wrap_PyDrawnShape_DrawPolygon(PyObject *self, PyObject *args,
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
-    PyObject * obj3 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "PCOUNT",(char *) "points",(char *) "flags", NULL 
+        (char *) "self",(char *) "points",(char *) "flags", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|O:PyDrawnShape_DrawPolygon",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_DrawPolygon",kwnames,&obj0,&obj1,&obj2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **)(&arg1),SWIGTYPE_p_wxPyDrawnShape,
     SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
-    arg2 = (int) SWIG_AsInt(obj1); 
-    if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj2,(void **)(&arg3),SWIGTYPE_p_wxPoint,
-    SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
-    if (obj3) {
-        arg4 = (int) SWIG_AsInt(obj3); 
+    {
+        arg3 = wxPoint_LIST_helper(obj1, &arg2);
+        if (arg3 == NULL) SWIG_fail;
+    }
+    if (obj2) {
+        arg4 = (int) SWIG_AsInt(obj2); 
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
@@ -15077,8 +15096,14 @@ static PyObject *_wrap_PyDrawnShape_DrawPolygon(PyObject *self, PyObject *args,
         if (PyErr_Occurred()) SWIG_fail;
     }
     Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (arg3) delete [] arg3;
+    }
     return resultobj;
     fail:
+    {
+        if (arg3) delete [] arg3;
+    }
     return NULL;
 }
 
@@ -15158,18 +15183,17 @@ static PyObject *_wrap_PyDrawnShape_DrawSpline(PyObject *self, PyObject *args, P
     wxPoint *arg3 = (wxPoint *) 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
-    PyObject * obj2 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+        (char *) "self",(char *) "points", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDrawnShape_DrawSpline",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_DrawSpline",kwnames,&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **)(&arg1),SWIGTYPE_p_wxPyDrawnShape,
     SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
-    arg2 = (int) SWIG_AsInt(obj1); 
-    if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj2,(void **)(&arg3),SWIGTYPE_p_wxPoint,
-    SWIG_POINTER_EXCEPTION | 0)) == -1) SWIG_fail;
+    {
+        arg3 = wxPoint_LIST_helper(obj1, &arg2);
+        if (arg3 == NULL) SWIG_fail;
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         (arg1)->DrawSpline(arg2,arg3);
@@ -15178,8 +15202,14 @@ static PyObject *_wrap_PyDrawnShape_DrawSpline(PyObject *self, PyObject *args, P
         if (PyErr_Occurred()) SWIG_fail;
     }
     Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (arg3) delete [] arg3;
+    }
     return resultobj;
     fail:
+    {
+        if (arg3) delete [] arg3;
+    }
     return NULL;
 }