Added wxQuantize

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 2004-08-02 21:56:06 +00:00
parent 44420d2e50
commit be43ef045a
3 changed files with 54 additions and 5 deletions

View File

@ -508,6 +508,9 @@
%rename(PNMHandler) wxPNMHandler;
%rename(XPMHandler) wxXPMHandler;
%rename(TIFFHandler) wxTIFFHandler;
%rename(QUANTIZE_INCLUDE_WINDOWS_COLOURS) wxQUANTIZE_INCLUDE_WINDOWS_COLOURS;
%rename(QUANTIZE_FILL_DESTINATION_IMAGE) wxQUANTIZE_FILL_DESTINATION_IMAGE;
%rename(Quantize) wxQuantize;
%rename(EvtHandler) wxEvtHandler;
%rename(EVENT_PROPAGATE_NONE) wxEVENT_PROPAGATE_NONE;
%rename(EVENT_PROPAGATE_MAX) wxEVENT_PROPAGATE_MAX;

View File

@ -89,13 +89,13 @@ public:
return new wxImage(width, height, clear);
else
return new wxImage;
}
}
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);
@ -107,7 +107,7 @@ public:
return new wxImage(width, height, copy, False);
}
}
void Create( int width, int height );
void Destroy();
@ -315,7 +315,7 @@ success flag and rgb values.", "");
MustHaveApp(ConvertToBitmap);
MustHaveApp(ConvertToMonoBitmap);
%extend {
wxBitmap ConvertToBitmap() {
wxBitmap bitmap(*self);
@ -361,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
{
@ -455,4 +455,45 @@ public:
};
#endif
//---------------------------------------------------------------------------
%{
#include <wx/quantize.h>
%}
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 detination 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);
}
}
};
//---------------------------------------------------------------------------

View File

@ -693,6 +693,11 @@ wxXPMHandler = wx._core.XPMHandler
wxXPMHandlerPtr = wx._core.XPMHandlerPtr
wxTIFFHandler = wx._core.TIFFHandler
wxTIFFHandlerPtr = wx._core.TIFFHandlerPtr
wxQUANTIZE_INCLUDE_WINDOWS_COLOURS = wx._core.QUANTIZE_INCLUDE_WINDOWS_COLOURS
wxQUANTIZE_FILL_DESTINATION_IMAGE = wx._core.QUANTIZE_FILL_DESTINATION_IMAGE
wxQuantize = wx._core.Quantize
wxQuantizePtr = wx._core.QuantizePtr
wxQuantize_Quantize = wx._core.Quantize_Quantize
wxEvtHandler = wx._core.EvtHandler
wxEvtHandlerPtr = wx._core.EvtHandlerPtr
wxEVENT_PROPAGATE_NONE = wx._core.EVENT_PROPAGATE_NONE