adding alpha to wxColour
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -20,11 +20,11 @@
|
|||||||
// this macro avoids to repeat these lines across all colour.h files, since
|
// this macro avoids to repeat these lines across all colour.h files, since
|
||||||
// Set() is a virtual function and thus cannot be called by wxColourBase
|
// Set() is a virtual function and thus cannot be called by wxColourBase
|
||||||
// constructors
|
// constructors
|
||||||
#define DEFINE_STD_WXCOLOUR_CONSTRUCTORS \
|
#define DEFINE_STD_WXCOLOUR_CONSTRUCTORS \
|
||||||
wxColour( unsigned char red, unsigned char green, unsigned char blue ) \
|
wxColour( unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha = 255 ) \
|
||||||
{ Set(red, green, blue); } \
|
{ Set(red, green, blue, alpha); } \
|
||||||
wxColour( unsigned long colRGB ) { Set(colRGB); } \
|
wxColour( unsigned long colRGB ) { Set(colRGB); } \
|
||||||
wxColour(const wxString &colourName) { Set(colourName); } \
|
wxColour(const wxString &colourName) { Set(colourName); } \
|
||||||
wxColour(const wxChar *colourName) { Set(colourName); }
|
wxColour(const wxChar *colourName) { Set(colourName); }
|
||||||
|
|
||||||
|
|
||||||
@@ -47,6 +47,13 @@ class WXDLLEXPORT wxColourBase : public wxGDIObject
|
|||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual void InitWith(unsigned char red, unsigned char green, unsigned char blue) = 0;
|
virtual void InitWith(unsigned char red, unsigned char green, unsigned char blue) = 0;
|
||||||
|
|
||||||
|
// this will be overridden in alpha supporting classes
|
||||||
|
virtual void InitWith(unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha)
|
||||||
|
{
|
||||||
|
InitWith( red, green, blue ) ;
|
||||||
|
}
|
||||||
|
|
||||||
virtual bool FromString(const wxChar *);
|
virtual bool FromString(const wxChar *);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@@ -57,8 +64,8 @@ public:
|
|||||||
// Set() functions
|
// Set() functions
|
||||||
// ---------------
|
// ---------------
|
||||||
|
|
||||||
void Set(unsigned char red, unsigned char green, unsigned char blue)
|
void Set(unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha = 255)
|
||||||
{ InitWith(red,green,blue); }
|
{ InitWith(red,green,blue, alpha); }
|
||||||
|
|
||||||
// implemented in colourcmn.cpp
|
// implemented in colourcmn.cpp
|
||||||
bool Set(const wxChar *str)
|
bool Set(const wxChar *str)
|
||||||
@@ -86,6 +93,8 @@ public:
|
|||||||
virtual unsigned char Red() const = 0;
|
virtual unsigned char Red() const = 0;
|
||||||
virtual unsigned char Green() const = 0;
|
virtual unsigned char Green() const = 0;
|
||||||
virtual unsigned char Blue() const = 0;
|
virtual unsigned char Blue() const = 0;
|
||||||
|
virtual unsigned char Alpha() const
|
||||||
|
{ return 255 ; }
|
||||||
|
|
||||||
// implemented in colourcmn.cpp
|
// implemented in colourcmn.cpp
|
||||||
virtual wxString GetAsString(long flags = wxC2S_NAME | wxC2S_CSS_SYNTAX) const;
|
virtual wxString GetAsString(long flags = wxC2S_NAME | wxC2S_CSS_SYNTAX) const;
|
||||||
|
@@ -35,6 +35,7 @@ public:
|
|||||||
unsigned char Red() const { return m_red; }
|
unsigned char Red() const { return m_red; }
|
||||||
unsigned char Green() const { return m_green; }
|
unsigned char Green() const { return m_green; }
|
||||||
unsigned char Blue() const { return m_blue; }
|
unsigned char Blue() const { return m_blue; }
|
||||||
|
unsigned char Alpha() const { return m_alpha; }
|
||||||
|
|
||||||
// comparison
|
// comparison
|
||||||
bool operator == (const wxColour& colour) const
|
bool operator == (const wxColour& colour) const
|
||||||
@@ -42,7 +43,8 @@ public:
|
|||||||
return (m_isInit == colour.m_isInit
|
return (m_isInit == colour.m_isInit
|
||||||
&& m_red == colour.m_red
|
&& m_red == colour.m_red
|
||||||
&& m_green == colour.m_green
|
&& m_green == colour.m_green
|
||||||
&& m_blue == colour.m_blue);
|
&& m_blue == colour.m_blue
|
||||||
|
&& m_alpha == colour.m_alpha);
|
||||||
}
|
}
|
||||||
bool operator != (const wxColour& colour) const { return !(*this == colour); }
|
bool operator != (const wxColour& colour) const { return !(*this == colour); }
|
||||||
|
|
||||||
@@ -53,13 +55,19 @@ protected :
|
|||||||
// Helper function
|
// Helper function
|
||||||
void Init();
|
void Init();
|
||||||
|
|
||||||
void InitWith( unsigned char red, unsigned char green, unsigned char blue );
|
void InitWith( unsigned char red, unsigned char green, unsigned char blue )
|
||||||
|
{
|
||||||
|
InitWith( red, green, blue , 255) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
void InitWith( unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_isInit;
|
bool m_isInit;
|
||||||
unsigned char m_red;
|
unsigned char m_red;
|
||||||
unsigned char m_blue;
|
unsigned char m_blue;
|
||||||
unsigned char m_green;
|
unsigned char m_green;
|
||||||
|
unsigned char m_alpha;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
WXCOLORREF m_pixel ;
|
WXCOLORREF m_pixel ;
|
||||||
|
@@ -44,11 +44,12 @@ wxColour::~wxColour ()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxColour::InitWith (unsigned char r, unsigned char g, unsigned char b)
|
void wxColour::InitWith (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
|
||||||
{
|
{
|
||||||
m_red = r;
|
m_red = r;
|
||||||
m_green = g;
|
m_green = g;
|
||||||
m_blue = b;
|
m_blue = b;
|
||||||
|
m_alpha = a ;
|
||||||
m_isInit = true;
|
m_isInit = true;
|
||||||
|
|
||||||
wxComposeRGBColor( &m_pixel , m_red , m_blue , m_green );
|
wxComposeRGBColor( &m_pixel , m_red , m_blue , m_green );
|
||||||
|
Reference in New Issue
Block a user