X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af309447ff8413abd2fa5e9cc780fcef1c891f87..3c87527e89228b537800d06e1c32a62900417beb:/utils/wxPython/src/gdi.i diff --git a/utils/wxPython/src/gdi.i b/utils/wxPython/src/gdi.i index c4fa456c05..ba3a8aa788 100644 --- a/utils/wxPython/src/gdi.i +++ b/utils/wxPython/src/gdi.i @@ -61,17 +61,30 @@ public: %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, + int width, int height, int depth = 1); +#endif + %{ // Alternate 'constructor' wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1) { 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. + // 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) { + return new wxBitmap((void*)data, type, width, height, depth); + } +#endif %} //--------------------------------------------------------------------------- @@ -95,10 +108,8 @@ public: class wxIcon : public wxBitmap { public: -#ifdef __WXMSW__ wxIcon(const wxString& name, long flags, int desiredWidth = -1, int desiredHeight = -1); -#endif ~wxIcon(); int GetDepth(); @@ -111,6 +122,7 @@ public: void SetWidth(int width); }; + //--------------------------------------------------------------------------- class wxCursor : public wxBitmap { @@ -272,6 +284,7 @@ public: long DeviceToLogicalY(long y); long DeviceToLogicalYRel(long y); void DrawArc(long x1, long y1, long x2, long y2, long xc, long yc); + void DrawCircle(long x, long y, long radius); void DrawEllipse(long x, long y, long width, long height); void DrawEllipticArc(long x, long y, long width, long height, long start, long end); void DrawIcon(const wxIcon& icon, long x, long y); @@ -306,7 +319,8 @@ public: return wc; } } - void GetSize(int* OUTPUT, int* OUTPUT); //void GetSize(long* OUTPUT, long* OUTPUT); + %name(GetSizeTuple)void GetSize(int* OUTPUT, int* OUTPUT); + wxSize GetSize(); wxColour& GetTextBackground(); void GetTextExtent(const wxString& string, long *OUTPUT, long *OUTPUT); %name(GetFullTextExtent)void GetTextExtent(const wxString& string, @@ -345,8 +359,10 @@ public: 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); @@ -524,9 +540,16 @@ public: wxImageList(int width, int height, const bool mask=TRUE, int initialCount=1); ~wxImageList(); +#ifdef __WXMSW__ int Add(const wxBitmap& bitmap, const wxBitmap& mask = wxNullBitmap); %name(AddWithColourMask)int Add(const wxBitmap& bitmap, const wxColour& maskColour); %name(AddIcon)int Add(const wxIcon& icon); + bool Replace(int index, const wxBitmap& bitmap, const wxBitmap& mask = wxNullBitmap); + %name(ReplaceIcon)bool Replace(int index, const wxIcon& icon); +#else + int Add(const wxBitmap& bitmap); + bool Replace(int index, const wxBitmap& bitmap); +#endif bool Draw(int index, wxDC& dc, int x, int x, int flags = wxIMAGELIST_DRAW_NORMAL, const bool solidBackground = FALSE); @@ -534,102 +557,8 @@ public: int GetImageCount(); bool Remove(int index); bool RemoveAll(); - bool Replace(int index, const wxBitmap& bitmap, const wxBitmap& mask = wxNullBitmap); - %name(ReplaceIcon)bool Replace(int index, const wxIcon& icon); }; //--------------------------------------------------------------------------- -///////////////////////////////////////////////////////////////////////////// -// -// $Log$ -// Revision 1.13 1999/02/20 09:02:58 RD -// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a -// window handle. If you can get the window handle into the python code, -// it should just work... More news on this later. -// -// Added wxImageList, wxToolTip. -// -// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the -// wxRegConfig class. -// -// As usual, some bug fixes, tweaks, etc. -// -// Revision 1.12 1999/01/30 07:30:11 RD -// -// Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc. -// -// Various cleanup, tweaks, minor additions, etc. to maintain -// compatibility with the current wxWindows. -// -// Revision 1.11 1998/12/18 15:49:05 RR -// -// wxClipboard now serves the primary selection as well -// wxPython fixes -// warning mesages -// -// Revision 1.10 1998/12/17 18:05:50 RD -// -// wxPython 0.5.2 -// Minor fixes and SWIG code generation for RR's changes. MSW and GTK -// versions are much closer now! -// -// Revision 1.9 1998/12/17 14:07:37 RR -// -// Removed minor differences between wxMSW and wxGTK -// -// Revision 1.8 1998/12/16 22:10:54 RD -// -// Tweaks needed to be able to build wxPython with wxGTK. -// -// Revision 1.7 1998/12/15 20:41:18 RD -// Changed the import semantics from "from wxPython import *" to "from -// wxPython.wx import *" This is for people who are worried about -// namespace pollution, they can use "from wxPython import wx" and then -// prefix all the wxPython identifiers with "wx." -// -// Added wxTaskbarIcon for wxMSW. -// -// Made the events work for wxGrid. -// -// Added wxConfig. -// -// Added wxMiniFrame for wxGTK, (untested.) -// -// Changed many of the args and return values that were pointers to gdi -// objects to references to reflect changes in the wxWindows API. -// -// Other assorted fixes and additions. -// -// Revision 1.6 1998/11/25 08:45:24 RD -// -// Added wxPalette, wxRegion, wxRegionIterator, wxTaskbarIcon -// Added events for wxGrid -// Other various fixes and additions -// -// Revision 1.5 1998/10/20 06:43:57 RD -// New wxTreeCtrl wrappers (untested) -// some changes in helpers -// etc. -// -// Revision 1.4 1998/10/02 06:40:38 RD -// -// Version 0.4 of wxPython for MSW. -// -// Revision 1.3 1998/08/18 19:48:16 RD -// more wxGTK compatibility things. -// -// It builds now but there are serious runtime problems... -// -// Revision 1.2 1998/08/15 07:36:35 RD -// - Moved the header in the .i files out of the code that gets put into -// the .cpp files. It caused CVS conflicts because of the RCS ID being -// different each time. -// -// - A few minor fixes. -// -// Revision 1.1 1998/08/09 08:25:50 RD -// Initial version -// -//