X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/16c1f7f345e1850f590cfbf67c3b00fbb6d2e62e..b3daa5a32277ef8f31390f7a178ea14735b3f069:/include/wx/motif/palette.h diff --git a/include/wx/motif/palette.h b/include/wx/motif/palette.h index 4bc644cb7f..b40831a894 100644 --- a/include/wx/motif/palette.h +++ b/include/wx/motif/palette.h @@ -6,7 +6,7 @@ // Created: 17/09/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_PALETTE_H_ @@ -17,9 +17,25 @@ #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,7 +44,7 @@ public: ~wxPaletteRefData(); protected: - WXColormap m_colormap; + wxList m_palettes; }; #define M_PALETTEDATA ((wxPaletteRefData *)m_refData) @@ -39,8 +55,7 @@ class WXDLLEXPORT wxPalette: public wxGDIObject public: wxPalette(); - inline wxPalette(const wxPalette& palette) { Ref(palette); } - inline wxPalette(const wxPalette* palette) { UnRef(); if (palette) Ref(*palette); } + wxPalette(const wxPalette& palette) { Ref(palette); } wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue); ~wxPalette(); @@ -50,11 +65,16 @@ public: 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