]> git.saurik.com Git - wxWidgets.git/commitdiff
Added wxQuantize
authorRobin Dunn <robin@alldunn.com>
Mon, 2 Aug 2004 21:56:06 +0000 (21:56 +0000)
committerRobin Dunn <robin@alldunn.com>
Mon, 2 Aug 2004 21:56:06 +0000 (21:56 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/src/__core_rename.i
wxPython/src/_image.i
wxPython/wxPython/_core.py

index 242a1e24c80c9af4d8e83209d94a1c0cb1086d5c..a973839120eae96f6e74700deaf103b19592d35a 100644 (file)
 %rename(PNMHandler)                         wxPNMHandler;
 %rename(XPMHandler)                         wxXPMHandler;
 %rename(TIFFHandler)                        wxTIFFHandler;
 %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;
 %rename(EvtHandler)                         wxEvtHandler;
 %rename(EVENT_PROPAGATE_NONE)               wxEVENT_PROPAGATE_NONE;
 %rename(EVENT_PROPAGATE_MAX)                wxEVENT_PROPAGATE_MAX;
index d248f1a0fa470758cde82b47f52f22ad5c6d5aa7..57ab53657f9cdc2b5936696139536fb4ba3fd2b6 100644 (file)
@@ -89,13 +89,13 @@ public:
                 return new wxImage(width, height, clear);
             else
                 return new wxImage;
                 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());
         }
 
         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);
         %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);
         }
     }
             return new wxImage(width, height, copy, False);
         }
     }
-    
+
     void Create( int width, int height );
     void Destroy();
 
     void Create( int width, int height );
     void Destroy();
 
@@ -315,7 +315,7 @@ success flag and rgb values.", "");
 
 MustHaveApp(ConvertToBitmap);
 MustHaveApp(ConvertToMonoBitmap);
 
 MustHaveApp(ConvertToBitmap);
 MustHaveApp(ConvertToMonoBitmap);
-    
+
     %extend {
         wxBitmap ConvertToBitmap() {
             wxBitmap bitmap(*self);
     %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_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
 {
 
 enum
 {
@@ -455,4 +455,45 @@ public:
 };
 #endif
 
 };
 #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);
+        }
+    }
+};
+
+
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
index 54bc94d7015b60489e69f0fa34fdb67924ad1cc0..045b65436cb416b1e8e684608323da93673701e5 100644 (file)
@@ -693,6 +693,11 @@ wxXPMHandler = wx._core.XPMHandler
 wxXPMHandlerPtr = wx._core.XPMHandlerPtr
 wxTIFFHandler = wx._core.TIFFHandler
 wxTIFFHandlerPtr = wx._core.TIFFHandlerPtr
 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
 wxEvtHandler = wx._core.EvtHandler
 wxEvtHandlerPtr = wx._core.EvtHandlerPtr
 wxEVENT_PROPAGATE_NONE = wx._core.EVENT_PROPAGATE_NONE