mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 05:47:56 -07:00
d14efe561b
long become wxWidgets 2.9.2, which in turn is expected to be the last 2.9 release before the 3.0 stable release. Since the full wxWidgets distribution is rather large, I have imported only the parts that we use, on a subdirectory basis: art include/wx/*.* include/wx/aui include/wx/cocoa include/wx/generic include/wx/gtk include/wx/meta include/wx/msw include/wx/osx include/wx/persist include/wx/private include/wx/protocol include/wx/unix src/aui src/common src/generic src/gtk src/msw src/osx src/unix git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7380 8ced0084-cf51-0410-be5f-012b33b47a6e
77 lines
2.7 KiB
C++
77 lines
2.7 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/quantize.h
|
|
// Purpose: wxQuantizer class
|
|
// Author: Julian Smart
|
|
// Modified by:
|
|
// Created: 22/6/2000
|
|
// RCS-ID: $Id: quantize.h 52834 2008-03-26 15:06:00Z FM $
|
|
// Copyright: (c) Julian Smart
|
|
// Licence:
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_QUANTIZE_H_
|
|
#define _WX_QUANTIZE_H_
|
|
|
|
#include "wx/object.h"
|
|
|
|
/*
|
|
* From jquant2.c
|
|
*
|
|
* Copyright (C) 1991-1996, Thomas G. Lane.
|
|
* This file is part of the Independent JPEG Group's software.
|
|
* For conditions of distribution and use, see the accompanying README file.
|
|
*/
|
|
|
|
class WXDLLIMPEXP_FWD_CORE wxImage;
|
|
class WXDLLIMPEXP_FWD_CORE wxPalette;
|
|
|
|
/*
|
|
* wxQuantize
|
|
* Based on the JPEG quantization code. Reduces the number of colours in a wxImage.
|
|
*/
|
|
|
|
#define wxQUANTIZE_INCLUDE_WINDOWS_COLOURS 0x01
|
|
#define wxQUANTIZE_RETURN_8BIT_DATA 0x02
|
|
#define wxQUANTIZE_FILL_DESTINATION_IMAGE 0x04
|
|
|
|
class WXDLLIMPEXP_CORE wxQuantize: public wxObject
|
|
{
|
|
public:
|
|
DECLARE_DYNAMIC_CLASS(wxQuantize)
|
|
|
|
//// Constructor
|
|
|
|
wxQuantize() {}
|
|
virtual ~wxQuantize() {}
|
|
|
|
//// Operations
|
|
|
|
// Reduce the colours in the source image and put the result into the
|
|
// destination image. Both images may be the same, to overwrite the source image.
|
|
// Specify an optional palette pointer to receive the resulting palette.
|
|
// 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, 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)
|
|
static void DoQuantize(unsigned w, unsigned h, unsigned char **in_rows, unsigned char **out_rows, unsigned char *palette, int desiredNoColours);
|
|
|
|
};
|
|
|
|
#endif
|
|
// _WX_QUANTIZE_H_
|