X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9df51bd066ba401802db0c8dff9688a921d1d9e9..726c8204cd7f5541556291df3d3d03c18cecac7c:/wxPython/src/_image.i?ds=inline diff --git a/wxPython/src/_image.i b/wxPython/src/_image.i index ea462f7134..27f48e9319 100644 --- a/wxPython/src/_image.i +++ b/wxPython/src/_image.i @@ -68,6 +68,37 @@ public: "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.", ""); + + %extend { + DocStr(GetCount, + "Returns the pixel count for the given key. Use `MakeKey` to create a +key value from a RGB tripple.", ""); + unsigned long GetCount(unsigned long key) { + wxImageHistogramEntry e = (*self)[key]; + return e.value; + } + + DocStr(GetCountRGB, + "Returns the pixel count for the given RGB values.", ""); + unsigned long GetCountRGB(unsigned char r, + unsigned char g, + unsigned char b) { + unsigned long key = wxImageHistogram::MakeKey(r, g, b); + wxImageHistogramEntry e = (*self)[key]; + return e.value; + } + + DocStr(GetCountColour, + "Returns the pixel count for the given `wx.Colour` value.", ""); + unsigned long GetCountColour(const wxColour& colour) { + unsigned long key = wxImageHistogram::MakeKey(colour.Red(), + colour.Green(), + colour.Blue()); + wxImageHistogramEntry e = (*self)[key]; + return e.value; + } + } + }; @@ -160,7 +191,16 @@ public: wxImage ShrinkBy( int xFactor , int yFactor ) const ; wxImage& Rescale(int width, int height); + // resizes the image in place + wxImage& Resize( const wxSize& size, const wxPoint& pos, + int r = -1, int g = -1, int b = -1 ); + void SetRGB( int x, int y, unsigned char r, unsigned char g, unsigned char b ); + + %Rename(SetRGBRect, + void, SetRGB( const wxRect& rect, + unsigned char r, unsigned char g, unsigned char b )); + unsigned char GetRed( int x, int y ); unsigned char GetGreen( int x, int y ); unsigned char GetBlue( int x, int y ); @@ -246,6 +286,14 @@ The method will then fill up the whole image with the colour given.", ""); } wxImage GetSubImage(const wxRect& rect); + + // Paste the image or part of this image into an image of the given size at the pos + // any newly exposed areas will be filled with the rgb colour + // by default if r = g = b = -1 then fill with this image's mask colour or find and + // set a suitable mask colour + wxImage Size( const wxSize& size, const wxPoint& pos, + int r = -1, int g = -1, int b = -1 ) const; + wxImage Copy(); void Paste( const wxImage &image, int x, int y ); @@ -289,7 +337,7 @@ The method will then fill up the whole image with the colour given.", ""); unsigned char* buffer; int size; - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); if (!PyArg_Parse(data, "t#", &buffer, &size)) goto done; @@ -343,7 +391,7 @@ The method will then fill up the whole image with the colour given.", ""); unsigned char* buffer; int size; - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); if (!PyArg_Parse(data, "t#", &buffer, &size)) goto done; @@ -358,6 +406,15 @@ The method will then fill up the whole image with the colour given.", ""); } void SetMaskColour( unsigned char r, unsigned char g, unsigned char b ); + + DocDeclAStr( + /*bool*/ void , GetOrFindMaskColour( unsigned char *OUTPUT, + unsigned char *OUTPUT, + unsigned char *OUTPUT ) const, + "GetOrFindMaskColour() -> (r,g,b)", + "Get the current mask colour or find a suitable colour.", ""); + + unsigned char GetMaskRed(); unsigned char GetMaskGreen(); unsigned char GetMaskBlue();