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:
parent
d5af92fdd9
commit
f3b2b3e920
@ -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
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user