]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/gdi.i
Updated note about wxSTC using wxPopupWindow
[wxWidgets.git] / wxPython / src / gdi.i
index 349699d6d36731bb52165b5cb1e786057b628d3d..0aeb10e711e6eee7e0c28ca976fd4ee8ccb07c3e 100644 (file)
@@ -110,7 +110,7 @@ public:
 %new wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1);
 %new wxBitmap* wxBitmapFromXPMData(PyObject* listOfStrings);
 %new wxBitmap* wxBitmapFromIcon(const wxIcon& icon);
 %new wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1);
 %new wxBitmap* wxBitmapFromXPMData(PyObject* listOfStrings);
 %new wxBitmap* wxBitmapFromIcon(const wxIcon& icon);
-%new wxBitmap* wxBitmapFromBits(char* bits, int width, int height, int depth = 1 );
+%new wxBitmap* wxBitmapFromBits(PyObject* bits, int width, int height, int depth = 1 );
 
 //  #ifdef __WXMSW__
 //  %new wxBitmap* wxBitmapFromData(PyObject* data, long type,
 
 //  #ifdef __WXMSW__
 //  %new wxBitmap* wxBitmapFromData(PyObject* data, long type,
@@ -162,8 +162,11 @@ public:
     }
 
 
     }
 
 
-    wxBitmap* wxBitmapFromBits(char* bits, int width, int height, int depth = 1 ) {
-        return new wxBitmap(bits, width, height, depth);
+    wxBitmap* wxBitmapFromBits(PyObject* bits, int width, int height, int depth = 1 ) {
+        char* buf;
+        int   length;
+        PyString_AsStringAndSize(bits, &buf, &length);
+        return new wxBitmap(buf, width, height, depth);
     }
 
 
     }
 
 
@@ -423,9 +426,21 @@ public:
     void SetStyle(int style);
     void SetWidth(int width);
 
     void SetStyle(int style);
     void SetWidth(int width);
 
-            // **** This one needs to return a list of ints (wxDash)
-    //int GetDashes(wxDash **dashes);
+
     void SetDashes(int LCOUNT, wxDash* choices);
     void SetDashes(int LCOUNT, wxDash* choices);
+    //int GetDashes(wxDash **dashes);
+    %addmethods {
+        PyObject* GetDashes() {
+            wxDash* dashes;
+            int count = self->GetDashes(&dashes);
+            wxPyBeginBlockThreads();
+            PyObject* retval = PyList_New(0);
+            for (int x=0; x<count; x++)
+                PyList_Append(retval, PyInt_FromLong(dashes[x]));
+            wxPyEndBlockThreads();
+            return retval;
+        }
+    }
 
 #ifdef __WXMSW__
     wxBitmap* GetStipple();
 
 #ifdef __WXMSW__
     wxBitmap* GetStipple();
@@ -571,6 +586,7 @@ public:
                      int fill_style=wxODDEVEN_RULE);
     void DrawPoint(long x, long y);
     void DrawRectangle(long x, long y, long width, long height);
                      int fill_style=wxODDEVEN_RULE);
     void DrawPoint(long x, long y);
     void DrawRectangle(long x, long y, long width, long height);
+    %name(DrawRectangleRect)void DrawRectangle(const wxRect& rect);
     void DrawRotatedText(const wxString& text, wxCoord x, wxCoord y, double angle);
     void DrawRoundedRectangle(long x, long y, long width, long height, long radius=20);
     void DrawSpline(int PCOUNT, wxPoint* points);
     void DrawRotatedText(const wxString& text, wxCoord x, wxCoord y, double angle);
     void DrawRoundedRectangle(long x, long y, long width, long height, long radius=20);
     void DrawSpline(int PCOUNT, wxPoint* points);
@@ -578,7 +594,7 @@ public:
     void EndDoc();
     void EndDrawing();
     void EndPage();
     void EndDoc();
     void EndDrawing();
     void EndPage();
-    void FloodFill(long x, long y, const wxColour& colour, int style=wxFLOOD_SURFACE);
+    bool FloodFill(long x, long y, const wxColour& colour, int style=wxFLOOD_SURFACE);
     wxBrush  GetBackground();
     wxBrush  GetBrush();
     long GetCharHeight();
     wxBrush  GetBackground();
     wxBrush  GetBrush();
     long GetCharHeight();
@@ -622,6 +638,7 @@ public:
     void SetBackgroundMode(int mode);
     void SetClippingRegion(long x, long y, long width, long height);
     %name(SetClippingRegionAsRegion) void SetClippingRegion(const wxRegion& region);
     void SetBackgroundMode(int mode);
     void SetClippingRegion(long x, long y, long width, long height);
     %name(SetClippingRegionAsRegion) void SetClippingRegion(const wxRegion& region);
+    %name(SetClippingRect) void SetClippingRegion(const wxRect& rect);
     void SetPalette(const wxPalette& colourMap);
     void SetBrush(const wxBrush& brush);
     void SetFont(const wxFont& font);
     void SetPalette(const wxPalette& colourMap);
     void SetBrush(const wxBrush& brush);
     void SetFont(const wxFont& font);