--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// Name: quantize.h
+// Purpose: interface of wxQuantize
+// Author: wxWidgets team
+// RCS-ID: $Id$
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+ @class wxQuantize
+ @wxheader{quantize.h}
+
+ Performs quantization, or colour reduction, on a wxImage.
+
+ Functions in this class are static and so a wxQuantize object need not be
+ created.
+
+ @library{wxcore}
+ @category{misc}
+*/
+class wxQuantize : public wxObject
+{
+public:
+ /**
+ Constructor. You do not need to construct a wxQuantize object since its
+ functions are static.
+ */
+ wxQuantize();
+
+ /**
+ Converts input bitmap(s) into 8bit representation with custom palette.
+ @a in_rows and @a out_rows are arrays [0..h-1] of pointer to rows
+ (@a in_rows contains @a w * 3 bytes per row, @a out_rows @a w bytes per row).
+ Fills @a out_rows with indexes into palette (which is also stored into @a palette
+ variable).
+ */
+ void DoQuantize(unsigned w, unsigned h, unsigned char** in_rows,
+ unsigned char** out_rows, unsigned char* palette,
+ int desiredNoColours);
+
+ /**
+ Reduce the colours in the source image and put the result into the destination image.
+ Both images may be the same, to overwrite the source image.
+
+ Specify an optional palette pointer to receive the resulting palette.
+ This palette may be passed to ConvertImageToBitmap, for example.
+ */
+ bool Quantize(const wxImage& src, wxImage& dest,
+ wxPalette** pPalette, int desiredNoColours = 236,
+ unsigned char** eightBitData = 0,
+ int flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS
+ |wxQUANTIZE_FILL_DESTINATION_IMAGE
+ |wxQUANTIZE_RETURN_8BIT_DATA);
+
+ /**
+ This version sets a palette in the destination image so you don't
+ have to manage it yourself.
+ */
+ bool Quantize(const wxImage& src, wxImage& dest,
+ int desiredNoColours = 236,
+ unsigned char** eightBitData = 0,
+ int flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS
+ |wxQUANTIZE_FILL_DESTINATION_IMAGE
+ |wxQUANTIZE_RETURN_8BIT_DATA);
+};
+