X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f4fc7967b595ea8257696baff78e1866511223d..dd7d379ebc6d8f86faff623e0378c0f12bcc9601:/include/wx/quantize.h diff --git a/include/wx/quantize.h b/include/wx/quantize.h index dd50cf7102..24e3fab0fa 100644 --- a/include/wx/quantize.h +++ b/include/wx/quantize.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: quantize.h +// Name: wx/quantize.h // Purpose: wxQuantizer class // Author: Julian Smart // Modified by: @@ -9,6 +9,11 @@ // Licence: ///////////////////////////////////////////////////////////////////////////// +#ifndef _WX_QUANTIZE_H_ +#define _WX_QUANTIZE_H_ + +#include "wx/object.h" + /* * From jquant2.c * @@ -17,14 +22,8 @@ * For conditions of distribution and use, see the accompanying README file. */ -#ifdef __GNUG__ -#pragma interface "quantize.h" -#endif - -#ifndef _WX_QUANTIZE_H_ -#define _WX_QUANTIZE_H_ - class WXDLLEXPORT wxImage; +class WXDLLEXPORT wxPalette; /* * wxQuantize @@ -42,7 +41,8 @@ DECLARE_DYNAMIC_CLASS(wxQuantize) //// Constructor - wxQuantize() {}; + wxQuantize() {} + ~wxQuantize() {} //// Operations @@ -52,13 +52,19 @@ DECLARE_DYNAMIC_CLASS(wxQuantize) // This palette may be passed to ConvertImageToBitmap, for example. // If you pass a palette pointer, you must free the palette yourself. - static bool Quantize(const wxImage& src, wxImage& dest, wxPalette** pPalette = NULL, int desiredNoColours = 236, + static 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. + + static 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); //// Helpers // Converts input bitmap(s) into 8bit representation with custom palette - + // in_rows and out_rows are arrays [0..h-1] of pointer to rows // (in_rows contains w * 3 bytes per row, out_rows w bytes per row) // fills out_rows with indexes into palette (which is also stored into palette variable) @@ -68,4 +74,3 @@ DECLARE_DYNAMIC_CLASS(wxQuantize) #endif // _WX_QUANTIZE_H_ -