%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;
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);
return new wxImage(width, height, copy, False);
}
}
-
+
void Create( int width, int height );
void Destroy();
MustHaveApp(ConvertToBitmap);
MustHaveApp(ConvertToMonoBitmap);
-
+
%extend {
wxBitmap ConvertToBitmap() {
wxBitmap bitmap(*self);
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
{
};
#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);
+ }
+ }
+};
+
+
//---------------------------------------------------------------------------
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