X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c15521c67eb8aba1994240262ba973aa11ef0086..97c7099a70fd3af6ac7bef7f420581c8801ba22d:/src/common/settcmn.cpp diff --git a/src/common/settcmn.cpp b/src/common/settcmn.cpp index 7e527aa59b..ce3cc6f755 100644 --- a/src/common/settcmn.cpp +++ b/src/common/settcmn.cpp @@ -1,10 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: common/settcmn.cpp +// Name: src/common/settcmn.cpp // Purpose: common (to all ports) wxWindow functions // Author: Robert Roebling // RCS-ID: $Id$ -// Copyright: (c) wxWindows team -// Licence: wxWindows license +// Copyright: (c) wxWidgets team +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -15,10 +15,6 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "settings.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -26,54 +22,67 @@ #pragma hdrstop #endif +#include "wx/settings.h" + #ifndef WX_PRECOMP - #include "wx/defs.h" #include "wx/utils.h" - #include "wx/settings.h" #endif //WX_PRECOMP // ---------------------------------------------------------------------------- // static data // ---------------------------------------------------------------------------- -wxSystemScreen wxSystemSettings::ms_screen = wxSYS_SCREEN_NONE; +wxSystemScreenType wxSystemSettings::ms_screen = wxSYS_SCREEN_NONE; // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- -wxSystemScreen wxSystemSettings::GetScreen() +wxSystemScreenType wxSystemSettings::GetScreenType() { if (ms_screen == wxSYS_SCREEN_NONE) -#ifndef __WXUNIV__ - { - // As a start, all GUI are desktops. - ms_screen = wxSYS_SCREEN_DESKTOP; - } -#else { // wxUniv will be used on small devices, too. - int x = 0; - int y = 0; - wxGetDisplaySize( &x, &y ); + int x = GetMetric( wxSYS_SCREEN_X ); ms_screen = wxSYS_SCREEN_DESKTOP; - + if (x < 800) ms_screen = wxSYS_SCREEN_SMALL; - + if (x < 640) ms_screen = wxSYS_SCREEN_PDA; - + if (x < 200) ms_screen = wxSYS_SCREEN_TINY; + + // This is probably a bug, but VNC seems to report 0 + if (x < 10) + ms_screen = wxSYS_SCREEN_DESKTOP; } -#endif return ms_screen; } - -void wxSystemSettings::SetScreen( wxSystemScreen screen ) + +void wxSystemSettings::SetScreenType( wxSystemScreenType screen ) { ms_screen = screen; } +#if WXWIN_COMPATIBILITY_2_4 + +wxColour wxSystemSettings::GetSystemColour(int index) +{ + return GetColour((wxSystemColour)index); +} + +wxFont wxSystemSettings::GetSystemFont(int index) +{ + return GetFont((wxSystemFont)index); +} + +int wxSystemSettings::GetSystemMetric(int index) +{ + return GetMetric((wxSystemMetric)index); +} + +#endif // WXWIN_COMPATIBILITY_2_4