fix for no striped background under panther when using coregraphics
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@48774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -532,6 +532,20 @@ void wxMacCoreGraphicsBrushData::CreateRadialGradientBrush( wxDouble xo, wxDoubl
|
|||||||
m_isShading = true ;
|
m_isShading = true ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char *gs_stripedback_xpm[] = {
|
||||||
|
/* columns rows colors chars-per-pixel */
|
||||||
|
"4 4 2 1",
|
||||||
|
". c #F0F0F0",
|
||||||
|
"X c #ECECEC",
|
||||||
|
/* pixels */
|
||||||
|
"....",
|
||||||
|
"....",
|
||||||
|
"XXXX",
|
||||||
|
"XXXX"
|
||||||
|
};
|
||||||
|
|
||||||
|
wxBitmap gs_stripedback_bmp( wxImage( (const char* const* ) gs_stripedback_xpm ), -1 ) ;
|
||||||
|
|
||||||
wxMacCoreGraphicsBrushData::wxMacCoreGraphicsBrushData(wxGraphicsRenderer* renderer, const wxBrush &brush) : wxGraphicsObjectRefData( renderer )
|
wxMacCoreGraphicsBrushData::wxMacCoreGraphicsBrushData(wxGraphicsRenderer* renderer, const wxBrush &brush) : wxGraphicsObjectRefData( renderer )
|
||||||
{
|
{
|
||||||
Init();
|
Init();
|
||||||
@@ -549,6 +563,18 @@ wxMacCoreGraphicsBrushData::wxMacCoreGraphicsBrushData(wxGraphicsRenderer* rende
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
{
|
||||||
|
if( brush.MacGetTheme() == kThemeBrushDialogBackgroundActive )
|
||||||
|
{
|
||||||
|
// striped background is a pattern, we have to emulate it
|
||||||
|
|
||||||
|
m_isPattern = true;
|
||||||
|
m_patternColorComponents = new CGFloat[1] ;
|
||||||
|
m_patternColorComponents[0] = 1.0;
|
||||||
|
m_colorSpace.Set( CGColorSpaceCreatePattern( NULL ) );
|
||||||
|
m_pattern.Set( *( new ImagePattern( &gs_stripedback_bmp , CGAffineTransformMakeScale( 1,-1 ) ) ) );
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
// as close as we can get, unfortunately < 10.4 things get difficult
|
// as close as we can get, unfortunately < 10.4 things get difficult
|
||||||
RGBColor color;
|
RGBColor color;
|
||||||
@@ -558,6 +584,7 @@ wxMacCoreGraphicsBrushData::wxMacCoreGraphicsBrushData(wxGraphicsRenderer* rende
|
|||||||
m_color.Set( CGColorCreate( wxMacGetGenericRGBColorSpace() , components ) ) ;
|
m_color.Set( CGColorCreate( wxMacGetGenericRGBColorSpace() , components ) ) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CGFloat components[4] = { brush.GetColour().Red() / 255.0 , brush.GetColour().Green() / 255.0 ,
|
CGFloat components[4] = { brush.GetColour().Red() / 255.0 , brush.GetColour().Green() / 255.0 ,
|
||||||
|
Reference in New Issue
Block a user