X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/03e9bead8a013fd207e9c3e35bcfdba22fef929d..5f4987fed4dc52a35f0ddd649ae1cf9e75bb92d3:/utils/wxPython/src/gdi.i diff --git a/utils/wxPython/src/gdi.i b/utils/wxPython/src/gdi.i index 93c43a5e7e..6bc2672b72 100644 --- a/utils/wxPython/src/gdi.i +++ b/utils/wxPython/src/gdi.i @@ -15,7 +15,6 @@ %{ #include "helpers.h" - #include %} @@ -35,7 +34,9 @@ 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(); @@ -47,13 +48,15 @@ public: void SetDepth(int depth); void SetHeight(int height); void SetMask(wxMask* mask); - void SetOk(int isOk); - void SetPalette(wxPalette* palette); +#ifdef __WXMSW__ + void SetPalette(wxPalette& palette); +#endif void SetWidth(int width); }; %new wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1); wxBitmap* wxNoRefBitmap(char* name, long flags); + %{ // Alternate 'constructor' wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1) { return new wxBitmap(width, height, depth); @@ -88,7 +91,10 @@ public: class wxIcon : public wxBitmap { public: - wxIcon(char *name, long flags); +#ifdef __WXMSW__ + wxIcon(const wxString& name, long flags, + int desiredWidth = -1, int desiredHeight = -1); +#endif ~wxIcon(); int GetDepth(); @@ -98,7 +104,6 @@ public: bool Ok(); void SetDepth(int depth); void SetHeight(int height); - void SetOk(int isOk); void SetWidth(int width); }; @@ -106,14 +111,16 @@ public: class wxCursor : public wxBitmap { public: +#ifdef __WXMSW__ wxCursor(const wxString& cursorName, long flags, int hotSpotX=0, int hotSpotY=0); +#endif ~wxCursor(); bool Ok(); }; -%new wxCursor* wxStockCursor(int id); +%name(wxStockCursor) %new wxCursor* wxPyStockCursor(int id); %{ // Alternate 'constructor' - wxCursor* wxStockCursor(int id) { + wxCursor* wxPyStockCursor(int id) { return new wxCursor(id); } %} @@ -142,12 +149,14 @@ public: int GetStyle(); bool GetUnderlined(); int GetWeight(); +#ifdef __WXMSW__ void SetFaceName(const wxString& faceName); void SetFamily(int family); void SetPointSize(int pointSize); void SetStyle(int style); void SetUnderlined(bool underlined); void SetWeight(int weight); +#endif }; //---------------------------------------------------------------------- @@ -198,18 +207,22 @@ public: int GetCap(); wxColour& GetColour(); +#ifdef __WXMSW__ // **** This one needs to return a list of ints (wxDash) int GetDashes(wxDash **dashes); - int GetJoin(); wxBitmap* GetStipple(); +#endif + int GetJoin(); int GetStyle(); int GetWidth(); bool Ok(); void SetCap(int cap_style); void SetColour(wxColour& colour); +#ifdef __WXMSW__ void SetDashes(int LCOUNT, wxDash* LIST); + void SetStipple(wxBitmap& stipple); +#endif void SetJoin(int join_style); - void SetStipple(wxBitmap * stipple); void SetStyle(int style); void SetWidth(int width); }; @@ -231,9 +244,11 @@ public: wxBitmap * GetStipple(); int GetStyle(); bool Ok(); +#ifdef __WXMSW__ void SetColour(wxColour &colour); - void SetStipple(wxBitmap *bitmap); + void SetStipple(wxBitmap& bitmap); void SetStyle(int style); +#endif }; //---------------------------------------------------------------------- @@ -242,7 +257,7 @@ public: class wxDC { public: - wxDC(); +// wxDC(); **** abstract base class, can't instantiate. ~wxDC(); void BeginDrawing(); @@ -271,19 +286,30 @@ public: void EndDoc(); void EndDrawing(); void EndPage(); +#ifdef __WXWIN__ void FloodFill(long x, long y, const wxColour& colour, int style=wxFLOOD_SURFACE); - wxBrush * GetBackground(); - wxBrush * GetBrush(); +#endif +#ifdef __WXGTK__ + void FloodFill(long x, long y, wxColour* colour, int style=wxFLOOD_SURFACE); +#endif + wxBrush& GetBackground(); + wxBrush& GetBrush(); long GetCharHeight(); long GetCharWidth(); void GetClippingBox(long *OUTPUT, long *OUTPUT, long *OUTPUT, long *OUTPUT); - wxFont * GetFont(); + wxFont& GetFont(); int GetLogicalFunction(); int GetMapMode(); bool GetOptimization(); - wxPen * GetPen(); - //bool GetPixel(int x, int y, wxColour *T_OUTPUT); **** See below. + wxPen& GetPen(); + %addmethods { + %new wxColour* GetPixel(long x, long y) { + wxColour* wc = new wxColour(); + self->GetPixel(x, y, wc); + return wc; + } + } void GetSize(int* OUTPUT, int* OUTPUT); //void GetSize(long* OUTPUT, long* OUTPUT); wxColour& GetTextBackground(); void GetTextExtent(const wxString& string, long *OUTPUT, long *OUTPUT, @@ -317,19 +343,13 @@ public: %addmethods { - %new wxColour* GetPixel(long x, long y) { - wxColor* wc = new wxColor(); - self->GetPixel(x, y, wc); - return wc; - } - // This one is my own creation... - void DrawBitmap(wxBitmap* bitmap, long x, long y, bool swapPalette=TRUE) { + void DrawBitmap(wxBitmap& bitmap, long x, long y, bool swapPalette=TRUE) { wxMemoryDC* memDC = new wxMemoryDC; memDC->SelectObject(bitmap); if (swapPalette) - self->SetPalette(bitmap->GetPalette()); - self->Blit(x, y, bitmap->GetWidth(), bitmap->GetHeight(), memDC, + self->SetPalette(*bitmap.GetPalette()); + self->Blit(x, y, bitmap.GetWidth(), bitmap.GetHeight(), memDC, 0, 0, self->GetLogicalFunction()); memDC->SelectObject(wxNullBitmap); delete memDC; @@ -382,26 +402,41 @@ public: //--------------------------------------------------------------------------- +#ifdef __WXMSW__ +class wxWindowDC : public wxDC { +public: + wxWindowDC(wxWindow* win); +}; +#endif + +//--------------------------------------------------------------------------- + +#ifndef __WXMSW__ class wxPostScriptDC : public wxDC { public: wxPostScriptDC(const wxString& output, bool interactive = TRUE, wxWindow* win = NULL); }; +#endif //--------------------------------------------------------------------------- +#ifdef __WXMSW__ class wxPrinterDC : public wxDC { public: wxPrinterDC(const wxString& driver, const wxString& device, const wxString& output, bool interactive = TRUE, int orientation = wxPORTRAIT); }; +#endif //--------------------------------------------------------------------------- +#ifdef __WXMSW__ class wxMetaFileDC : public wxDC { public: wxMetaFileDC(const wxString& filename = wxPyEmptyStr); wxMetaFile* Close(); }; +#endif //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -456,11 +491,65 @@ extern wxPalette wxNullPalette; extern wxFont wxNullFont; extern wxColour wxNullColour; +//--------------------------------------------------------------------------- + +class wxPalette { +public: + wxPalette(int LCOUNT, byte* LIST, byte* LIST, byte* LIST); + ~wxPalette(); + + int GetPixel(byte red, byte green, byte blue); + bool GetRGB(int pixel, byte* OUTPUT, byte* OUTPUT, byte* OUTPUT); + bool Ok(); +}; + +//--------------------------------------------------------------------------- + + //--------------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// 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