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