]> git.saurik.com Git - wxWidgets.git/blob - src/univ/colschem.cpp
1. wxSystemSettings class API face lift: better names for its methods
[wxWidgets.git] / src / univ / colschem.cpp
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: univ/colschem.cpp
3 // Purpose: (trivial) wxColourScheme implementation
4 // Author: Vadim Zeitlin
5 // Modified by:
6 // Created: 20.08.00
7 // RCS-ID: $Id$
8 // Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
9 // Licence: wxWindows license
10 ///////////////////////////////////////////////////////////////////////////////
11
12 // ===========================================================================
13 // declarations
14 // ===========================================================================
15
16 // ---------------------------------------------------------------------------
17 // headers
18 // ---------------------------------------------------------------------------
19
20 #ifdef __GNUG__
21 #pragma implementation "colschem.h"
22 #endif
23
24 // For compilers that support precompilation, includes "wx.h".
25 #include "wx/wxprec.h"
26
27 #ifdef __BORLANDC__
28 #pragma hdrstop
29 #endif
30
31 #ifndef WX_PRECOMP
32 #endif // WX_PRECOMP
33
34 #include "wx/settings.h"
35
36 #include "wx/univ/colschem.h"
37
38 // ============================================================================
39 // implementation
40 // ============================================================================
41
42 // ----------------------------------------------------------------------------
43 // wxColourScheme
44 // ----------------------------------------------------------------------------
45
46 wxColourScheme::~wxColourScheme()
47 {
48 }
49
50 #ifdef wxHAS_SS_NATIVE
51
52 // ----------------------------------------------------------------------------
53 // wxSystemSettings
54 // ----------------------------------------------------------------------------
55
56 wxColour wxSystemSettings::GetColour(wxSystemColour index)
57 {
58 // the elements of this enum must be kept in sync with wxSystemColour
59 static const wxColourScheme::StdColour s_mapSysToThemeCol[] =
60 {
61 wxColourScheme::SCROLLBAR /* wxSYS_COLOUR_SCROLLBAR */,
62 wxColourScheme::WINDOW /* wxSYS_COLOUR_BACKGROUND */,
63 wxColourScheme::TITLEBAR_ACTIVE_TEXT /* wxSYS_COLOUR_ACTIVECAPTION */,
64 wxColourScheme::TITLEBAR_TEXT /* wxSYS_COLOUR_INACTIVECAPTION */,
65 wxColourScheme::MAX /* wxSYS_COLOUR_MENU */,
66 wxColourScheme::MAX /* wxSYS_COLOUR_WINDOW */,
67 wxColourScheme::MAX /* wxSYS_COLOUR_WINDOWFRAME */,
68 wxColourScheme::CONTROL_TEXT /* wxSYS_COLOUR_MENUTEXT */,
69 wxColourScheme::CONTROL_TEXT /* wxSYS_COLOUR_WINDOWTEXT */,
70 wxColourScheme::CONTROL_TEXT /* wxSYS_COLOUR_CAPTIONTEXT */,
71 wxColourScheme::MAX /* wxSYS_COLOUR_ACTIVEBORDER */,
72 wxColourScheme::MAX /* wxSYS_COLOUR_INACTIVEBORDER */,
73 wxColourScheme::MAX /* wxSYS_COLOUR_APPWORKSPACE */,
74 wxColourScheme::HIGHLIGHT /* wxSYS_COLOUR_HIGHLIGHT */,
75 wxColourScheme::HIGHLIGHT_TEXT /* wxSYS_COLOUR_HIGHLIGHTTEXT */,
76 wxColourScheme::SCROLLBAR /* wxSYS_COLOUR_BTNFACE */,
77 wxColourScheme::SHADOW_DARK /* wxSYS_COLOUR_BTNSHADOW */,
78 wxColourScheme::CONTROL_TEXT_DISABLED /* wxSYS_COLOUR_GRAYTEXT */,
79 wxColourScheme::CONTROL_TEXT /* wxSYS_COLOUR_BTNTEXT */,
80 wxColourScheme::MAX /* wxSYS_COLOUR_INACTIVECAPTIONTEXT */,
81 wxColourScheme::SHADOW_HIGHLIGHT /* wxSYS_COLOUR_BTNHIGHLIGHT */,
82 wxColourScheme::SHADOW_IN /* wxSYS_COLOUR_3DDKSHADOW */,
83 wxColourScheme::SHADOW_OUT /* wxSYS_COLOUR_3DLIGHT */,
84 wxColourScheme::MAX /* wxSYS_COLOUR_INFOTEXT */,
85 wxColourScheme::MAX /* wxSYS_COLOUR_INFOBK */,
86 wxColourScheme::CONTROL /* wxSYS_COLOUR_LISTBOX */,
87 };
88
89 wxCHECK_MSG( index < WXSIZEOF(s_mapSysToThemeCol), wxNullColour,
90 _T("invalid wxSystemColour") );
91
92 wxColourScheme::StdColour col = s_mapSysToThemeCol[index];
93 if ( col == wxColourScheme::MAX )
94 {
95 // we don't have theme-equivalent for this colour
96 return wxSystemSettingsNative::GetColour(index);
97 }
98
99 return wxTheme::Get()->GetColourScheme()->Get(col);
100 }
101
102 #endif // wxHAS_SS_NATIVE
103