X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/88ef3a57a47f840adea9d38bc11cb30689a0838a..3201a1046ba71ba8e5ef2ed694fde34d12f743f3:/src/generic/paletteg.cpp diff --git a/src/generic/paletteg.cpp b/src/generic/paletteg.cpp index 24900fc538..760e6039f5 100644 --- a/src/generic/paletteg.cpp +++ b/src/generic/paletteg.cpp @@ -28,12 +28,12 @@ struct wxPaletteEntry unsigned char red, green, blue; }; -class wxPaletteRefData: public wxObjectRefData +class wxPaletteRefData : public wxGDIRefData { - public: - - wxPaletteRefData(void); - ~wxPaletteRefData(void); +public: + wxPaletteRefData(); + wxPaletteRefData(const wxPaletteRefData& palette); + virtual ~wxPaletteRefData(); int m_count; wxPaletteEntry *m_entries; @@ -45,6 +45,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; @@ -66,36 +74,16 @@ wxPalette::wxPalette(int n, const unsigned char *red, const unsigned char *green Create(n, red, green, blue); } -wxPalette::wxPalette(const wxPalette& palette) - : wxPaletteBase() -{ - Ref(palette); -} - wxPalette::~wxPalette() { } -wxPalette& wxPalette::operator = (const wxPalette& palette) -{ - if (*this == palette) return (*this); - Ref(palette); - return *this; -} - -bool wxPalette::operator == (const wxPalette& palette) const -{ - return m_refData == palette.m_refData; -} - -bool wxPalette::operator != (const wxPalette& palette) const -{ - return m_refData != palette.m_refData; -} - -bool wxPalette::Ok(void) const +int wxPalette::GetColoursCount() const { - return (m_refData != NULL); + if (m_refData) + return M_PALETTEDATA->m_count; + + return 0; } bool wxPalette::Create(int n, @@ -157,4 +145,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(*wx_static_cast(const wxPaletteRefData *, data)); +} + #endif // wxUSE_PALETTE