X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b6dbb09746f8f5ee0549a2ff39ae0ac4c725898..39348a963113e240ab67e8b3534104e3a04ff764:/include/wx/motif/palette.h diff --git a/include/wx/motif/palette.h b/include/wx/motif/palette.h index 6364d677d9..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,19 +17,34 @@ #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; public: wxPaletteRefData(); ~wxPaletteRefData(); -/* TODO: implementation + protected: - WXHPALETTE m_hPalette; -*/ + wxList m_palettes; }; #define M_PALETTEDATA ((wxPaletteRefData *)m_refData) @@ -40,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(); @@ -51,14 +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; } -/* TODO: implementation - inline WXHPALETTE GetHPALETTE() const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); } - void SetHPALETTE(WXHPALETTE pal); -*/ + // 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