/[pcsx2_0.9.7]/branch/r3113_0.9.7_beta/3rdparty/wxWidgets/include/wx/quantize.h
ViewVC logotype

Contents of /branch/r3113_0.9.7_beta/3rdparty/wxWidgets/include/wx/quantize.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 32 - (show annotations) (download)
Tue Sep 7 03:29:01 2010 UTC (9 years, 5 months ago) by william
File MIME type: text/plain
File size: 2711 byte(s)
branching from upstream revision (http://pcsx2.googlecode.com/svn/trunk
): r3113 to
https://svn.netsolutions.dnsalias.com/websvn/ps2/pcsx2/pcsx2_0.9.7/branch/r3113_0.9.7_beta
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/quantize.h
3 // Purpose: wxQuantizer class
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 22/6/2000
7 // RCS-ID: $Id: quantize.h 49804 2007-11-10 01:09:42Z VZ $
8 // Copyright: (c) Julian Smart
9 // Licence:
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_QUANTIZE_H_
13 #define _WX_QUANTIZE_H_
14
15 #include "wx/object.h"
16
17 /*
18 * From jquant2.c
19 *
20 * Copyright (C) 1991-1996, Thomas G. Lane.
21 * This file is part of the Independent JPEG Group's software.
22 * For conditions of distribution and use, see the accompanying README file.
23 */
24
25 class WXDLLIMPEXP_FWD_CORE wxImage;
26 class WXDLLIMPEXP_FWD_CORE wxPalette;
27
28 /*
29 * wxQuantize
30 * Based on the JPEG quantization code. Reduces the number of colours in a wxImage.
31 */
32
33 #define wxQUANTIZE_INCLUDE_WINDOWS_COLOURS 0x01
34 #define wxQUANTIZE_RETURN_8BIT_DATA 0x02
35 #define wxQUANTIZE_FILL_DESTINATION_IMAGE 0x04
36
37 class WXDLLEXPORT wxQuantize: public wxObject
38 {
39 public:
40 DECLARE_DYNAMIC_CLASS(wxQuantize)
41
42 //// Constructor
43
44 wxQuantize() {}
45 virtual ~wxQuantize() {}
46
47 //// Operations
48
49 // Reduce the colours in the source image and put the result into the
50 // destination image. Both images may be the same, to overwrite the source image.
51 // Specify an optional palette pointer to receive the resulting palette.
52 // This palette may be passed to ConvertImageToBitmap, for example.
53 // If you pass a palette pointer, you must free the palette yourself.
54
55 static bool Quantize(const wxImage& src, wxImage& dest, wxPalette** pPalette, int desiredNoColours = 236,
56 unsigned char** eightBitData = 0, int flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|wxQUANTIZE_FILL_DESTINATION_IMAGE|wxQUANTIZE_RETURN_8BIT_DATA);
57
58 // This version sets a palette in the destination image so you don't
59 // have to manage it yourself.
60
61 static bool Quantize(const wxImage& src, wxImage& dest, int desiredNoColours = 236,
62 unsigned char** eightBitData = 0, int flags = wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|wxQUANTIZE_FILL_DESTINATION_IMAGE|wxQUANTIZE_RETURN_8BIT_DATA);
63
64 //// Helpers
65
66 // Converts input bitmap(s) into 8bit representation with custom palette
67
68 // in_rows and out_rows are arrays [0..h-1] of pointer to rows
69 // (in_rows contains w * 3 bytes per row, out_rows w bytes per row)
70 // fills out_rows with indexes into palette (which is also stored into palette variable)
71 static void DoQuantize(unsigned w, unsigned h, unsigned char **in_rows, unsigned char **out_rows, unsigned char *palette, int desiredNoColours);
72
73 };
74
75 #endif
76 // _WX_QUANTIZE_H_

  ViewVC Help
Powered by ViewVC 1.1.22