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
This commit is contained in:
Stefan Csomor
2008-02-23 14:48:21 +00:00
parent d5af92fdd9
commit f3b2b3e920

View File

@@ -103,17 +103,25 @@ void wxColour::InitCGColorRef( CGColorRef col )
{ {
m_cgColour.reset( col ); m_cgColour.reset( col );
size_t noComp = CGColorGetNumberOfComponents( 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 // TODO verify whether we really are on a RGB color space
m_alpha = wxALPHA_OPAQUE;
const CGFloat *components = CGColorGetComponents( col ); const CGFloat *components = CGColorGetComponents( col );
m_red = (int)(components[0]*255+0.5); if ( noComp >= 3 )
m_green = (int)(components[1]*255+0.5); {
m_blue = (int)(components[2]*255+0.5); m_red = (int)(components[0]*255+0.5);
if ( noComp == 4 ) m_green = (int)(components[1]*255+0.5);
m_alpha = (int)(components[3]*255+0.5); m_blue = (int)(components[2]*255+0.5);
if ( noComp == 4 )
m_alpha = (int)(components[3]*255+0.5);
}
else 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 else
{ {