X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f4fc7967b595ea8257696baff78e1866511223d..a7689c49fe02c0c065facf736ab28b19f5997b7c:/include/wx/quantize.h diff --git a/include/wx/quantize.h b/include/wx/quantize.h index dd50cf7102..2c01c1d72a 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 WXDLLIMPEXP_FWD_CORE wxImage; +class WXDLLIMPEXP_FWD_CORE wxPalette; /* * wxQuantize @@ -35,14 +34,15 @@ class WXDLLEXPORT wxImage; #define wxQUANTIZE_RETURN_8BIT_DATA 0x02 #define wxQUANTIZE_FILL_DESTINATION_IMAGE 0x04 -class WXDLLEXPORT wxQuantize: public wxObject +class WXDLLIMPEXP_CORE wxQuantize: public wxObject { public: DECLARE_DYNAMIC_CLASS(wxQuantize) //// Constructor - wxQuantize() {}; + wxQuantize() {} + virtual ~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_ -