X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/16c1f7f345e1850f590cfbf67c3b00fbb6d2e62e..6900d12d6986dc23ab5efb689405ea21d52d41be:/include/wx/motif/palette.h diff --git a/include/wx/motif/palette.h b/include/wx/motif/palette.h index 4bc644cb7f..64403fb7ad 100644 --- a/include/wx/motif/palette.h +++ b/include/wx/motif/palette.h @@ -6,20 +6,36 @@ // Created: 17/09/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_PALETTE_H_ #define _WX_PALETTE_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "palette.h" #endif #include "wx/gdiobj.h" +#include "wx/list.h" class WXDLLEXPORT wxPalette; +// Palette for one display +class wxXPalette : public wxObject +{ + DECLARE_DYNAMIC_CLASS(wxXPalette) + +public: + wxXPalette(); + + WXDisplay* m_display; + int m_pix_array_n; + unsigned long* m_pix_array; + WXColormap m_cmap; + bool m_destroyable; +}; + class WXDLLEXPORT wxPaletteRefData: public wxGDIRefData { friend class WXDLLEXPORT wxPalette; @@ -28,34 +44,38 @@ public: ~wxPaletteRefData(); protected: - WXColormap m_colormap; + wxList m_palettes; }; #define M_PALETTEDATA ((wxPaletteRefData *)m_refData) -class WXDLLEXPORT wxPalette: public wxGDIObject +class WXDLLEXPORT wxPalette: public wxPaletteBase { - DECLARE_DYNAMIC_CLASS(wxPalette) + DECLARE_DYNAMIC_CLASS(wxPalette) public: - wxPalette(); - inline wxPalette(const wxPalette& palette) { Ref(palette); } - inline wxPalette(const wxPalette* palette) { UnRef(); if (palette) Ref(*palette); } + wxPalette(); + wxPalette(const wxPalette& palette) { Ref(palette); } - wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue); - ~wxPalette(); - bool Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue); - int GetPixel(const unsigned char red, const unsigned char green, const 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); + ~wxPalette(); + bool Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue); + int GetPixel(const unsigned char red, const unsigned char green, const 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 wxPalette& operator = (const wxPalette& palette) { if (*this == palette) return (*this); Ref(palette); return *this; } - inline bool operator == (const wxPalette& palette) { return m_refData == palette.m_refData; } - inline bool operator != (const wxPalette& palette) { return m_refData != palette.m_refData; } + wxPalette& operator = (const wxPalette& palette) { if (*this == palette) return (*this); Ref(palette); return *this; } + bool operator == (const wxPalette& palette) const { return m_refData == palette.m_refData; } + bool operator != (const wxPalette& palette) const { return m_refData != palette.m_refData; } - WXColormap GetXColormap() const { return (M_PALETTEDATA->m_colormap); } + // Motif-specific + WXColormap GetXColormap(WXDisplay* display = NULL) const; + bool TransferBitmap(void *data, int depth, int size); + bool TransferBitmap8(unsigned char *data, unsigned long size, void *dest, unsigned int bpp); + unsigned long *GetXPixArray(WXDisplay* display, int *pix_array_n); + void PutXColormap(WXDisplay* display, WXColormap cmap, bool destroyable); }; #endif - // _WX_PALETTE_H_ +// _WX_PALETTE_H_