X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b6dbb09746f8f5ee0549a2ff39ae0ac4c725898..472eec8a0391538e4dcf7f7c6c4f4d44c8383616:/include/wx/motif/palette.h diff --git a/include/wx/motif/palette.h b/include/wx/motif/palette.h index 6364d677d9..644e066af9 100644 --- a/include/wx/motif/palette.h +++ b/include/wx/motif/palette.h @@ -1,65 +1,73 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: palette.h +// Name: wx/motif/palette.h // Purpose: wxPalette class // Author: Julian Smart // Modified by: // 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__ -#pragma interface "palette.h" -#endif - #include "wx/gdiobj.h" +#include "wx/list.h" + +class WXDLLIMPEXP_FWD_CORE wxPalette; + +// Palette for one display +class wxXPalette : public wxObject +{ + DECLARE_DYNAMIC_CLASS(wxXPalette) -class WXDLLEXPORT wxPalette; +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; + friend class WXDLLIMPEXP_FWD_CORE wxPalette; public: wxPaletteRefData(); - ~wxPaletteRefData(); -/* TODO: implementation + virtual ~wxPaletteRefData(); + protected: - WXHPALETTE m_hPalette; -*/ + 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(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(); - virtual bool Ok() const { return (m_refData != NULL) ; } + 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; - 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; } + virtual bool Ok() const { return IsOk(); } + virtual bool IsOk() const { return (m_refData != NULL) ; } -/* 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 - // _WX_PALETTE_H_ +// _WX_PALETTE_H_