[ 1557935 ] wxPalette::GetColoursCount implementation
I commited the version which MSDN claims to be available since Windows 95. No idea why MFC doesn't use it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -30,17 +30,17 @@ protected:
|
|||||||
|
|
||||||
class WXDLLEXPORT wxPalette: public wxPaletteBase
|
class WXDLLEXPORT wxPalette: public wxPaletteBase
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxPalette)
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
wxPalette(void);
|
wxPalette();
|
||||||
|
|
||||||
wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
|
wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
|
||||||
virtual ~wxPalette(void);
|
virtual ~wxPalette(void);
|
||||||
bool Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
|
bool Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
|
||||||
|
|
||||||
int GetPixel(unsigned char red, unsigned char green, unsigned char blue) const;
|
int GetPixel(unsigned char red, unsigned char green, unsigned char blue) const;
|
||||||
bool GetRGB(int pixel, unsigned char *red, unsigned char *green, unsigned char *blue) const;
|
bool GetRGB(int pixel, unsigned char *red, unsigned char *green, unsigned char *blue) const;
|
||||||
|
|
||||||
|
virtual int GetColoursCount() const;
|
||||||
|
|
||||||
virtual bool Ok(void) const { return (m_refData != NULL) ; }
|
virtual bool Ok(void) const { return (m_refData != NULL) ; }
|
||||||
|
|
||||||
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; }
|
||||||
@@ -48,8 +48,12 @@ public:
|
|||||||
|
|
||||||
virtual bool FreeResource(bool force = false);
|
virtual bool FreeResource(bool force = false);
|
||||||
|
|
||||||
|
// implemetation
|
||||||
inline WXHPALETTE GetHPALETTE(void) const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
|
inline WXHPALETTE GetHPALETTE(void) const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
|
||||||
void SetHPALETTE(WXHPALETTE pal);
|
void SetHPALETTE(WXHPALETTE pal);
|
||||||
|
|
||||||
|
private:
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPalette)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -26,7 +26,7 @@ public:
|
|||||||
virtual ~wxPaletteBase() { }
|
virtual ~wxPaletteBase() { }
|
||||||
|
|
||||||
virtual bool Ok() const = 0;
|
virtual bool Ok() const = 0;
|
||||||
virtual int GetColoursCount() const { wxFAIL_MSG( _T("not implemented") ); return 0; };
|
virtual int GetColoursCount() const { wxFAIL_MSG( _T("not implemented") ); return 0; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(__WXPALMOS__)
|
#if defined(__WXPALMOS__)
|
||||||
|
@@ -43,7 +43,7 @@ wxPaletteRefData::~wxPaletteRefData(void)
|
|||||||
::DeleteObject((HPALETTE) m_hPalette);
|
::DeleteObject((HPALETTE) m_hPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxPalette::wxPalette(void)
|
wxPalette::wxPalette()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,9 +63,20 @@ bool wxPalette::FreeResource(bool WXUNUSED(force))
|
|||||||
{
|
{
|
||||||
DeleteObject((HPALETTE)M_PALETTEDATA->m_hPalette);
|
DeleteObject((HPALETTE)M_PALETTEDATA->m_hPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int wxPalette::GetColoursCount() const
|
||||||
|
{
|
||||||
|
if ( M_PALETTEDATA && M_PALETTEDATA->m_hPalette)
|
||||||
|
{
|
||||||
|
return ::GetPaletteEntries((HPALETTE) M_PALETTEDATA->m_hPalette, 0, 0, NULL );
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
bool wxPalette::Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue)
|
bool wxPalette::Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue)
|
||||||
{
|
{
|
||||||
UnRef();
|
UnRef();
|
||||||
|
Reference in New Issue
Block a user