X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2d17d68f470c31f7c145b095eb1a3e0c2f581f30..d38ceae8b9d776425a058e9b652ca143cd049a2f:/src/gtk1/settings.cpp diff --git a/src/gtk1/settings.cpp b/src/gtk1/settings.cpp index 646386409a..72b4c3e2a8 100644 --- a/src/gtk1/settings.cpp +++ b/src/gtk1/settings.cpp @@ -56,6 +56,7 @@ #define SHIFT (8*(sizeof(short int)-sizeof(char))) +wxColour *g_systemWinColour = (wxColour *) NULL; wxColour *g_systemBtnFaceColour = (wxColour *) NULL; wxColour *g_systemBtnShadowColour = (wxColour *) NULL; wxColour *g_systemBtnHighlightColour = (wxColour *) NULL; @@ -65,11 +66,12 @@ wxFont *g_systemFont = (wxFont *) NULL; void wxSystemSettings::Done() { - wxDELETE(g_systemBtnFaceColour); - wxDELETE(g_systemBtnShadowColour); - wxDELETE(g_systemBtnHighlightColour); - wxDELETE(g_systemHighlightColour); - wxDELETE(g_systemFont); + delete g_systemWinColour; + delete g_systemBtnFaceColour; + delete g_systemBtnShadowColour; + delete g_systemBtnHighlightColour; + delete g_systemHighlightColour; + delete g_systemFont; } wxColour wxSystemSettings::GetSystemColour( int index ) @@ -81,7 +83,6 @@ wxColour wxSystemSettings::GetSystemColour( int index ) case wxSYS_COLOUR_ACTIVECAPTION: case wxSYS_COLOUR_INACTIVECAPTION: case wxSYS_COLOUR_MENU: - case wxSYS_COLOUR_WINDOW: case wxSYS_COLOUR_WINDOWFRAME: case wxSYS_COLOUR_ACTIVEBORDER: case wxSYS_COLOUR_INACTIVEBORDER: @@ -97,6 +98,19 @@ wxColour wxSystemSettings::GetSystemColour( int index ) } return *g_systemBtnFaceColour; } + case wxSYS_COLOUR_WINDOW: + { + GtkStyle *style = gtk_widget_get_default_style(); + if (!g_systemWinColour) + { + g_systemWinColour = + new wxColour( style->base[0].red >> SHIFT, + style->base[0].green >> SHIFT, + style->base[0].blue >> SHIFT ); + } + return *g_systemWinColour; + } + case wxSYS_COLOUR_GRAYTEXT: case wxSYS_COLOUR_BTNSHADOW: { GtkStyle *style = gtk_widget_get_default_style(); @@ -109,7 +123,6 @@ wxColour wxSystemSettings::GetSystemColour( int index ) } return *g_systemBtnShadowColour; } - case wxSYS_COLOUR_GRAYTEXT: case wxSYS_COLOUR_BTNHIGHLIGHT: { GtkStyle *style = gtk_widget_get_default_style(); @@ -138,6 +151,7 @@ wxColour wxSystemSettings::GetSystemColour( int index ) case wxSYS_COLOUR_WINDOWTEXT: case wxSYS_COLOUR_CAPTIONTEXT: case wxSYS_COLOUR_INACTIVECAPTIONTEXT: + case wxSYS_COLOUR_BTNTEXT: case wxSYS_COLOUR_INFOTEXT: { return *wxBLACK; @@ -189,7 +203,7 @@ int wxSystemSettings::GetSystemMetric( int index ) case wxSYS_VSCROLL_X: return 15; } - wxCHECK_MSG( index, 0, "wxSystemSettings::GetSystemMetric not fully implemented" ); + wxCHECK_MSG( index, 0, _T("wxSystemSettings::GetSystemMetric not fully implemented") ); return 0; }