git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30901
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
13 files changed:
\helpref{wxPalette::wxPalette}{wxpalettector}
\helpref{wxPalette::wxPalette}{wxpalettector}
+\membersection{wxPalette::GetColoursCount}\label{wxpalettegetcolourscount}
+
+\constfunc{int}{GetColoursCount}{\void}
+
+Returns number of entries in palette.
+
\membersection{wxPalette::GetPixel}\label{wxpalettegetpixel}
\constfunc{int}{GetPixel}{\param{const unsigned char }{red}, \param{const unsigned char }{green},\rtfsp
\membersection{wxPalette::GetPixel}\label{wxpalettegetpixel}
\constfunc{int}{GetPixel}{\param{const unsigned char }{red}, \param{const unsigned char }{green},\rtfsp
// wxPalette
//-----------------------------------------------------------------------------
// wxPalette
//-----------------------------------------------------------------------------
-class wxPalette: public wxGDIObject
+class wxPalette: public wxPaletteBase
{
DECLARE_DYNAMIC_CLASS(wxPalette)
{
DECLARE_DYNAMIC_CLASS(wxPalette)
wxPalette& operator = ( const wxPalette& palette );
bool operator == ( const wxPalette& palette );
bool operator != ( const wxPalette& palette );
wxPalette& operator = ( const wxPalette& palette );
bool operator == ( const wxPalette& palette );
bool operator != ( const wxPalette& palette );
+ virtual bool Ok() const;
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 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;
-#define wxColorMap wxPalette
-#define wxColourMap wxPalette
-
#endif // __WX_PALETTEG_H__
#endif // __WX_PALETTEG_H__
class WXDLLEXPORT wxPaletteRefData: public wxGDIRefData
{
DECLARE_NO_COPY_CLASS(wxPaletteRefData)
class WXDLLEXPORT wxPaletteRefData: public wxGDIRefData
{
DECLARE_NO_COPY_CLASS(wxPaletteRefData)
friend class WXDLLEXPORT wxPalette;
public:
wxPaletteRefData();
friend class WXDLLEXPORT wxPalette;
public:
wxPaletteRefData();
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
-class WXDLLEXPORT wxPalette: public wxGDIObject
+class WXDLLEXPORT wxPalette: public wxPaletteBase
{
DECLARE_DYNAMIC_CLASS(wxPalette)
public:
wxPalette();
wxPalette(const wxPalette& palette)
{
DECLARE_DYNAMIC_CLASS(wxPalette)
public:
wxPalette();
wxPalette(const wxPalette& palette)
{ Ref(palette); }
wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
{ Ref(palette); }
wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
class WXDLLEXPORT wxPaletteRefData: public wxGDIRefData
{
DECLARE_NO_COPY_CLASS(wxPaletteRefData)
class WXDLLEXPORT wxPaletteRefData: public wxGDIRefData
{
DECLARE_NO_COPY_CLASS(wxPaletteRefData)
friend class WXDLLEXPORT wxPalette;
public:
wxPaletteRefData();
friend class WXDLLEXPORT wxPalette;
public:
wxPaletteRefData();
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
-class WXDLLEXPORT wxPalette: public wxGDIObject
+class WXDLLEXPORT wxPalette: public wxPaletteBase
{
DECLARE_DYNAMIC_CLASS(wxPalette)
public:
wxPalette();
wxPalette(const wxPalette& palette)
{
DECLARE_DYNAMIC_CLASS(wxPalette)
public:
wxPalette();
wxPalette(const wxPalette& palette)
{ Ref(palette); }
wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
{ Ref(palette); }
wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
// wxPalette
//-----------------------------------------------------------------------------
// wxPalette
//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxPalette: public wxGDIObject
+class WXDLLEXPORT wxPalette: public wxPaletteBase
{
DECLARE_DYNAMIC_CLASS(wxPalette)
{
DECLARE_DYNAMIC_CLASS(wxPalette)
wxPalette& operator = (const wxPalette& palette);
bool operator == (const wxPalette& palette) const;
bool operator != (const wxPalette& palette) const;
wxPalette& operator = (const wxPalette& palette);
bool operator == (const wxPalette& palette) const;
bool operator != (const wxPalette& palette) const;
+ virtual bool Ok() const;
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;
// implementation
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;
// implementation
- int GetColoursCount() const;
- // FIXME_MGL -- make this method standard part of wx API
- // FIXME_MGL -- create wxXXXBase classes for all GDI stuff (Vadim wants that)
-
+ virtual int GetColoursCount() const;
+
palette_t *GetMGLpalette_t() const;
};
palette_t *GetMGLpalette_t() const;
};
-#define wxColorMap wxPalette
-#define wxColourMap wxPalette
-
#endif // __WX_PALETTE_H__
#endif // __WX_PALETTE_H__
class wxXPalette : public wxObject
{
DECLARE_DYNAMIC_CLASS(wxXPalette)
class wxXPalette : public wxObject
{
DECLARE_DYNAMIC_CLASS(wxXPalette)
WXDisplay* m_display;
int m_pix_array_n;
unsigned long* m_pix_array;
WXDisplay* m_display;
int m_pix_array_n;
unsigned long* m_pix_array;
public:
wxPaletteRefData();
~wxPaletteRefData();
public:
wxPaletteRefData();
~wxPaletteRefData();
protected:
wxList m_palettes;
};
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
protected:
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();
wxPalette(const wxPalette& palette) { Ref(palette); }
public:
wxPalette();
wxPalette(const wxPalette& 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(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;
virtual bool Ok() const { return (m_refData != NULL) ; }
virtual bool Ok() const { return (m_refData != NULL) ; }
wxPalette& operator = (const wxPalette& palette) { if (*this == palette) return (*this); Ref(palette); return *this; }
bool operator == (const wxPalette& palette) const { return m_refData == palette.m_refData; }
bool operator != (const wxPalette& palette) const { return m_refData != palette.m_refData; }
wxPalette& operator = (const wxPalette& palette) { if (*this == palette) return (*this); Ref(palette); return *this; }
bool operator == (const wxPalette& palette) const { return m_refData == palette.m_refData; }
bool operator != (const wxPalette& palette) const { return m_refData != palette.m_refData; }
// Motif-specific
WXColormap GetXColormap(WXDisplay* display = NULL) const;
bool TransferBitmap(void *data, int depth, int size);
// Motif-specific
WXColormap GetXColormap(WXDisplay* display = NULL) const;
bool TransferBitmap(void *data, int depth, int size);
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
-class WXDLLEXPORT wxPalette: public wxGDIObject
+class WXDLLEXPORT wxPalette: public wxPaletteBase
{
DECLARE_DYNAMIC_CLASS(wxPalette)
public:
wxPalette(void);
{
DECLARE_DYNAMIC_CLASS(wxPalette)
public:
wxPalette(void);
- inline wxPalette(const wxPalette& palette) : wxGDIObject(palette) { Ref(palette); }
+ inline wxPalette(const wxPalette& palette) : wxPaletteBase(palette) { Ref(palette); }
wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
~wxPalette(void);
wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
~wxPalette(void);
void SetHPALETTE(WXHPALETTE pal);
};
void SetHPALETTE(WXHPALETTE pal);
};
-#define wxColorMap wxPalette
-#define wxColourMap wxPalette
-
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
-class WXDLLEXPORT wxPalette: public wxGDIObject
+class WXDLLEXPORT wxPalette: public wxPaletteBase
{
DECLARE_DYNAMIC_CLASS(wxPalette)
{
DECLARE_DYNAMIC_CLASS(wxPalette)
inline bool operator != (const wxPalette& rPalette) const
{ return m_refData != rPalette.m_refData; }
inline bool operator != (const wxPalette& rPalette) const
{ return m_refData != rPalette.m_refData; }
- virtual bool FreeResource(bool bForce = FALSE);
+ virtual bool FreeResource(bool bForce = false);
inline WXHPALETTE GetHPALETTE(void) const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
void SetHPALETTE(WXHPALETTE hPalette);
void SetPS(HPS hPS);
}; // end of CLASS wxPalette
inline WXHPALETTE GetHPALETTE(void) const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
void SetHPALETTE(WXHPALETTE hPalette);
void SetPS(HPS hPS);
}; // end of CLASS wxPalette
-#define wxColorMap wxPalette
-#define wxColourMap wxPalette
-
#ifndef _WX_PALETTE_H_BASE_
#define _WX_PALETTE_H_BASE_
#ifndef _WX_PALETTE_H_BASE_
#define _WX_PALETTE_H_BASE_
-// include it to get wxUSE_PALETTE value
-#include "wx/setup.h"
+#include "wx/object.h"
+#include "wx/gdiobj.h"
+
+// wxBrushBase
+class WXDLLEXPORT wxPaletteBase: public wxGDIObject
+{
+public:
+ virtual ~wxPaletteBase() { }
+
+ virtual bool Ok() const = 0;
+ virtual int GetColoursCount() const { wxFAIL_MSG( _T("not implemented") ); return 0; };
+};
+
+#if defined(__PALMOS__)
+ #include "wx/palmos/palette.h"
+#elif defined(__WXMSW__)
#include "wx/msw/palette.h"
#elif defined(__WXMOTIF__)
#include "wx/motif/palette.h"
#include "wx/msw/palette.h"
#elif defined(__WXMOTIF__)
#include "wx/motif/palette.h"
#include "wx/os2/palette.h"
#endif
#include "wx/os2/palette.h"
#endif
+#if WXWIN_COMPATIBILITY_2_4
+ #define wxColorMap wxPalette
+ #define wxColourMap wxPalette
+#endif
+
#endif // wxUSE_PALETTE
#endif
#endif // wxUSE_PALETTE
#endif
// Author: William Osborne
// Modified by:
// Created: 10/13/04
// Author: William Osborne
// Modified by:
// Created: 10/13/04
// Copyright: (c) William Osborne
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// Copyright: (c) William Osborne
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
-class WXDLLEXPORT wxPalette: public wxGDIObject
+class WXDLLEXPORT wxPalette: public wxPaletteBase
{
DECLARE_DYNAMIC_CLASS(wxPalette)
{
DECLARE_DYNAMIC_CLASS(wxPalette)
inline bool operator == (const wxPalette& palette) const { return m_refData == palette.m_refData; }
inline bool operator != (const wxPalette& palette) const { return m_refData != palette.m_refData; }
inline bool operator == (const wxPalette& palette) const { return m_refData == palette.m_refData; }
inline bool operator != (const wxPalette& palette) const { return m_refData != palette.m_refData; }
- virtual bool FreeResource(bool force = FALSE);
+ virtual bool FreeResource(bool force = false);
inline WXHPALETTE GetHPALETTE(void) const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
void SetHPALETTE(WXHPALETTE pal);
};
inline WXHPALETTE GetHPALETTE(void) const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
void SetHPALETTE(WXHPALETTE pal);
};
-#define wxColorMap wxPalette
-#define wxColourMap wxPalette
-
class wxXPalette : public wxObject
{
DECLARE_DYNAMIC_CLASS(wxXPalette)
class wxXPalette : public wxObject
{
DECLARE_DYNAMIC_CLASS(wxXPalette)
WXDisplay* m_display;
int m_pix_array_n;
unsigned long* m_pix_array;
WXDisplay* m_display;
int m_pix_array_n;
unsigned long* m_pix_array;
public:
wxPaletteRefData();
~wxPaletteRefData();
public:
wxPaletteRefData();
~wxPaletteRefData();
protected:
wxList m_palettes;
};
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
protected:
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();
wxPalette(const wxPalette& palette) { Ref(palette); }
public:
wxPalette();
wxPalette(const wxPalette& 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(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;
virtual bool Ok() const { return (m_refData != NULL) ; }
virtual bool Ok() const { return (m_refData != NULL) ; }
wxPalette& operator = (const wxPalette& palette) { if (*this == palette) return (*this); Ref(palette); return *this; }
bool operator == (const wxPalette& palette) const { return m_refData == palette.m_refData; }
bool operator != (const wxPalette& palette) const { return m_refData != palette.m_refData; }
wxPalette& operator = (const wxPalette& palette) { if (*this == palette) return (*this); Ref(palette); return *this; }
bool operator == (const wxPalette& palette) const { return m_refData == palette.m_refData; }
bool operator != (const wxPalette& palette) const { return m_refData != palette.m_refData; }
// X-specific
WXColormap GetXColormap(WXDisplay* display = NULL) const;
bool TransferBitmap(void *data, int depth, int size);
// X-specific
WXColormap GetXColormap(WXDisplay* display = NULL) const;
bool TransferBitmap(void *data, int depth, int size);
wxWidgets, notably wxPalette::Create(). The way I did it is to
allocate additional read-only color cells in the default colormap. In
general you will get arbitrary pixel values assigned to these new
wxWidgets, notably wxPalette::Create(). The way I did it is to
allocate additional read-only color cells in the default colormap. In
general you will get arbitrary pixel values assigned to these new
-cells and therefore I added a method wxColourMap::TransferBitmap()
+cells and therefore I added a method wxPalette::TransferBitmap()
which maps the pixel values 0..n to the real ones obtained with
Create(). This is only implemented for the popular case of 8-bit
depth.
which maps the pixel values 0..n to the real ones obtained with
Create(). This is only implemented for the popular case of 8-bit
depth.
m_pix_array_n = 0;
m_pix_array = (unsigned long*) 0;
m_display = (WXDisplay*) 0;
m_pix_array_n = 0;
m_pix_array = (unsigned long*) 0;
m_display = (WXDisplay*) 0;
}
wxPaletteRefData::wxPaletteRefData()
}
wxPaletteRefData::wxPaletteRefData()
}
m_refData = new wxPaletteRefData;
}
m_refData = new wxPaletteRefData;
pix_array = new unsigned long[n];
if (!pix_array)
pix_array = new unsigned long[n];
if (!pix_array)
pix_array_n = n;
xcol.flags = DoRed | DoGreen | DoBlue;
pix_array_n = n;
xcol.flags = DoRed | DoGreen | DoBlue;
c->m_pix_array = pix_array;
c->m_cmap = (WXColormap) cmap;
c->m_display = (WXDisplay*) display;
c->m_pix_array = pix_array;
c->m_cmap = (WXColormap) cmap;
c->m_display = (WXDisplay*) display;
- c->m_destroyable = FALSE;
+ c->m_destroyable = false;
M_PALETTEDATA->m_palettes.Append(c);
M_PALETTEDATA->m_palettes.Append(c);
}
int wxPalette::GetPixel(const unsigned char red, const unsigned char green, const unsigned char blue) const
}
int wxPalette::GetPixel(const unsigned char red, const unsigned char green, const unsigned char blue) const
bool wxPalette::GetRGB(int index, unsigned char *WXUNUSED(red), unsigned char *WXUNUSED(green), unsigned char *WXUNUSED(blue)) const
{
if ( !m_refData )
bool wxPalette::GetRGB(int index, unsigned char *WXUNUSED(red), unsigned char *WXUNUSED(green), unsigned char *WXUNUSED(blue)) const
{
if ( !m_refData )
if (index < 0 || index > 255)
if (index < 0 || index > 255)
}
WXColormap wxPalette::GetXColormap(WXDisplay* display) const
}
WXColormap wxPalette::GetXColormap(WXDisplay* display) const
c->m_pix_array = new unsigned long[pix_array_n];
c->m_display = display;
c->m_cmap = wxTheApp->GetMainColormap(display);
c->m_pix_array = new unsigned long[pix_array_n];
c->m_display = display;
c->m_cmap = wxTheApp->GetMainColormap(display);
- c->m_destroyable = FALSE;
+ c->m_destroyable = false;
xcol.flags = DoRed | DoGreen | DoBlue;
int i;
xcol.flags = DoRed | DoGreen | DoBlue;
int i;
}
unsigned long *wxPalette::GetXPixArray(WXDisplay *display, int *n)
}
unsigned long *wxPalette::GetXPixArray(WXDisplay *display, int *n)
wxWidgets, notably wxPalette::Create(). The way I did it is to
allocate additional read-only color cells in the default colormap. In
general you will get arbitrary pixel values assigned to these new
wxWidgets, notably wxPalette::Create(). The way I did it is to
allocate additional read-only color cells in the default colormap. In
general you will get arbitrary pixel values assigned to these new
-cells and therefore I added a method wxColourMap::TransferBitmap()
+cells and therefore I added a method wxPalette::TransferBitmap()
which maps the pixel values 0..n to the real ones obtained with
Create(). This is only implemented for the popular case of 8-bit
depth.
which maps the pixel values 0..n to the real ones obtained with
Create(). This is only implemented for the popular case of 8-bit
depth.
m_pix_array_n = 0;
m_pix_array = (unsigned long*) 0;
m_display = (WXDisplay*) 0;
m_pix_array_n = 0;
m_pix_array = (unsigned long*) 0;
m_display = (WXDisplay*) 0;
}
wxPaletteRefData::wxPaletteRefData()
}
wxPaletteRefData::wxPaletteRefData()
#endif
delete [] pix_array;
}
#endif
delete [] pix_array;
}
if (destroyable)
XFreeColormap(display, cmap);
if (destroyable)
XFreeColormap(display, cmap);
}
m_refData = new wxPaletteRefData;
}
m_refData = new wxPaletteRefData;
pix_array = new unsigned long[n];
if (!pix_array)
pix_array = new unsigned long[n];
if (!pix_array)
pix_array_n = n;
xcol.flags = DoRed | DoGreen | DoBlue;
pix_array_n = n;
xcol.flags = DoRed | DoGreen | DoBlue;
c->m_pix_array = pix_array;
c->m_cmap = (WXColormap) cmap;
c->m_display = (WXDisplay*) display;
c->m_pix_array = pix_array;
c->m_cmap = (WXColormap) cmap;
c->m_display = (WXDisplay*) display;
- c->m_destroyable = FALSE;
+ c->m_destroyable = false;
M_PALETTEDATA->m_palettes.Append(c);
M_PALETTEDATA->m_palettes.Append(c);
}
int wxPalette::GetPixel(const unsigned char red, const unsigned char green, const unsigned char blue) const
}
int wxPalette::GetPixel(const unsigned char red, const unsigned char green, const unsigned char blue) const
bool wxPalette::GetRGB(int index, unsigned char *WXUNUSED(red), unsigned char *WXUNUSED(green), unsigned char *WXUNUSED(blue)) const
{
if ( !m_refData )
bool wxPalette::GetRGB(int index, unsigned char *WXUNUSED(red), unsigned char *WXUNUSED(green), unsigned char *WXUNUSED(blue)) const
{
if ( !m_refData )
if (index < 0 || index > 255)
if (index < 0 || index > 255)
}
WXColormap wxPalette::GetXColormap(WXDisplay* display) const
}
WXColormap wxPalette::GetXColormap(WXDisplay* display) const
c->m_pix_array = new unsigned long[pix_array_n];
c->m_display = display;
c->m_cmap = wxTheApp->GetMainColormap(display);
c->m_pix_array = new unsigned long[pix_array_n];
c->m_display = display;
c->m_cmap = wxTheApp->GetMainColormap(display);
- c->m_destroyable = FALSE;
+ c->m_destroyable = false;
xcol.flags = DoRed | DoGreen | DoBlue;
int i;
xcol.flags = DoRed | DoGreen | DoBlue;
int i;
}
unsigned long *wxPalette::GetXPixArray(WXDisplay *display, int *n)
}
unsigned long *wxPalette::GetXPixArray(WXDisplay *display, int *n)