X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c801d85f158c4cba50b588807daabdcbd0ed3853..7c39369e5a9b2298eed8adc64a229482d5d90dd1:/src/gtk1/settings.cpp diff --git a/src/gtk1/settings.cpp b/src/gtk1/settings.cpp index dfcf1d81db..646386409a 100644 --- a/src/gtk1/settings.cpp +++ b/src/gtk1/settings.cpp @@ -2,9 +2,8 @@ // Name: settings.cpp // Purpose: // Author: Robert Roebling -// Created: 01/02/97 -// Id: -// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem +// Id: $Id$ +// Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -14,6 +13,10 @@ #endif #include "wx/settings.h" +#include "wx/debug.h" + +#include "gdk/gdk.h" +#include "gtk/gtk.h" /* #define wxSYS_COLOUR_SCROLLBAR 0 @@ -53,10 +56,21 @@ #define SHIFT (8*(sizeof(short int)-sizeof(char))) -wxColour *g_systemBtnFaceColour = NULL; -wxColour *g_systemBtnShadowColour = NULL; -wxColour *g_systemBtnHighlightColour = NULL; -wxColour *g_systemHighlightColour = NULL; +wxColour *g_systemBtnFaceColour = (wxColour *) NULL; +wxColour *g_systemBtnShadowColour = (wxColour *) NULL; +wxColour *g_systemBtnHighlightColour = (wxColour *) NULL; +wxColour *g_systemHighlightColour = (wxColour *) NULL; + +wxFont *g_systemFont = (wxFont *) NULL; + +void wxSystemSettings::Done() +{ + wxDELETE(g_systemBtnFaceColour); + wxDELETE(g_systemBtnShadowColour); + wxDELETE(g_systemBtnHighlightColour); + wxDELETE(g_systemHighlightColour); + wxDELETE(g_systemFont); +} wxColour wxSystemSettings::GetSystemColour( int index ) { @@ -80,9 +94,9 @@ wxColour wxSystemSettings::GetSystemColour( int index ) new wxColour( style->bg[0].red >> SHIFT, style->bg[0].green >> SHIFT, style->bg[0].blue >> SHIFT ); - }; + } return *g_systemBtnFaceColour; - }; + } case wxSYS_COLOUR_BTNSHADOW: { GtkStyle *style = gtk_widget_get_default_style(); @@ -92,9 +106,9 @@ wxColour wxSystemSettings::GetSystemColour( int index ) new wxColour( style->dark[0].red >> SHIFT, style->dark[0].green >> SHIFT, style->dark[0].blue >> SHIFT ); - }; + } return *g_systemBtnShadowColour; - }; + } case wxSYS_COLOUR_GRAYTEXT: case wxSYS_COLOUR_BTNHIGHLIGHT: { @@ -105,9 +119,9 @@ wxColour wxSystemSettings::GetSystemColour( int index ) new wxColour( style->light[0].red >> SHIFT, style->light[0].green >> SHIFT, style->light[0].blue >> SHIFT ); - }; + } return *g_systemBtnHighlightColour; - }; + } case wxSYS_COLOUR_HIGHLIGHT: { GtkStyle *style = gtk_widget_get_default_style(); @@ -117,9 +131,9 @@ wxColour wxSystemSettings::GetSystemColour( int index ) new wxColour( style->bg[GTK_STATE_SELECTED].red >> SHIFT, style->bg[GTK_STATE_SELECTED].green >> SHIFT, style->bg[GTK_STATE_SELECTED].blue >> SHIFT ); - }; + } return *g_systemHighlightColour; - }; + } case wxSYS_COLOUR_MENUTEXT: case wxSYS_COLOUR_WINDOWTEXT: case wxSYS_COLOUR_CAPTIONTEXT: @@ -127,57 +141,55 @@ wxColour wxSystemSettings::GetSystemColour( int index ) case wxSYS_COLOUR_INFOTEXT: { return *wxBLACK; - }; + } case wxSYS_COLOUR_HIGHLIGHTTEXT: { return *wxWHITE; - }; + } case wxSYS_COLOUR_INFOBK: case wxSYS_COLOUR_APPWORKSPACE: { return *wxWHITE; // ? - }; - }; + } + } return *wxWHITE; -}; - -wxFont *g_systemFont = NULL; +} wxFont wxSystemSettings::GetSystemFont( int index ) { - switch (index) - { - case wxSYS_OEM_FIXED_FONT: - case wxSYS_ANSI_FIXED_FONT: - case wxSYS_SYSTEM_FIXED_FONT: + switch (index) { - return *wxNORMAL_FONT; - }; - case wxSYS_ANSI_VAR_FONT: - case wxSYS_SYSTEM_FONT: - case wxSYS_DEVICE_DEFAULT_FONT: - case wxSYS_DEFAULT_GUI_FONT: - { - if (!g_systemFont) - g_systemFont = new wxFont( "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*" ); - return *g_systemFont; - }; - }; + case wxSYS_OEM_FIXED_FONT: + case wxSYS_ANSI_FIXED_FONT: + case wxSYS_SYSTEM_FIXED_FONT: + { + return *wxNORMAL_FONT; + } + case wxSYS_ANSI_VAR_FONT: + case wxSYS_SYSTEM_FONT: + case wxSYS_DEVICE_DEFAULT_FONT: + case wxSYS_DEFAULT_GUI_FONT: + { + if (!g_systemFont) + g_systemFont = new wxFont( 12, wxSWISS, wxNORMAL, wxNORMAL ); + return *g_systemFont; + } + } - return wxNullFont; + return wxNullFont; } -; int wxSystemSettings::GetSystemMetric( int index ) { - switch (index) - { - case wxSYS_SCREEN_X: - return gdk_screen_width(); - case wxSYS_SCREEN_Y: - return gdk_screen_height(); - }; - return 0; + switch (index) + { + case wxSYS_SCREEN_X: return gdk_screen_width(); + case wxSYS_SCREEN_Y: return gdk_screen_height(); + case wxSYS_HSCROLL_Y: return 15; + case wxSYS_VSCROLL_X: return 15; + } + + wxCHECK_MSG( index, 0, "wxSystemSettings::GetSystemMetric not fully implemented" ); + + return 0; } -; -