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