\constfunc{const wxPalette\&}{GetPalette}{\void}
Returns the palette associated with the image. Currently the palette is only
-used when converting to wxBitmap under Windows.
-
-Eventually wxImage handlers will set the palette if one exists in the image file.
+used when converting to wxBitmap under Windows. Some of the wxImage handlers
+have been modified to set the palette if one exists in the image file (usually
+256 or less colour images in GIF or PNG format).
\membersection{wxImage::GetRed}\label{wximagegetred}
\section{\class{wxPalette}}\label{wxpalette}
-A palette is a table that maps pixel values to RGB colours. It allows the colours
-of a low-depth bitmap, for example, to be mapped to the available colours in a display.
+A palette is a table that maps pixel values to RGB colours. It allows the
+colours of a low-depth bitmap, for example, to be mapped to the available
+colours in a display. The notion of palettes is becoming more and more
+obsolete nowadays and only the MSW port is still using a native palette.
+All other ports use generic code which is basically just an array of
+colours.
+
+It is likely that in the future the only use for palettes within wxWidgets
+will be for representing colour indeces from images (such as GIF or PNG).
+The image handlers for these formats have been modified to create a palette
+if there is such information in the original image file (usually 256 or less
+colour images). See \helpref{wxImage}{wximage} for more information.
%TODO: topic overview for wxPalette.
\wxheading{Derived from}
class WXDLLEXPORT wxPalette: public wxPaletteBase
{
- DECLARE_DYNAMIC_CLASS(wxPalette)
-
public:
- wxPalette();
+ wxPalette();
- wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
- virtual ~wxPalette();
- bool Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
- int GetPixel(unsigned char red, unsigned char green, unsigned char blue) const;
- bool GetRGB(int pixel, unsigned char *red, unsigned char *green, unsigned char *blue) const;
+ wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
+ virtual ~wxPalette();
+ bool Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
+
+ int GetPixel(unsigned char red, unsigned char green, unsigned char blue) const;
+ bool GetRGB(int pixel, unsigned char *red, unsigned char *green, unsigned char *blue) const;
- virtual bool Ok() const { return (m_refData != NULL) ; }
+ virtual bool Ok() const { return (m_refData != NULL) ; }
- inline bool operator == (const wxPalette& palette) const { return m_refData == palette.m_refData; }
- inline bool operator != (const wxPalette& palette) const { return m_refData != palette.m_refData; }
+ inline bool operator == (const wxPalette& palette) const { return m_refData == palette.m_refData; }
+ inline bool operator != (const wxPalette& palette) const { return m_refData != palette.m_refData; }
-/* TODO: implementation
- inline WXHPALETTE GetHPALETTE() const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
- void SetHPALETTE(WXHPALETTE pal);
-*/
+ virtual int GetColoursCount() const;
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxPalette)
};
#endif