]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/gdi.i
Did splitting of wxEntry for wxMSW. Not nearly as complex as wxGTK
[wxWidgets.git] / utils / wxPython / src / gdi.i
index 3a7eee039fc8f0c2c7ffd06ae9306bf2387b8f3a..353c478c54265232a28431ede64b125d4e2d2859 100644 (file)
@@ -86,7 +86,7 @@ public:
 %new wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1);
 
 #ifdef __WXMSW__
 %new wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1);
 
 #ifdef __WXMSW__
-%new wxBitmap* wxBitmapFromData(char* data, long type,
+%new wxBitmap* wxBitmapFromData(PyObject* data, long type,
                                 int width, int height, int depth = 1);
 #endif
 
                                 int width, int height, int depth = 1);
 #endif
 
@@ -96,9 +96,14 @@ public:
     }
 
 #ifdef __WXMSW__
     }
 
 #ifdef __WXMSW__
-    wxBitmap* wxBitmapFromData(char* data, long type,
+    wxBitmap* wxBitmapFromData(PyObject* data, long type,
                                int width, int height, int depth = 1) {
                                int width, int height, int depth = 1) {
-        return new wxBitmap((void*)data, type, width, height, depth);
+        if (! PyString_Check(data)) {
+            PyErr_SetString(PyExc_TypeError, "Expected string object");
+            return NULL;
+        }
+
+        return new wxBitmap((void*)PyString_AsString(data), type, width, height, depth);
     }
 #endif
 %}
     }
 #endif
 %}
@@ -301,6 +306,10 @@ public:
             return rv;
         }
     }
             return rv;
         }
     }
+    %pragma(python) addtoclass = "asTuple = Get"
+    %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())"
+    %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())"
+
 };
 
 %new wxColour* wxNamedColour(const wxString& colorName);
 };
 
 %new wxColour* wxNamedColour(const wxString& colorName);
@@ -346,7 +355,7 @@ public:
 
             // **** This one needs to return a list of ints (wxDash)
     int GetDashes(wxDash **dashes);
 
             // **** This one needs to return a list of ints (wxDash)
     int GetDashes(wxDash **dashes);
-    void SetDashes(int LCOUNT, wxDash* LIST);
+    void SetDashes(int LCOUNT, wxDash* choices);
 
 #ifdef __WXMSW__
     wxBitmap* GetStipple();
 
 #ifdef __WXMSW__
     wxBitmap* GetStipple();
@@ -361,12 +370,14 @@ public:
     // I'll do it this way to use long-lived objects and not have to
     // worry about when python may delete the object.
     %addmethods {
     // I'll do it this way to use long-lived objects and not have to
     // worry about when python may delete the object.
     %addmethods {
-        wxBrush(wxColour* colour, int style=wxSOLID) {
+        wxBrush(const wxColour* colour, int style=wxSOLID) {
             return wxTheBrushList->FindOrCreateBrush(*colour, style);
         }
         // NO Destructor.
     }
 
             return wxTheBrushList->FindOrCreateBrush(*colour, style);
         }
         // NO Destructor.
     }
 
+//      wxBrush(const wxColour& colour, int style=wxSOLID);
+
     wxColour& GetColour();
     wxBitmap * GetStipple();
     int GetStyle();
     wxColour& GetColour();
     wxBitmap * GetStipple();
     int GetStyle();
@@ -408,14 +419,14 @@ public:
     void DrawEllipticArc(long x, long y, long width, long height, long start, long end);
     void DrawIcon(const wxIcon& icon, long x, long y);
     void DrawLine(long x1, long y1, long x2, long y2);
     void DrawEllipticArc(long x, long y, long width, long height, long start, long end);
     void DrawIcon(const wxIcon& icon, long x, long y);
     void DrawLine(long x1, long y1, long x2, long y2);
-    void DrawLines(int LCOUNT, wxPoint* LIST, long xoffset=0, long yoffset=0);
-    void DrawPolygon(int LCOUNT, wxPoint* LIST, long xoffset=0, long yoffset=0,
+    void DrawLines(int PCOUNT, wxPoint* points, long xoffset=0, long yoffset=0);
+    void DrawPolygon(int PCOUNT, wxPoint* points, long xoffset=0, long yoffset=0,
                      int fill_style=wxODDEVEN_RULE);
     void DrawPoint(long x, long y);
     void DrawRectangle(long x, long y, long width, long height);
     void DrawRotatedText(const wxString& text, wxCoord x, wxCoord y, double angle);
     void DrawRoundedRectangle(long x, long y, long width, long height, long radius=20);
                      int fill_style=wxODDEVEN_RULE);
     void DrawPoint(long x, long y);
     void DrawRectangle(long x, long y, long width, long height);
     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 LCOUNT, wxPoint* LIST);
+    void DrawSpline(int PCOUNT, wxPoint* points);
     void DrawText(const wxString& text, long x, long y);
     void EndDoc();
     void EndDrawing();
     void DrawText(const wxString& text, long x, long y);
     void EndDoc();
     void EndDrawing();
