X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..02a525b385836d41f63e3bbebec869c7b8249026:/src/common/settcmn.cpp diff --git a/src/common/settcmn.cpp b/src/common/settcmn.cpp index 6e84b6a118..b0b6faf211 100644 --- a/src/common/settcmn.cpp +++ b/src/common/settcmn.cpp @@ -3,8 +3,8 @@ // 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,7 +15,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "settings.h" #endif @@ -44,32 +44,29 @@ 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;