1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/mac/classic/palette.h 3// Purpose: wxPalette class 4// Author: Stefan Csomor 5// Modified by: 6// Created: 1998-01-01 7// RCS-ID: $Id: palette.h 41751 2006-10-08 21:56:55Z VZ $ 8// Copyright: (c) Stefan Csomor 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_PALETTE_H_ 13#define _WX_PALETTE_H_ 14 15#include "wx/colour.h" 16#include "wx/gdiobj.h" 17 18class WXDLLEXPORT wxPalette; 19 20class WXDLLEXPORT wxPaletteRefData: public wxGDIRefData 21{ 22 DECLARE_NO_COPY_CLASS(wxPaletteRefData) 23 24 friend class WXDLLEXPORT wxPalette; 25public: 26 wxPaletteRefData(); 27 virtual ~wxPaletteRefData(); 28protected: 29 wxColour* m_palette; 30 wxInt32 m_count ; 31}; 32 33#define M_PALETTEDATA ((wxPaletteRefData *)m_refData) 34 35class WXDLLEXPORT wxPalette: public wxPaletteBase 36{ 37 DECLARE_DYNAMIC_CLASS(wxPalette) 38 39public: 40 wxPalette(); 41 42 wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue); 43 virtual ~wxPalette(); 44 bool Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue); 45 int GetPixel(unsigned char red, unsigned char green, unsigned char blue) const; 46 bool GetRGB(int pixel, unsigned char *red, unsigned char *green, unsigned char *blue) const; 47 48 virtual bool Ok() const { return IsOk(); } 49 virtual bool IsOk() const { return (m_refData != NULL) ; } 50 51 inline bool operator == (const wxPalette& palette) const { return m_refData == palette.m_refData; } 52 inline bool operator != (const wxPalette& palette) const { return m_refData != palette.m_refData; } 53 54/* TODO: implementation 55 inline WXHPALETTE GetHPALETTE() const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); } 56 void SetHPALETTE(WXHPALETTE pal); 57*/ 58}; 59 60#endif 61 // _WX_PALETTE_H_ 62