@@ -429,6 +440,7 @@ public:
                         long *OUTPUT, long *OUTPUT);
     wxFont& GetFont();
     int GetLogicalFunction();
                         long *OUTPUT, long *OUTPUT);
     wxFont& GetFont();
     int GetLogicalFunction();
+    void GetLogicalScale(double *OUTPUT, double *OUTPUT);
     int GetMapMode();
     bool GetOptimization();
     wxPen& GetPen();
     int GetMapMode();
     bool GetOptimization();
     wxPen& GetPen();
@@ -441,12 +453,14 @@ public:
     }
     %name(GetSizeTuple)void GetSize(int* OUTPUT, int* OUTPUT);
     wxSize GetSize();
     }
     %name(GetSizeTuple)void GetSize(int* OUTPUT, int* OUTPUT);
     wxSize GetSize();
+    wxSize GetSizeMM();
     wxColour& GetTextBackground();
     void GetTextExtent(const wxString& string, long *OUTPUT, long *OUTPUT);
     %name(GetFullTextExtent)void GetTextExtent(const wxString& string,
                        long *OUTPUT, long *OUTPUT, long *OUTPUT, long* OUTPUT,
                        const wxFont* font = NULL);
     wxColour& GetTextForeground();
     wxColour& GetTextBackground();
     void GetTextExtent(const wxString& string, long *OUTPUT, long *OUTPUT);
     %name(GetFullTextExtent)void GetTextExtent(const wxString& string,
                        long *OUTPUT, long *OUTPUT, long *OUTPUT, long* OUTPUT,
                        const wxFont* font = NULL);
     wxColour& GetTextForeground();
+    void GetUserScale(double *OUTPUT, double *OUTPUT);
     long LogicalToDeviceX(long x);
     long LogicalToDeviceXRel(long x);
     long LogicalToDeviceY(long y);
     long LogicalToDeviceX(long x);
     long LogicalToDeviceXRel(long x);
     long LogicalToDeviceY(long y);
@@ -464,6 +478,7 @@ public:
     void SetBrush(const wxBrush& brush);
     void SetFont(const wxFont& font);
     void SetLogicalFunction(int function);
     void SetBrush(const wxBrush& brush);
     void SetFont(const wxFont& font);
     void SetLogicalFunction(int function);
+    void SetLogicalScale(double x, double y);
     void SetMapMode(int mode);
     void SetOptimization(bool optimize);
     void SetPen(const wxPen& pen);
     void SetMapMode(int mode);
     void SetOptimization(bool optimize);
     void SetPen(const wxPen& pen);
@@ -474,26 +489,20 @@ public:
     void StartPage();
 
 
     void StartPage();
 
 
-//  Don't need this one anymore as wxWindows has one...
-//      %addmethods {
-//              // This one is my own creation...
-//          void DrawBitmap(wxBitmap& bitmap, long x, long y, bool swapPalette=TRUE) {
-//              wxMemoryDC* memDC = new wxMemoryDC;
-//              memDC->SelectObject(bitmap);
-//  #ifdef __WXMSW__
-//              if (swapPalette)
-//                  self->SetPalette(*bitmap.GetPalette());
-//  #endif
-//              self->Blit(x, y, bitmap.GetWidth(), bitmap.GetHeight(), memDC,
-//                      0, 0, self->GetLogicalFunction());
-//              memDC->SelectObject(wxNullBitmap);
-//              delete memDC;
-//          }
-//      }
 
     void DrawBitmap(const wxBitmap& bitmap, long x, long y,
                     int useMask = FALSE);
 
 
     void DrawBitmap(const wxBitmap& bitmap, long x, long y,
                     int useMask = FALSE);
 
+    bool CanDrawBitmap();
+    bool CanGetTextExtent();
+    int  GetDepth();
+    wxSize GetPPI();
+
+    void GetLogicalOrigin(int *OUTPUT, int *OUTPUT);
+    void SetLogicalOrigin(int x, int y);
+    void GetDeviceOrigin(int *OUTPUT, int *OUTPUT);
+    void SetAxisOrientation(bool xLeftRight, bool yBottomUp);
+
 };
 
 
 };
 
 
@@ -520,8 +529,8 @@ class wxScreenDC : public wxDC {
 public:
     wxScreenDC();
 
 public:
     wxScreenDC();
 
-    bool StartDrawingOnTop(wxWindow* window);
-    %name(StartDrawingOnTopRect) bool StartDrawingOnTop(wxRect* rect = NULL);
+    %name(StartDrawingOnTopWin) bool StartDrawingOnTop(wxWindow* window);
+    bool StartDrawingOnTop(wxRect* rect = NULL);
     bool EndDrawingOnTop();
 };
 
     bool EndDrawingOnTop();
 };
 
@@ -640,7 +649,7 @@ extern wxColour wxNullColour;
 
 class wxPalette {
 public:
 
 class wxPalette {
 public:
-    wxPalette(int LCOUNT, byte* LIST, byte* LIST, byte* LIST);
+    wxPalette(int LCOUNT, byte* choices, byte* choices, byte* choices);
     ~wxPalette();
 
     int GetPixel(byte red, byte green, byte blue);
     ~wxPalette();
 
     int GetPixel(byte red, byte green, byte blue);