get wxSYS_COLOUR_HIGHLIGHTTEXT from GTK+, ticket 4733

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@53676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2008-05-20 15:10:11 +00:00
parent 40b9e72e72
commit 11a7b96b4f

View File

@@ -89,6 +89,7 @@ enum wxGtkColourType
{ {
wxGTK_FG, wxGTK_FG,
wxGTK_BG, wxGTK_BG,
wxGTK_TEXT,
wxGTK_BASE wxGTK_BASE
}; };
@@ -149,6 +150,10 @@ static bool GetColourFromGTKWidget(GdkColor& gdkColor,
gdkColor = def->bg[state]; gdkColor = def->bg[state];
break; break;
case wxGTK_TEXT:
gdkColor = def->text[state];
break;
case wxGTK_BASE: case wxGTK_BASE:
gdkColor = def->base[state]; gdkColor = def->base[state];
break; break;
@@ -316,11 +321,12 @@ wxColour wxSystemSettingsNative::GetColour( wxSystemColour index )
case wxSYS_COLOUR_HIGHLIGHTTEXT: case wxSYS_COLOUR_HIGHLIGHTTEXT:
if (!gs_objects.m_colHighlightText.Ok()) if (!gs_objects.m_colHighlightText.Ok())
{ {
wxColour hclr = GetColour(wxSYS_COLOUR_HIGHLIGHT); gdkColor.red =
if (hclr.Red() > 200 && hclr.Green() > 200 && hclr.Blue() > 200) gdkColor.green =
gs_objects.m_colHighlightText = *wxBLACK; gdkColor.blue = 0;
else GetColourFromGTKWidget(
gs_objects.m_colHighlightText = *wxWHITE; gdkColor, wxGTK_BUTTON, GTK_STATE_SELECTED, wxGTK_TEXT);
gs_objects.m_colHighlightText = wxColour(gdkColor);
} }
color = gs_objects.m_colHighlightText; color = gs_objects.m_colHighlightText;
break; break;