]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/contrib/ogl/oglshapes.i
use wxColourDatabase::Find() instead of deprecated FindColour(); some minor code...
[wxWidgets.git] / wxPython / contrib / ogl / oglshapes.i
index 6f1ebc26b4c7891cd252e372e9fb1146206a73ed..6caa193b961f760ecfe9fd46761af3983bb75034 100644 (file)
@@ -14,7 +14,7 @@
 %module oglshapes
 
 %{
-#include "export.h"
+#include "wxPython.h"
 #include "oglhelpers.h"
 %}
 
 %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 {
@@ -280,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);
@@ -408,7 +448,7 @@ public:
 
         PyObject* GetDivisions() {
             wxList& list = self->GetDivisions();
-            return wxPy_ConvertList(&list, "wxPyDivisionShape");
+            return wxPy_ConvertShapeList(&list, "wxPyDivisionShape");
         }
     }