X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/55d99c7a77789ff4904bf96eddca3715eb5af9b9..18c9aebecad12ff04a971d803acbeb291fbc4ea6:/src/common/settcmn.cpp diff --git a/src/common/settcmn.cpp b/src/common/settcmn.cpp index 977bc71207..f5862ba7af 100644 --- a/src/common/settcmn.cpp +++ b/src/common/settcmn.cpp @@ -3,7 +3,7 @@ // Purpose: common (to all ports) wxWindow functions // Author: Robert Roebling // RCS-ID: $Id$ -// Copyright: (c) wxWindows team +// Copyright: (c) wxWidgets team // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -15,7 +15,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "settings.h" #endif @@ -44,34 +44,49 @@ wxSystemScreenType wxSystemSettings::ms_screen = wxSYS_SCREEN_NONE; wxSystemScreenType wxSystemSettings::GetScreenType() { if (ms_screen == wxSYS_SCREEN_NONE) -#ifndef __WXUNIVERSAL__ - { - // As a start, all GUI are desktops. - ms_screen = wxSYS_SCREEN_DESKTOP; - } -#else { // wxUniv will be used on small devices, too. 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::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