X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/55d99c7a77789ff4904bf96eddca3715eb5af9b9..6b5c56bd5fa167a02334d35deb0006e80cdfd44d:/src/common/settcmn.cpp diff --git a/src/common/settcmn.cpp b/src/common/settcmn.cpp index 977bc71207..b0b6faf211 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,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;