From: Robin Dunn Date: Thu, 15 Apr 2004 18:23:17 +0000 (+0000) Subject: Added some convenience methods to wx.Bitmap: SetSize, GetSize, and X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/ba938c3d005ad1ecab95b95c5f64e428067bc75e?ds=sidebyside Added some convenience methods to wx.Bitmap: SetSize, GetSize, and wx.EmptyBitmap can be called with a wx.Size (or a 2-element sequence) object too. Similar changes were done for wx.Image as well. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/wxPython/docs/CHANGES.txt b/wxPython/docs/CHANGES.txt index d13758551e..af1127d3e8 100644 --- a/wxPython/docs/CHANGES.txt +++ b/wxPython/docs/CHANGES.txt @@ -13,6 +13,12 @@ size is smaller than the item's GetBestSize. When a window is added to a sizer it's initial size, if any, is set as the window's minimal size using SetSizeHints if there isn't already a minimal size. +Added some convenience methods to wx.Bitmap: SetSize, GetSize, and +wx.EmptyBitmap can be called with a wx.Size (or a 2-element sequence) +object too. Similar changes were done for wx.Image as well. + + + 2.5.1.5 ------- diff --git a/wxPython/src/_bitmap.i b/wxPython/src/_bitmap.i index 8f9213ea36..44f39290e6 100644 --- a/wxPython/src/_bitmap.i +++ b/wxPython/src/_bitmap.i @@ -53,12 +53,12 @@ public: ~wxBitmap(); - DocCtorStrName( - wxBitmap(int width, int height, int depth=-1), - "Creates a new bitmap of the given size. A depth of -1 indicates the depth of\n" - "the current screen or visual. Some platforms only support 1 for monochrome and\n" - "-1 for the current colour setting.", - EmptyBitmap); +// DocCtorStrName( +// wxBitmap(int width, int height, int depth=-1), +// "Creates a new bitmap of the given size. A depth of -1 indicates the depth of\n" +// "the current screen or visual. Some platforms only support 1 for monochrome and\n" +// "-1 for the current colour setting.", +// EmptyBitmap); DocCtorStrName( wxBitmap(const wxIcon& icon), @@ -100,6 +100,21 @@ public: PyString_AsStringAndSize(bits, &buf, &length); return new wxBitmap(buf, width, height, depth); } + + + DocStr(wxBitmap(const wxSize& size, int depth=-1), + "Creates a new bitmap of the given size. A depth of -1 indicates +the depth of the current screen or visual. Some platforms only +support 1 for monochrome and -1 for the current colour setting."); + + %nokwargs wxBitmap(int width, int height, int depth=-1); + %nokwargs wxBitmap(const wxSize& size, int depth=-1); + %name(EmptyBitmap)wxBitmap(int width, int height, int depth=-1) { + return new wxBitmap(width, height, depth); + } + %name(EmptyBitmap)wxBitmap(const wxSize& size, int depth=-1) { + return new wxBitmap(size.x, size.y, depth); + } } @@ -128,6 +143,16 @@ public: "monochrome bitmap."); int GetDepth(); + + %extend { + DocStr(GetSize, "Get the size of the bitmap."); + wxSize GetSize() { + wxSize size(self->GetWidth(), self->GetHeight()); + return size; + } + } + + DocStr(ConvertToImage, "Creates a platform-independent image from a platform-dependent bitmap. This\n" "preserves mask information so that bitmaps and images can be converted back\n" @@ -182,6 +207,13 @@ public: DocStr(SetDepth, "Set the depth property (does not affect the bitmap data).") virtual void SetDepth(int depth); + %extend { + DocStr(SetSize, "Set the bitmap size"); + void SetSize(const wxSize& size) { + self->SetWidth(size.x); + self->SetHeight(size.y); + } + } #ifdef __WXMSW__ bool CopyFromCursor(const wxCursor& cursor); diff --git a/wxPython/src/_image.i b/wxPython/src/_image.i index 1655963fc4..f5d4b36bd3 100644 --- a/wxPython/src/_image.i +++ b/wxPython/src/_image.i @@ -83,14 +83,24 @@ public: %name(ImageFromMime) wxImage(const wxString& name, const wxString& mimetype, int index = -1); %name(ImageFromStream) wxImage(wxInputStream& stream, long type = wxBITMAP_TYPE_ANY, int index = -1); %name(ImageFromStreamMime) wxImage(wxInputStream& stream, const wxString& mimetype, int index = -1 ); + + + %extend { + + %nokwargs wxImage(int width=0, int height=0, bool clear = True); + %nokwargs wxImage(const wxSize& size, bool clear = True); %name(EmptyImage) wxImage(int width=0, int height=0, bool clear = True) { if (width > 0 && height > 0) return new wxImage(width, height, clear); else return new wxImage; } - + %name(EmptyImage) wxImage(const wxSize& size, bool clear = True) { + return new wxImage(size.x, size.y, clear); + } + + %name(ImageFromBitmap) wxImage(const wxBitmap &bitmap) { return new wxImage(bitmap.ConvertToImage()); } @@ -161,6 +171,13 @@ public: int GetWidth(); int GetHeight(); + %extend { + wxSize GetSize() { + wxSize size(self->GetWidth(), self->GetHeight()); + return size; + } + } + wxImage GetSubImage(const wxRect& rect); wxImage Copy(); void Paste( const wxImage &image, int x, int y );