From f3b2b3e920d68ba040358b972da0677842c84190 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Sat, 23 Feb 2008 14:48:21 +0000 Subject: [PATCH] under 10.4 there are some theme brushes represented as pure grayscale, convert them to the rgb components accordingly git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/mac/carbon/colour.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/mac/carbon/colour.cpp b/src/mac/carbon/colour.cpp index 4d91726650..ecd3cee9de 100644 --- a/src/mac/carbon/colour.cpp +++ b/src/mac/carbon/colour.cpp @@ -103,17 +103,25 @@ void wxColour::InitCGColorRef( CGColorRef col ) { m_cgColour.reset( col ); size_t noComp = CGColorGetNumberOfComponents( col ); - if ( noComp >=3 && noComp <= 4 ) + if ( noComp >= 1 && noComp <= 4 ) { // TODO verify whether we really are on a RGB color space + m_alpha = wxALPHA_OPAQUE; const CGFloat *components = CGColorGetComponents( col ); - m_red = (int)(components[0]*255+0.5); - m_green = (int)(components[1]*255+0.5); - m_blue = (int)(components[2]*255+0.5); - if ( noComp == 4 ) - m_alpha = (int)(components[3]*255+0.5); + if ( noComp >= 3 ) + { + m_red = (int)(components[0]*255+0.5); + m_green = (int)(components[1]*255+0.5); + m_blue = (int)(components[2]*255+0.5); + if ( noComp == 4 ) + m_alpha = (int)(components[3]*255+0.5); + } else - m_alpha = wxALPHA_OPAQUE; + { + m_red = (int)(components[0]*255+0.5); + m_green = (int)(components[0]*255+0.5); + m_blue = (int)(components[0]*255+0.5); + } } else {