From 7f5426f09c68bf42e58e3932e2bcb0322caa6b41 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Mon, 4 Sep 2006 11:14:29 +0000 Subject: [PATCH] added alpha support to generic wxColour git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/generic/colour.h | 16 ++++++++++++---- src/dfb/dc.cpp | 4 ++-- src/generic/colour.cpp | 8 ++++++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/include/wx/generic/colour.h b/include/wx/generic/colour.h index 04e3645254..a5707e3039 100644 --- a/include/wx/generic/colour.h +++ b/include/wx/generic/colour.h @@ -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) diff --git a/src/dfb/dc.cpp b/src/dfb/dc.cpp index d80c8ff600..44dc6d99ca 100644 --- a/src/dfb/dc.cpp +++ b/src/dfb/dc.cpp @@ -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?" } diff --git a/src/generic/colour.cpp b/src/generic/colour.cpp index e9bccfc59f..e51a7e3938 100644 --- a/src/generic/colour.cpp +++ b/src/generic/colour.cpp @@ -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; } -- 2.45.2