X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ba938c3d005ad1ecab95b95c5f64e428067bc75e..27740109cad72ef6aca05ffbed7c0f5c2a0b8cd8:/wxPython/src/_image.i diff --git a/wxPython/src/_image.i b/wxPython/src/_image.i index f5d4b36bd3..b475672670 100644 --- a/wxPython/src/_image.i +++ b/wxPython/src/_image.i @@ -52,7 +52,7 @@ class wxImageHistogram /* : public wxImageHistogramBase */ public: wxImageHistogram(); - DocStr(MakeKey, "Get the key in the histogram for the given RGB values"); + DocStr(MakeKey, "Get the key in the histogram for the given RGB values", ""); static unsigned long MakeKey(unsigned char r, unsigned char g, unsigned char b); @@ -65,9 +65,9 @@ public: unsigned char startG = 0, unsigned char startB = 0 ) const, "FindFirstUnusedColour(int startR=1, int startG=0, int startB=0) -> (success, r, g, b)", - "Find first colour that is not used in the image and has higher RGB values than\n" - "startR, startG, startB. Returns a tuple consisting of a success flag and rgb\n" - "values."); + "Find first colour that is not used in the image and has higher RGB +values than startR, startG, startB. Returns a tuple consisting of a +success flag and rgb values.", ""); }; @@ -83,28 +83,19 @@ 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); - } + } - + MustHaveApp(wxImage(const wxBitmap &bitmap)); %name(ImageFromBitmap) wxImage(const wxBitmap &bitmap) { return new wxImage(bitmap.ConvertToImage()); } - + %name(ImageFromData) wxImage(int width, int height, unsigned char* data) { // Copy the source data so the wxImage can clean it up later unsigned char* copy = (unsigned char*)malloc(width*height*3); @@ -116,7 +107,7 @@ public: return new wxImage(width, height, copy, False); } } - + void Create( int width, int height ); void Destroy(); @@ -139,9 +130,9 @@ public: bool, FindFirstUnusedColour( byte *OUTPUT, byte *OUTPUT, byte *OUTPUT, byte startR = 0, byte startG = 0, byte startB = 0 ) const, "FindFirstUnusedColour(int startR=1, int startG=0, int startB=0) -> (success, r, g, b)", - "Find first colour that is not used in the image and has higher RGB values than\n" - "startR, startG, startB. Returns a tuple consisting of a success flag and rgb\n" - "values."); + "Find first colour that is not used in the image and has higher RGB +values than startR, startG, startB. Returns a tuple consisting of a +success flag and rgb values.", ""); // Set image's mask to the area of 'mask' that has colour @@ -322,6 +313,9 @@ public: static wxString GetImageExtWildcard(); +MustHaveApp(ConvertToBitmap); +MustHaveApp(ConvertToMonoBitmap); + %extend { wxBitmap ConvertToBitmap() { wxBitmap bitmap(*self); @@ -342,7 +336,17 @@ public: -void wxInitAllImageHandlers(); +///void wxInitAllImageHandlers(); + +%pythoncode { + def InitAllImageHandlers(): + """ + The former functionality of InitAllImageHanders is now done internal to + the _core_ extension module and so this function has become a simple NOP. + """ + pass +} + // See also wxPy_ReinitStockObjects in helpers.cpp @@ -357,7 +361,7 @@ MAKE_CONST_WXSTRING(IMAGE_OPTION_BMP_FORMAT); MAKE_CONST_WXSTRING(IMAGE_OPTION_CUR_HOTSPOT_X); MAKE_CONST_WXSTRING(IMAGE_OPTION_CUR_HOTSPOT_Y); MAKE_CONST_WXSTRING(IMAGE_OPTION_RESOLUTION); -MAKE_CONST_WXSTRING(IMAGE_OPTION_RESOLUTIONUNIT); +MAKE_CONST_WXSTRING(IMAGE_OPTION_RESOLUTIONUNIT); enum { @@ -451,4 +455,45 @@ public: }; #endif +//--------------------------------------------------------------------------- + +%{ +#include +%} + +enum { + wxQUANTIZE_INCLUDE_WINDOWS_COLOURS, +// wxQUANTIZE_RETURN_8BIT_DATA, + wxQUANTIZE_FILL_DESTINATION_IMAGE +}; + + +DocStr(wxQuantize, + "Performs quantization, or colour reduction, on a wxImage.", ""); + +class wxQuantize /*: public wxObject */ +{ +public: + + %extend { + DocStr( + Quantize, + "Reduce the colours in the source image and put the result into the +destination image, setting the palette in the destination if +needed. Both images may be the same, to overwrite the source image.", " +:todo: Create a version that returns the wx.Palette used."); + + static bool Quantize(const wxImage& src, wxImage& dest, int desiredNoColours = 236, + int flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|wxQUANTIZE_FILL_DESTINATION_IMAGE) + { + return wxQuantize::Quantize(src, dest, + //NULL, // palette + desiredNoColours, + NULL, // eightBitData + flags); + } + } +}; + + //---------------------------------------------------------------------------