X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/16c1f7f345e1850f590cfbf67c3b00fbb6d2e62e..92b87be5188118209d22ec2f578203877e57e6be:/include/wx/motif/palette.h diff --git a/include/wx/motif/palette.h b/include/wx/motif/palette.h index 4bc644cb7f..18302f09df 100644 --- a/include/wx/motif/palette.h +++ b/include/wx/motif/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) @@ -40,7 +56,6 @@ 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(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue); ~wxPalette(); @@ -54,7 +69,12 @@ public: inline bool operator == (const wxPalette& palette) { return m_refData == palette.m_refData; } inline bool operator != (const wxPalette& palette) { 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