1 /////////////////////////////////////////////////////////////////////////////// 2 // Name: wx/univ/colschem.h 3 // Purpose: wxColourScheme class provides the colours to use for drawing 4 // Author: Vadim Zeitlin 5 // Modified by: 6 // Created: 19.08.00 7 // Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com) 8 // Licence: wxWindows licence 9 /////////////////////////////////////////////////////////////////////////////// 10 11 #ifndef _WX_UNIV_COLSCHEM_H_ 12 #define _WX_UNIV_COLSCHEM_H_ 13 14 class WXDLLIMPEXP_FWD_CORE wxWindow; 15 16 #include "wx/colour.h" 17 #include "wx/checkbox.h" 18 19 // ---------------------------------------------------------------------------- 20 // wxColourScheme 21 // ---------------------------------------------------------------------------- 22 23 class WXDLLIMPEXP_CORE wxColourScheme 24 { 25 public: 26 // the standard colours 27 enum StdColour 28 { 29 // the background colour for a window 30 WINDOW, 31 32 // the different background and text colours for the control 33 CONTROL, 34 CONTROL_PRESSED, 35 CONTROL_CURRENT, 36 37 // the label text for the normal and the disabled state 38 CONTROL_TEXT, 39 CONTROL_TEXT_DISABLED, 40 CONTROL_TEXT_DISABLED_SHADOW, 41 42 // the scrollbar background colour for the normal and pressed states 43 SCROLLBAR, 44 SCROLLBAR_PRESSED, 45 46 // the background and text colour for the highlighted item 47 HIGHLIGHT, 48 HIGHLIGHT_TEXT, 49 50 // these colours are used for drawing the shadows of 3D objects 51 SHADOW_DARK, 52 SHADOW_HIGHLIGHT, 53 SHADOW_IN, 54 SHADOW_OUT, 55 56 // the titlebar background colours for the normal and focused states 57 TITLEBAR, 58 TITLEBAR_ACTIVE, 59 60 // the titlebar text colours 61 TITLEBAR_TEXT, 62 TITLEBAR_ACTIVE_TEXT, 63 64 // the default gauge fill colour 65 GAUGE, 66 67 // desktop background colour (only used by framebuffer ports) 68 DESKTOP, 69 70 // wxFrame's background colour 71 FRAME, 72 73 MAX 74 }; 75 76 // get a standard colour 77 virtual wxColour Get(StdColour col) const = 0; 78 79 // get the background colour for the given window 80 virtual wxColour GetBackground(wxWindow *win) const = 0; 81 82 // virtual dtor for any base class ~wxColourScheme()83 virtual ~wxColourScheme() {} 84 }; 85 86 // some people just can't spell it correctly :-) 87 typedef wxColourScheme wxColorScheme; 88 89 // ---------------------------------------------------------------------------- 90 // macros 91 // ---------------------------------------------------------------------------- 92 93 // retrieve the default colour from the theme or the given scheme 94 #define wxSCHEME_COLOUR(scheme, what) scheme->Get(wxColorScheme::what) 95 #define wxTHEME_COLOUR(what) \ 96 wxSCHEME_COLOUR(wxTheme::Get()->GetColourScheme(), what) 97 98 // get the background colour for the window in the current theme 99 #define wxTHEME_BG_COLOUR(win) \ 100 wxTheme::Get()->GetColourScheme()->GetBackground(win) 101 102 #endif // _WX_UNIV_COLSCHEM_H_ 103