// 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
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "settings.h"
#endif
// 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;
}