X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a246f95e96183bc81bf5be5e1927d9bb53094f55..8b3eb4a0699f201d864c0b151d0f57269cf6316f:/src/mgl/settings.cpp diff --git a/src/mgl/settings.cpp b/src/mgl/settings.cpp index a4142e571a..107eb14b12 100644 --- a/src/mgl/settings.cpp +++ b/src/mgl/settings.cpp @@ -1,16 +1,11 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: settings.h -// Author: Vaclav Slavik +// Name: src/mgl/settings.cpp +// Author: Vaclav Slavik, Robert Roebling // Id: $Id$ -// Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com) -// Licence: wxWindows licence +// Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com) +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - -#ifdef __GNUG__ -#pragma implementation "settings.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -19,9 +14,13 @@ #endif #include "wx/settings.h" -#include "wx/colour.h" -#include "wx/font.h" -#include "wx/module.h" + +#ifndef WX_PRECOMP + #include "wx/colour.h" + #include "wx/font.h" + #include "wx/gdicmn.h" + #include "wx/module.h" +#endif // ---------------------------------------------------------------------------- // global data @@ -32,11 +31,10 @@ static wxFont *gs_fontDefault = NULL; class wxSystemSettingsModule : public wxModule { public: - virtual bool OnInit() { return TRUE; } + virtual bool OnInit() { return true; } virtual void OnExit() { - delete gs_fontDefault; - gs_fontDefault = NULL; + wxDELETE(gs_fontDefault); } private: @@ -47,48 +45,71 @@ IMPLEMENT_DYNAMIC_CLASS(wxSystemSettingsModule, wxModule) -wxColour wxSystemSettings::GetSystemColour(int WXUNUSED(index)) +wxColour wxSystemSettingsNative::GetColour(wxSystemColour WXUNUSED(index)) { - // FIXME_MGL + // overridden by wxSystemSettings::GetColour in wxUniversal return wxColour(0,0,0); } -wxFont wxSystemSettings::GetSystemFont(int index) +wxFont wxSystemSettingsNative::GetFont(wxSystemFont index) { - bool isDefaultRequested = (index == wxSYS_DEFAULT_GUI_FONT); - - if ( isDefaultRequested && gs_fontDefault ) + switch (index) { - return *gs_fontDefault; + 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 ( !gs_fontDefault ) + gs_fontDefault = new wxFont(10, wxSWISS, wxNORMAL, wxNORMAL, false, "Arial"); + return *gs_fontDefault; + } + default: + { + } } - // FIXME_MGL - wxFont font(10, wxSWISS, wxNORMAL, wxNORMAL, FALSE, "Arial"); + return wxNullFont; +} + +int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow* WXUNUSED(win)) +{ + int val; - if ( isDefaultRequested ) + switch (index) { - // if we got here it means we hadn't cached it yet - do now - gs_fontDefault = new wxFont(font); + case wxSYS_SCREEN_X: + wxDisplaySize(&val, NULL); + return val; + case wxSYS_SCREEN_Y: + wxDisplaySize(NULL, &val); + return val; + default: + { + } } - return font; + return -1; // unsupported metric } -int wxSystemSettings::GetSystemMetric(int WXUNUSED(index)) -{ - // FIXME_MGL - return 1; -} - -bool wxSystemSettings::GetCapability(int index) +bool wxSystemSettingsNative::HasFeature(wxSystemFeature index) { switch (index) { - case wxSYS_CAN_ICONIZE_FRAME: - return FALSE; break; + case wxSYS_CAN_ICONIZE_FRAME: case wxSYS_CAN_DRAW_FRAME_DECORATIONS: - return FALSE; break; + case wxSYS_TABLET_PRESENT: + return false; + default: - return FALSE; + wxFAIL_MSG( wxT("unknown feature") ); } + + return false; }