]> git.saurik.com Git - wxWidgets.git/blame_incremental - src/common/settcmn.cpp
there is no sqrt(int) in standard C++ (although glibc seems to provide it); select...
[wxWidgets.git] / src / common / settcmn.cpp
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: src/common/settcmn.cpp
3// Purpose: common (to all ports) wxWindow functions
4// Author: Robert Roebling
5// RCS-ID: $Id$
6// Copyright: (c) wxWidgets team
7// Licence: wxWindows licence
8/////////////////////////////////////////////////////////////////////////////
9
10// ============================================================================
11// declarations
12// ============================================================================
13
14// ----------------------------------------------------------------------------
15// headers
16// ----------------------------------------------------------------------------
17
18// For compilers that support precompilation, includes "wx.h".
19#include "wx/wxprec.h"
20
21#ifdef __BORLANDC__
22 #pragma hdrstop
23#endif
24
25#include "wx/settings.h"
26
27#ifndef WX_PRECOMP
28 #include "wx/utils.h"
29#endif //WX_PRECOMP
30
31// ----------------------------------------------------------------------------
32// static data
33// ----------------------------------------------------------------------------
34
35wxSystemScreenType wxSystemSettings::ms_screen = wxSYS_SCREEN_NONE;
36
37// ----------------------------------------------------------------------------
38// ----------------------------------------------------------------------------
39
40wxSystemScreenType wxSystemSettings::GetScreenType()
41{
42 if (ms_screen == wxSYS_SCREEN_NONE)
43 {
44 // wxUniv will be used on small devices, too.
45 int x = GetMetric( wxSYS_SCREEN_X );
46
47 ms_screen = wxSYS_SCREEN_DESKTOP;
48
49 if (x < 800)
50 ms_screen = wxSYS_SCREEN_SMALL;
51
52 if (x < 640)
53 ms_screen = wxSYS_SCREEN_PDA;
54
55 if (x < 200)
56 ms_screen = wxSYS_SCREEN_TINY;
57
58 // This is probably a bug, but VNC seems to report 0
59 if (x < 10)
60 ms_screen = wxSYS_SCREEN_DESKTOP;
61 }
62
63 return ms_screen;
64}
65
66void wxSystemSettings::SetScreenType( wxSystemScreenType screen )
67{
68 ms_screen = screen;
69}