X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bd20dac1968194e5161bcb1ac0b0a44ba36c0139..8b3fddc49326c0b6019cd7082218726aa17a5727:/src/mgl/settings.cpp?ds=sidebyside diff --git a/src/mgl/settings.cpp b/src/mgl/settings.cpp index 735674f249..355db0d4f6 100644 --- a/src/mgl/settings.cpp +++ b/src/mgl/settings.cpp @@ -1,8 +1,8 @@ ///////////////////////////////////////////////////////////////////////////// // Name: settings.h -// Author: Vaclav Slavik +// Author: Vaclav Slavik, Robert Roebling // Id: $Id$ -// Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com) +// Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com) // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -11,24 +11,104 @@ #pragma implementation "settings.h" #endif +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + #include "wx/settings.h" #include "wx/colour.h" #include "wx/font.h" +#include "wx/gdicmn.h" +#include "wx/module.h" + +// ---------------------------------------------------------------------------- +// global data +// ---------------------------------------------------------------------------- + +static wxFont *gs_fontDefault = NULL; + +class wxSystemSettingsModule : public wxModule +{ +public: + virtual bool OnInit() { return TRUE; } + virtual void OnExit() + { + delete gs_fontDefault; + gs_fontDefault = NULL; + } -wxColour wxSystemSettings::GetSystemColour(int WXUNUSED(index)) +private: + DECLARE_DYNAMIC_CLASS(wxSystemSettingsModule) +}; + +IMPLEMENT_DYNAMIC_CLASS(wxSystemSettingsModule, wxModule) + + + +wxColour wxSystemSettingsNative::GetColour(wxSystemColour WXUNUSED(index)) { - // FIXME_MGL + // not implemented, the mean is in wxUniversal return wxColour(0,0,0); } -wxFont wxSystemSettings::GetSystemFont(int WXUNUSED(index)) +wxFont wxSystemSettingsNative::GetFont(wxSystemFont index) +{ + switch (index) + { + 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: + return wxNullFont; + } +} + +int wxSystemSettingsNative::GetMetric(wxSystemMetric index) { - // FIXME_MGL - return wxFont(10, wxSWISS, wxNORMAL, wxNORMAL, FALSE, "Arial"); + int val; + + switch (index) + { + case wxSYS_SCREEN_X: + wxDisplaySize(&val, NULL); + return val; + case wxSYS_SCREEN_Y: + wxDisplaySize(NULL, &val); + return val; + case wxSYS_VSCROLL_X: + case wxSYS_HSCROLL_Y: + return 15; + break; + default: + wxCHECK_MSG(index, 0, wxT("wxSystemSettings::GetMetric not fully implemented")); + return 0; + } } -int wxSystemSettings::GetSystemMetric(int WXUNUSED(index)) +bool wxSystemSettingsNative::HasFeature(wxSystemFeature index) { - // FIXME_MGL - return 1; + switch (index) + { + case wxSYS_CAN_ICONIZE_FRAME: + return FALSE; break; + case wxSYS_CAN_DRAW_FRAME_DECORATIONS: + return FALSE; break; + default: + return FALSE; + } }