X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0122b7e3fcfd78f879470053c91a60e3c66537a3..1a10a058d5d700b0d12b5a42f92a69633e182a0e:/wxPython/contrib/ogl/oglshapes.i diff --git a/wxPython/contrib/ogl/oglshapes.i b/wxPython/contrib/ogl/oglshapes.i index d29501a055..6caa193b96 100644 --- a/wxPython/contrib/ogl/oglshapes.i +++ b/wxPython/contrib/ogl/oglshapes.i @@ -14,7 +14,7 @@ %module oglshapes %{ -#include "export.h" +#include "wxPython.h" #include "oglhelpers.h" %} @@ -37,6 +37,12 @@ %pragma(python) code = "import wx" //--------------------------------------------------------------------------- + +enum { + oglMETAFLAGS_OUTLINE, + oglMETAFLAGS_ATTACHMENTS +}; + //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -46,18 +52,19 @@ public: ~wxPseudoMetaFile(); void Draw(wxDC& dc, double xoffset, double yoffset); - +#ifdef wxUSE_PROLOGIO void WriteAttributes(wxExpr *clause, int whichAngle); void ReadAttributes(wxExpr *clause, int whichAngle); +#endif void Clear(); void Copy(wxPseudoMetaFile& copy); void Scale(double sx, double sy); void ScaleTo(double w, double h); void Translate(double x, double y); void Rotate(double x, double y, double theta); - bool LoadFromMetaFile(char* filename, double *width, double *height); + bool LoadFromMetaFile(const wxString& filename, double *width, double *height); void GetBounds(double *minX, double *minY, double *maxX, double *maxY); - void CalculateSize(wxDrawnShape* shape); + void CalculateSize(wxPyDrawnShape* shape); // **** fix these... is it even possible? these are lists of various GDI opperations (not the objects...) // wxList& GetOutlineColours(); @@ -101,7 +108,40 @@ public: //--------------------------------------------------------------------------- %{ - WXSHAPE_IMP_CALLBACKS(wxPyRectangleShape, wxRectangleShape); +// Using this macro can sometimes provoke an Internal Compiler Error in MSVC +// 6, so instead I'l just expand it out by hand... +// WXSHAPE_IMP_CALLBACKS(wxPyRectangleShape, wxRectangleShape); + + IMP_PYCALLBACK__ (wxPyRectangleShape, wxRectangleShape, OnDelete); + IMP_PYCALLBACK__DC (wxPyRectangleShape, wxRectangleShape, OnDraw); + IMP_PYCALLBACK__DC (wxPyRectangleShape, wxRectangleShape, OnDrawContents); + IMP_PYCALLBACK__DCBOOL (wxPyRectangleShape, wxRectangleShape, OnDrawBranches); + IMP_PYCALLBACK__DC (wxPyRectangleShape, wxRectangleShape, OnMoveLinks); + IMP_PYCALLBACK__DC (wxPyRectangleShape, wxRectangleShape, OnErase); + IMP_PYCALLBACK__DC (wxPyRectangleShape, wxRectangleShape, OnEraseContents); + IMP_PYCALLBACK__DC (wxPyRectangleShape, wxRectangleShape, OnHighlight); + IMP_PYCALLBACK__2DBL2INT (wxPyRectangleShape, wxRectangleShape, OnLeftClick); + IMP_PYCALLBACK__2DBL2INT (wxPyRectangleShape, wxRectangleShape, OnLeftDoubleClick); + IMP_PYCALLBACK__2DBL2INT (wxPyRectangleShape, wxRectangleShape, OnRightClick); + IMP_PYCALLBACK__2DBL (wxPyRectangleShape, wxRectangleShape, OnSize); + IMP_PYCALLBACK_BOOL_DC4DBLBOOL (wxPyRectangleShape, wxRectangleShape, OnMovePre); + IMP_PYCALLBACK__DC4DBLBOOL (wxPyRectangleShape, wxRectangleShape, OnMovePost); + IMP_PYCALLBACK__BOOL2DBL2INT (wxPyRectangleShape, wxRectangleShape, OnDragLeft); + IMP_PYCALLBACK__2DBL2INT (wxPyRectangleShape, wxRectangleShape, OnBeginDragLeft); + IMP_PYCALLBACK__2DBL2INT (wxPyRectangleShape, wxRectangleShape, OnEndDragLeft); + IMP_PYCALLBACK__BOOL2DBL2INT (wxPyRectangleShape, wxRectangleShape, OnDragRight); + IMP_PYCALLBACK__2DBL2INT (wxPyRectangleShape, wxRectangleShape, OnBeginDragRight); + IMP_PYCALLBACK__2DBL2INT (wxPyRectangleShape, wxRectangleShape, OnEndDragRight); + IMP_PYCALLBACK__DC4DBL (wxPyRectangleShape, wxRectangleShape, OnDrawOutline); + IMP_PYCALLBACK__DC (wxPyRectangleShape, wxRectangleShape, OnDrawControlPoints); + IMP_PYCALLBACK__DC (wxPyRectangleShape, wxRectangleShape, OnEraseControlPoints); + IMP_PYCALLBACK__DCBOOL (wxPyRectangleShape, wxRectangleShape, OnMoveLink); + IMP_PYCALLBACK__WXCPBOOL2DBL2INT(wxPyRectangleShape, wxRectangleShape, OnSizingDragLeft); + IMP_PYCALLBACK__WXCP2DBL2INT (wxPyRectangleShape, wxRectangleShape, OnSizingBeginDragLeft); + IMP_PYCALLBACK__WXCP2DBL2INT (wxPyRectangleShape, wxRectangleShape, OnSizingEndDragLeft); + IMP_PYCALLBACK__2DBL (wxPyRectangleShape, wxRectangleShape, OnBeginSize); + IMP_PYCALLBACK__2DBL (wxPyRectangleShape, wxRectangleShape, OnEndSize) + %} class wxPyRectangleShape : public wxPyShape { @@ -110,6 +150,7 @@ public: void _setCallbackInfo(PyObject* self, PyObject* _class); %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyRectangleShape)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void SetCornerRadius(double radius); @@ -160,6 +201,7 @@ public: void _setCallbackInfo(PyObject* self, PyObject* _class); %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyControlPoint)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void SetCornerRadius(double radius); @@ -207,6 +249,7 @@ public: void _setCallbackInfo(PyObject* self, PyObject* _class); %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyBitmapShape)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" wxBitmap& GetBitmap(); wxString GetFilename(); @@ -256,6 +299,7 @@ public: void _setCallbackInfo(PyObject* self, PyObject* _class); %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyDrawnShape)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void CalculateSize(); void DestroyClippingRect(); @@ -276,7 +320,7 @@ public: wxPseudoMetaFile& GetMetaFile(); double GetRotation(); - bool LoadFromMetaFile(char * filename); + bool LoadFromMetaFile(const wxString& filename); void Rotate(double x, double y, double theta); void SetClippingRect(const wxRect& rect); void SetDrawnBackgroundColour(const wxColour& colour); @@ -360,6 +404,7 @@ public: void _setCallbackInfo(PyObject* self, PyObject* _class); %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyCompositeShape)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void AddChild(wxPyShape *child, wxPyShape *addAfter = NULL); @@ -403,7 +448,7 @@ public: PyObject* GetDivisions() { wxList& list = self->GetDivisions(); - return wxPy_ConvertList(&list, "wxPyDivisionShape"); + return wxPy_ConvertShapeList(&list, "wxPyDivisionShape"); } } @@ -458,6 +503,7 @@ public: void _setCallbackInfo(PyObject* self, PyObject* _class); %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyDividedShape)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void EditRegions(); void SetRegionSizes(); @@ -507,6 +553,7 @@ public: void _setCallbackInfo(PyObject* self, PyObject* _class); %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyDivisionShape)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void AdjustBottom(double bottom, bool test); void AdjustLeft(double left, bool test);