From 11a7b96b4f2ca44b7e633cd905708b2d4e22f6c9 Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Tue, 20 May 2008 15:10:11 +0000 Subject: [PATCH] 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 --- src/gtk/settings.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/gtk/settings.cpp b/src/gtk/settings.cpp index 0894b28e8f..1db3ac1c78 100644 --- a/src/gtk/settings.cpp +++ b/src/gtk/settings.cpp @@ -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;