added alpha support to generic wxColour
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -27,7 +27,7 @@ public:
|
||||
|
||||
// copy ctors and assignment operators
|
||||
wxColour(const wxColour& col);
|
||||
wxColour& operator = (const wxColour& col);
|
||||
wxColour& operator=(const wxColour& col);
|
||||
|
||||
// dtor
|
||||
~wxColour();
|
||||
@@ -38,30 +38,38 @@ public:
|
||||
unsigned char Red() const { return m_red; }
|
||||
unsigned char Green() const { return m_green; }
|
||||
unsigned char Blue() const { return m_blue; }
|
||||
unsigned char Alpha() const { return m_alpha; }
|
||||
|
||||
// comparison
|
||||
bool operator == (const wxColour& colour) const
|
||||
bool operator==(const wxColour& colour) const
|
||||
{
|
||||
return (m_red == colour.m_red &&
|
||||
m_green == colour.m_green &&
|
||||
m_blue == colour.m_blue &&
|
||||
m_alpha == colour.m_alpha &&
|
||||
m_isInit == colour.m_isInit);
|
||||
}
|
||||
bool operator != (const wxColour& colour) const { return !(*this == colour); }
|
||||
|
||||
bool operator!=(const wxColour& colour) const { return !(*this == colour); }
|
||||
|
||||
protected:
|
||||
|
||||
// Helper function
|
||||
void Init();
|
||||
|
||||
virtual void InitWith(unsigned char red, unsigned char green, unsigned char blue);
|
||||
virtual void InitWith(unsigned char red, unsigned char green, unsigned char blue)
|
||||
{
|
||||
InitWith(red, green, blue, wxALPHA_OPAQUE);
|
||||
}
|
||||
|
||||
virtual void InitWith(unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha);
|
||||
|
||||
private:
|
||||
bool m_isInit;
|
||||
unsigned char m_red;
|
||||
unsigned char m_blue;
|
||||
unsigned char m_green;
|
||||
unsigned char m_alpha;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxColour)
|
||||
|
@@ -141,7 +141,7 @@ void wxDC::Clear()
|
||||
|
||||
wxColour clr = m_backgroundBrush.GetColour();
|
||||
DFB_CALL( m_surface->Clear(m_surface,
|
||||
clr.Red(), clr.Green(), clr.Blue(), 255) );
|
||||
clr.Red(), clr.Green(), clr.Blue(), clr.Alpha()) );
|
||||
}
|
||||
|
||||
extern bool wxDoFloodFill(wxDC *dc, wxCoord x, wxCoord y,
|
||||
@@ -339,7 +339,7 @@ void wxDC::SetBrush(const wxBrush& brush)
|
||||
void wxDC::SelectColour(const wxColour& clr)
|
||||
{
|
||||
DFB_CALL( m_surface->SetColor(m_surface,
|
||||
clr.Red(), clr.Green(), clr.Blue(), 255) );
|
||||
clr.Red(), clr.Green(), clr.Blue(), clr.Alpha()) );
|
||||
#warning "use SetColorIndex?"
|
||||
}
|
||||
|
||||
|
@@ -31,6 +31,7 @@ void wxColour::Init()
|
||||
m_red =
|
||||
m_blue =
|
||||
m_green = 0;
|
||||
m_alpha = wxALPHA_OPAQUE;
|
||||
m_isInit = false;
|
||||
}
|
||||
|
||||
@@ -44,11 +45,12 @@ wxColour::wxColour(const wxColour& col)
|
||||
*this = col;
|
||||
}
|
||||
|
||||
wxColour& wxColour::operator =(const wxColour& col)
|
||||
wxColour& wxColour::operator=(const wxColour& col)
|
||||
{
|
||||
m_red = col.m_red;
|
||||
m_green = col.m_green;
|
||||
m_blue = col.m_blue;
|
||||
m_alpha = col.m_alpha;
|
||||
m_isInit = col.m_isInit;
|
||||
return *this;
|
||||
}
|
||||
@@ -57,10 +59,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_green = g;
|
||||
m_blue = b;
|
||||
m_alpha = a;
|
||||
m_isInit = true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user