X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f4fc7967b595ea8257696baff78e1866511223d..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/quantize.h?ds=sidebyside diff --git a/include/wx/quantize.h b/include/wx/quantize.h index dd50cf7102..d323a3504c 100644 --- a/include/wx/quantize.h +++ b/include/wx/quantize.h @@ -1,14 +1,18 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: quantize.h +// Name: wx/quantize.h // Purpose: wxQuantizer class // Author: Julian Smart // Modified by: // Created: 22/6/2000 -// RCS-ID: $Id$ // Copyright: (c) Julian Smart // Licence: ///////////////////////////////////////////////////////////////////////////// +#ifndef _WX_QUANTIZE_H_ +#define _WX_QUANTIZE_H_ + +#include "wx/object.h" + /* * From jquant2.c * @@ -17,14 +21,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 +33,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 +51,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 +73,3 @@ DECLARE_DYNAMIC_CLASS(wxQuantize) #endif // _WX_QUANTIZE_H_ -