/////////////////////////////////////////////////////////////////////////////
-// Name: palette.cpp
+// Name: src/mgl/palette.cpp
// Author: Vaclav Slavik
// Created: 2001/03/11
// Id: $Id$
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-
-#ifdef __GNUG__
-#pragma implementation "palette.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
{
public:
wxPaletteRefData(void);
- ~wxPaletteRefData(void);
-
+ virtual ~wxPaletteRefData(void);
+
int m_count;
palette_t *m_entries;
};
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
-{
- 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;
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++)
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( IsOk(), 0, wxT("invalid palette") );
return M_PALETTEDATA->m_count;
}
palette_t *wxPalette::GetMGLpalette_t() const
{
- wxCHECK_MSG( Ok(), NULL, wxT("invalid palette") );
+ wxCHECK_MSG( IsOk(), NULL, wxT("invalid palette") );
return M_PALETTEDATA->m_entries;
}
-