/////////////////////////////////////////////////////////////////////////////
-// 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
*
* 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
#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
// 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)
#endif
// _WX_QUANTIZE_H_
-