X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eb7159455d8967dbfa384e338eb584d09964d3fa..69d16e3ef87c21364456307b5df88c2f4962b63d:/utils/wxPython/src/gdi.i diff --git a/utils/wxPython/src/gdi.i b/utils/wxPython/src/gdi.i index 51591c96ed..e08669323c 100644 --- a/utils/wxPython/src/gdi.i +++ b/utils/wxPython/src/gdi.i @@ -33,33 +33,57 @@ //--------------------------------------------------------------------------- -class wxBitmap { +// class wxGDIImage { +// public: +// long GetHandle(); +// void SetHandle(long handle); +// bool Ok(); +// int GetWidth(); +// int GetHeight(); +// int GetDepth(); +// void SetWidth(int w); +// void SetHeight(int h); +// void SetDepth(int d); +// void SetSize(const wxSize& size); +// }; + +//--------------------------------------------------------------------------- + +class wxBitmap +//: public wxGDIImage +{ public: wxBitmap(const wxString& name, long type); ~wxBitmap(); -#ifdef __WXMSW__ - void Create(int width, int height, int depth = -1); -#endif - int GetDepth(); - int GetHeight(); wxPalette* GetPalette(); wxMask* GetMask(); - int GetWidth(); bool LoadFile(const wxString& name, long flags); - bool Ok(); bool SaveFile(const wxString& name, int type, wxPalette* palette = NULL); - void SetDepth(int depth); - void SetHeight(int height); void SetMask(wxMask* mask); #ifdef __WXMSW__ void SetPalette(wxPalette& palette); #endif - void SetWidth(int width); + + // wxGDIImage methods +#ifdef __WXMSW__ + long GetHandle(); + void SetHandle(long handle); +#endif + bool Ok(); + int GetWidth(); + int GetHeight(); + int GetDepth(); + void SetWidth(int w); + void SetHeight(int h); + void SetDepth(int d); +#ifdef __WXMSW__ + void SetSize(const wxSize& size); +#endif }; + %new wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1); -wxBitmap* wxNoRefBitmap(char* name, long flags); #ifdef __WXMSW__ %new wxBitmap* wxBitmapFromData(char* data, long type, @@ -71,14 +95,6 @@ wxBitmap* wxNoRefBitmap(char* name, long flags); return new wxBitmap(width, height, depth); } - // This one won't own the reference, so Python - // won't call the dtor, this is good for - // toolbars and such where the parent will - // manage the bitmap. - wxBitmap* wxNoRefBitmap(char* name, long flags) { - return new wxBitmap(name, flags); - } - #ifdef __WXMSW__ wxBitmap* wxBitmapFromData(char* data, long type, int width, int height, int depth = 1) { @@ -106,32 +122,60 @@ public: //--------------------------------------------------------------------------- -class wxIcon : public wxBitmap { +class wxIcon +//: public wxGDIImage +{ public: wxIcon(const wxString& name, long flags, int desiredWidth = -1, int desiredHeight = -1); ~wxIcon(); - int GetDepth(); - int GetHeight(); - int GetWidth(); bool LoadFile(const wxString& name, long flags); + + // wxGDIImage methods +#ifdef __WXMSW__ + long GetHandle(); + void SetHandle(long handle); +#endif bool Ok(); - void SetDepth(int depth); - void SetHeight(int height); - void SetWidth(int width); + int GetWidth(); + int GetHeight(); + int GetDepth(); + void SetWidth(int w); + void SetHeight(int h); + void SetDepth(int d); +#ifdef __WXMSW__ + void SetSize(const wxSize& size); +#endif }; //--------------------------------------------------------------------------- -class wxCursor : public wxBitmap { +class wxCursor +//: public wxGDIImage +{ public: #ifdef __WXMSW__ wxCursor(const wxString& cursorName, long flags, int hotSpotX=0, int hotSpotY=0); #endif ~wxCursor(); + + // wxGDIImage methods +#ifdef __WXMSW__ + long GetHandle(); + void SetHandle(long handle); +#endif bool Ok(); +#ifdef __WXMSW__ + int GetWidth(); + int GetHeight(); + int GetDepth(); + void SetWidth(int w); + void SetHeight(int h); + void SetDepth(int d); + void SetSize(const wxSize& size); +#endif }; %name(wxStockCursor) %new wxCursor* wxPyStockCursor(int id); @@ -257,6 +301,10 @@ public: 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); @@ -269,7 +317,12 @@ public: //---------------------------------------------------------------------- +#ifdef __WXMSW__ typedef unsigned long wxDash; +#else +typedef char wxDash; +#endif + class wxPen { public: @@ -295,11 +348,12 @@ public: void SetStyle(int style); void SetWidth(int width); -#ifdef __WXMSW__ // **** This one needs to return a list of ints (wxDash) int GetDashes(wxDash **dashes); + void SetDashes(int LCOUNT, wxDash* choices); + +#ifdef __WXMSW__ wxBitmap* GetStipple(); - void SetDashes(int LCOUNT, wxDash* LIST); void SetStipple(wxBitmap& stipple); #endif }; @@ -358,13 +412,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 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); - 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(); @@ -378,6 +433,7 @@ public: long *OUTPUT, long *OUTPUT); wxFont& GetFont(); int GetLogicalFunction(); + void GetLogicalScale(double *OUTPUT, double *OUTPUT); int GetMapMode(); bool GetOptimization(); wxPen& GetPen(); @@ -390,12 +446,14 @@ public: } %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(); + void GetUserScale(double *OUTPUT, double *OUTPUT); long LogicalToDeviceX(long x); long LogicalToDeviceXRel(long x); long LogicalToDeviceY(long y); @@ -413,6 +471,7 @@ public: 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); @@ -423,26 +482,20 @@ public: 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); + 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); + }; @@ -589,7 +642,7 @@ extern wxColour wxNullColour; 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); @@ -611,7 +664,7 @@ enum { class wxImageList { public: - wxImageList(int width, int height, const bool mask=TRUE, int initialCount=1); + wxImageList(int width, int height, int mask=FALSE, int initialCount=1); ~wxImageList(); #ifdef __WXMSW__