X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8f7b34a878bbcb2f71a0c7694e2a3bec51460218..6403484578149a9ed8d40f38cb21d311b79a33ac:/src/mgl/palette.cpp?ds=sidebyside diff --git a/src/mgl/palette.cpp b/src/mgl/palette.cpp index 0253f5a0ff..48717b498b 100644 --- a/src/mgl/palette.cpp +++ b/src/mgl/palette.cpp @@ -1,17 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: palette.cpp +// Name: src/mgl/palette.cpp // Author: Vaclav Slavik // Created: 2001/03/11 // Id: $Id$ -// Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com) +// Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com) // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - -#ifdef __GNUG__ -#pragma implementation "palette.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -31,8 +26,8 @@ class wxPaletteRefData: public wxObjectRefData { public: wxPaletteRefData(void); - ~wxPaletteRefData(void); - + virtual ~wxPaletteRefData(void); + int m_count; palette_t *m_entries; }; @@ -64,46 +59,24 @@ wxPalette::wxPalette(int n, const unsigned char *red, const unsigned char *green Create(n, red, green, blue); } -wxPalette::wxPalette(const wxPalette& palette) -{ - 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 +bool wxPalette::IsOk(void) const { return (m_refData != NULL); } bool wxPalette::Create(int n, const unsigned char *red, - const unsigned char *green, + const unsigned char *green, const unsigned char *blue) { UnRef(); m_refData = new wxPaletteRefData(); - - M_PALETTEDATA->m_count = n; + + M_PALETTEDATA->m_count = n; M_PALETTEDATA->m_entries = new palette_t[n]; palette_t *e = M_PALETTEDATA->m_entries; @@ -115,17 +88,17 @@ bool wxPalette::Create(int n, e->alpha = 0; } - return TRUE; + return true; } -int wxPalette::GetPixel(const unsigned char red, - const unsigned char green, - const unsigned char blue) const +int wxPalette::GetPixel(unsigned char red, + unsigned char green, + unsigned char blue) const { - if (!m_refData) return FALSE; + if (!m_refData) return wxNOT_FOUND; - int closest = 0; - double d,distance = 1000.0; // max. dist is 256 + int closest = 0; + double d, distance = 1000.0; // max. dist is 256 palette_t *e = M_PALETTEDATA->m_entries; for (int i = 0; i < M_PALETTEDATA->m_count; i++, e++) @@ -137,33 +110,33 @@ int wxPalette::GetPixel(const unsigned char red, closest = i; } } - return closest; + + return closest; } -bool wxPalette::GetRGB(int pixel, +bool wxPalette::GetRGB(int pixel, unsigned char *red, - unsigned char *green, + unsigned char *green, unsigned char *blue) const { - if (!m_refData) return FALSE; - if (pixel >= M_PALETTEDATA->m_count) return FALSE; - + if (!m_refData) return false; + if (pixel >= M_PALETTEDATA->m_count) return false; + palette_t& p = M_PALETTEDATA->m_entries[pixel]; if (red) *red = p.red; if (green) *green = p.green; if (blue) *blue = p.blue; - return TRUE; + return true; } int wxPalette::GetColoursCount() const { - wxCHECK_MSG( Ok(), 0, wxT("invalid palette") ); + wxCHECK_MSG( Ok(), 0, wxT("invalid palette") ); return M_PALETTEDATA->m_count; } palette_t *wxPalette::GetMGLpalette_t() const { - wxCHECK_MSG( Ok(), NULL, wxT("invalid palette") ); + wxCHECK_MSG( Ok(), NULL, wxT("invalid palette") ); return M_PALETTEDATA->m_entries; } -