]> git.saurik.com Git - wxWidgets.git/blame - interface/quantize.h
added convenient wxON_BLOCK_EXIT_THISn() macros wrapping wxON_BLOCK_EXIT_OBJn(*this)
[wxWidgets.git] / interface / quantize.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: quantize.h
e54c96f1 3// Purpose: interface of wxQuantize
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
6// Licence: wxWindows license
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxQuantize
11 @wxheader{quantize.h}
7c913512 12
23324ae1 13 Performs quantization, or colour reduction, on a wxImage.
7c913512 14
23324ae1
FM
15 Functions in this class are static and so a wxQuantize object need not be
16 created.
7c913512 17
23324ae1
FM
18 @library{wxcore}
19 @category{misc}
20*/
21class wxQuantize : public wxObject
22{
23public:
24 /**
25 Constructor. You do not need to construct a wxQuantize object since its
26 functions are static.
27 */
28 wxQuantize();
29
30 /**
31 Converts input bitmap(s) into 8bit representation with custom palette.
23324ae1
FM
32 in_rows and out_rows are arrays [0..h-1] of pointer to rows
33 (in_rows contains w * 3 bytes per row, out_rows w bytes per row).
23324ae1
FM
34 Fills out_rows with indexes into palette (which is also stored into palette
35 variable).
36 */
37 void DoQuantize(unsigned w, unsigned h, unsigned char** in_rows,
38 unsigned char** out_rows,
39 unsigned char* palette,
40 int desiredNoColours);
41
42 //@{
43 /**
44 This version sets a palette in the destination image so you don't
45 have to manage it yourself.
46 */
47 bool Quantize(const wxImage& src, wxImage& dest,
48 wxPalette** pPalette,
49 int desiredNoColours = 236,
50 unsigned char** eightBitData = 0,
51 int flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|wxQUANTIZE_FILL_DESTINATION_IMAGE|wxQUANTIZE_RETURN_8BIT_DATA);
7c913512
FM
52 bool Quantize(const wxImage& src, wxImage& dest,
53 int desiredNoColours = 236,
54 unsigned char** eightBitData = 0,
55 int flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|wxQUANTIZE_FILL_DESTINATION_IMAGE|wxQUANTIZE_RETURN_8BIT_DATA);
23324ae1
FM
56 //@}
57};
e54c96f1 58