make background colour be the real color, to have inheritance work correctly

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2008-03-19 13:26:42 +00:00
parent e95f52682f
commit 5389e50515

View File

@@ -990,17 +990,23 @@ wxPoint wxTopLevelWindowMac::GetClientAreaOrigin() const
return wxPoint(0, 0) ; return wxPoint(0, 0) ;
} }
bool wxTopLevelWindowMac::SetBackgroundColour(const wxColour& col ) bool wxTopLevelWindowMac::SetBackgroundColour(const wxColour& c )
{ {
wxColour col = c;
if ( col == wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) )
col = wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDocumentWindowBackground));
else if ( col == wxSystemSettings::GetColour( wxSYS_COLOUR_3DFACE ) )
col = wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDialogBackgroundActive));
if ( !wxTopLevelWindowBase::SetBackgroundColour(col) && m_hasBgCol ) if ( !wxTopLevelWindowBase::SetBackgroundColour(col) && m_hasBgCol )
return false ; return false ;
if ( col == wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) || col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDocumentWindowBackground)) ) if ( col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDocumentWindowBackground)) )
{ {
SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDocumentWindowBackground, false ) ; SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDocumentWindowBackground, false ) ;
SetBackgroundStyle(wxBG_STYLE_CUSTOM); SetBackgroundStyle(wxBG_STYLE_CUSTOM);
} }
else if ( col == wxSystemSettings::GetColour( wxSYS_COLOUR_3DFACE ) || col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDialogBackgroundActive)) ) else if ( col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDialogBackgroundActive)) )
{ {
SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDialogBackgroundActive, false ) ; SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDialogBackgroundActive, false ) ;
SetBackgroundStyle(wxBG_STYLE_CUSTOM); SetBackgroundStyle(wxBG_STYLE_CUSTOM);