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