X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/55ccdb93e4ae4b606a4068cb37492c1ec3ed77a6..b736d59eb531794e6b1cef2b4997c517569ff0dd:/src/generic/paletteg.cpp?ds=sidebyside diff --git a/src/generic/paletteg.cpp b/src/generic/paletteg.cpp index ac8cd8a83b..746f3cedc3 100644 --- a/src/generic/paletteg.cpp +++ b/src/generic/paletteg.cpp @@ -3,7 +3,6 @@ // Purpose: // Author: Robert Roebling // Created: 01/02/97 -// RCS-ID: $Id$ // Copyright: (c) 1998 Robert Roebling and Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -28,12 +27,12 @@ struct wxPaletteEntry unsigned char red, green, blue; }; -class wxPaletteRefData: public wxObjectRefData +class wxPaletteRefData : public wxGDIRefData { - public: - - wxPaletteRefData(void); - virtual ~wxPaletteRefData(void); +public: + wxPaletteRefData(); + wxPaletteRefData(const wxPaletteRefData& palette); + virtual ~wxPaletteRefData(); int m_count; wxPaletteEntry *m_entries; @@ -45,6 +44,14 @@ wxPaletteRefData::wxPaletteRefData() m_entries = NULL; } +wxPaletteRefData::wxPaletteRefData(const wxPaletteRefData& palette) +{ + m_count = palette.m_count; + m_entries = new wxPaletteEntry[m_count]; + for ( int i = 0; i < m_count; i++ ) + m_entries[i] = palette.m_entries[i]; +} + wxPaletteRefData::~wxPaletteRefData() { delete[] m_entries; @@ -70,17 +77,12 @@ wxPalette::~wxPalette() { } -bool wxPalette::IsOk() const -{ - return (m_refData != NULL); -} - int wxPalette::GetColoursCount() const { if (m_refData) return M_PALETTEDATA->m_count; - - return 0; + + return 0; } bool wxPalette::Create(int n, @@ -142,4 +144,14 @@ bool wxPalette::GetRGB(int pixel, return true; } +wxGDIRefData *wxPalette::CreateGDIRefData() const +{ + return new wxPaletteRefData; +} + +wxGDIRefData *wxPalette::CloneGDIRefData(const wxGDIRefData *data) const +{ + return new wxPaletteRefData(*static_cast(data)); +} + #endif // wxUSE_PALETTE