X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..e31126cbd7492cda012a881bb5596dcc07d48997:/wxPython/contrib/ogl/oglhelpers.h diff --git a/wxPython/contrib/ogl/oglhelpers.h b/wxPython/contrib/ogl/oglhelpers.h index a24ce863b3..a4c12d68ff 100644 --- a/wxPython/contrib/ogl/oglhelpers.h +++ b/wxPython/contrib/ogl/oglhelpers.h @@ -54,8 +54,7 @@ DEC_PYCALLBACK__WXCP2DBL2INT (OnSizingEndDragLeft); \ DEC_PYCALLBACK__2DBL (OnBeginSize); \ DEC_PYCALLBACK__2DBL (OnEndSize); \ - \ - PYPRIVATE; + PYPRIVATE #define WXSHAPE_IMP_CALLBACKS(CLASS, PARENT) \ @@ -87,7 +86,7 @@ IMP_PYCALLBACK__WXCP2DBL2INT (CLASS, PARENT, OnSizingBeginDragLeft);\ IMP_PYCALLBACK__WXCP2DBL2INT (CLASS, PARENT, OnSizingEndDragLeft); \ IMP_PYCALLBACK__2DBL (CLASS, PARENT, OnBeginSize); \ - IMP_PYCALLBACK__2DBL (CLASS, PARENT, OnEndSize); \ + IMP_PYCALLBACK__2DBL (CLASS, PARENT, OnEndSize) // This one may be difficult... @@ -96,11 +95,13 @@ //--------------------------------------------------------------------------- -// These are prototypes of some helper functions found in oglhelpers.cpp +// These are prototypes of some helper functions found in ogl.i -wxList* wxPy_wxListHelper(PyObject* pyList, char* className); +wxList* wxPy_wxListHelper(PyObject* pyList, const wxChar* className); wxList* wxPy_wxRealPoint_ListHelper(PyObject* pyList); - +PyObject* wxPyMake_wxShapeEvtHandler(wxShapeEvtHandler* source); +PyObject* wxPy_ConvertShapeList(wxListBase* list); +PyObject* wxPy_ConvertRealPointList(wxListBase* list); //--------------------------------------------------------------------------- @@ -108,12 +109,14 @@ wxList* wxPy_wxRealPoint_ListHelper(PyObject* pyList); // virtual callbacks into Python callbacks. class wxPyShapeCanvas : public wxShapeCanvas { + DECLARE_DYNAMIC_CLASS(wxPyShapeCanvas); public: wxPyShapeCanvas(wxWindow* parent = NULL, wxWindowID id = -1, - const wxPoint& pos = wxPyDefaultPosition, - const wxSize& size = wxPyDefaultSize, - long style = wxBORDER) - : wxShapeCanvas(parent, id, pos, size, style) {} + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxBORDER, + const wxString& name = wxT("shapeCanvas")) + : wxShapeCanvas(parent, id, pos, size, style, name) {} DEC_PYCALLBACK__2DBLINT(OnBeginDragLeft); DEC_PYCALLBACK__2DBLINT(OnBeginDragRight); @@ -130,6 +133,7 @@ public: class wxPyShapeEvtHandler : public wxShapeEvtHandler { + DECLARE_DYNAMIC_CLASS(wxPyShapeEvtHandler); public: wxPyShapeEvtHandler(wxShapeEvtHandler *prev = NULL, wxShape *shape = NULL) : wxShapeEvtHandler(prev, shape) {} @@ -139,16 +143,24 @@ public: class wxPyShape : public wxShape { + DECLARE_ABSTRACT_CLASS(wxPyShape); public: wxPyShape(wxPyShapeCanvas *can = NULL) : wxShape(can) {} + virtual void GetBoundingBoxMin(double *width, double *height) + { + if (width) *width = 0.0; + if (height) *height = 0.0; + } + WXSHAPE_DEC_CALLBACKS(); }; class wxPyRectangleShape : public wxRectangleShape { + DECLARE_DYNAMIC_CLASS(wxPyRectangleShape); public: wxPyRectangleShape(double width = 0.0, double height = 0.0) : wxRectangleShape(width, height) {} @@ -157,6 +169,7 @@ public: }; class wxPyControlPoint : public wxControlPoint { + DECLARE_DYNAMIC_CLASS(wxPyControlPoint); public: wxPyControlPoint(wxPyShapeCanvas *the_canvas = NULL, wxPyShape *object = NULL, @@ -171,6 +184,7 @@ public: class wxPyBitmapShape : public wxBitmapShape { + DECLARE_DYNAMIC_CLASS(wxPyBitmapShape); public: wxPyBitmapShape() : wxBitmapShape() {} @@ -180,6 +194,7 @@ public: class wxPyDrawnShape : public wxDrawnShape { + DECLARE_DYNAMIC_CLASS(wxPyDrawnShape); public: wxPyDrawnShape() : wxDrawnShape() {} @@ -188,6 +203,7 @@ public: class wxPyCompositeShape : public wxCompositeShape { + DECLARE_DYNAMIC_CLASS(wxPyCompositeShape); public: wxPyCompositeShape() : wxCompositeShape() {} @@ -196,6 +212,7 @@ public: class wxPyDividedShape : public wxDividedShape { + DECLARE_DYNAMIC_CLASS(wxPyDividedShape); public: wxPyDividedShape(double width = 0.0, double height = 0.0) : wxDividedShape(width, height) {} @@ -205,6 +222,7 @@ public: class wxPyDivisionShape : public wxDivisionShape { + DECLARE_DYNAMIC_CLASS(wxPyDivisionShape); public: wxPyDivisionShape() : wxDivisionShape() {} @@ -213,6 +231,7 @@ public: class wxPyEllipseShape : public wxEllipseShape { + DECLARE_DYNAMIC_CLASS(wxPyEllipseShape); public: wxPyEllipseShape(double width = 0.0, double height = 0.0) : wxEllipseShape(width, height) {} @@ -222,6 +241,7 @@ public: class wxPyCircleShape : public wxCircleShape { + DECLARE_DYNAMIC_CLASS(wxPyCircleShape); public: wxPyCircleShape(double width = 0.0) : wxCircleShape(width) {} @@ -231,6 +251,7 @@ public: class wxPyLineShape : public wxLineShape { + DECLARE_DYNAMIC_CLASS(wxPyLineShape); public: wxPyLineShape() : wxLineShape() {} @@ -239,6 +260,7 @@ public: class wxPyPolygonShape : public wxPolygonShape { + DECLARE_DYNAMIC_CLASS(wxPyPolygonShape); public: wxPyPolygonShape() : wxPolygonShape() {} @@ -247,6 +269,7 @@ public: class wxPyTextShape : public wxTextShape { + DECLARE_DYNAMIC_CLASS(wxPyTextShape); public: wxPyTextShape(double width = 0.0, double height = 0.0) : wxTextShape(width, height) {} @@ -260,3 +283,4 @@ public: //--------------------------------------------------------------------------- #endif +