1 /////////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/univ/colschem.h 
   3 // Purpose:     wxColourScheme class provides the colours to use for drawing 
   4 // Author:      Vadim Zeitlin 
   8 // Copyright:   (c) 2000 SciTech Software, Inc. (www.scitechsoft.com) 
   9 // Licence:     wxWindows licence 
  10 /////////////////////////////////////////////////////////////////////////////// 
  12 #ifndef _WX_UNIV_COLSCHEM_H_ 
  13 #define _WX_UNIV_COLSCHEM_H_ 
  16     #pragma interface "colschem.h" 
  19 class WXDLLEXPORT wxWindow
; 
  21 #include "wx/colour.h" 
  22 #include "wx/checkbox.h" 
  24 // ---------------------------------------------------------------------------- 
  26 // ---------------------------------------------------------------------------- 
  28 class WXDLLEXPORT wxColourScheme
 
  31     // the standard colours 
  34         // the background colour for a window 
  37         // the different background and text colours for the control 
  42         // the label text for the normal and the disabled state 
  44         CONTROL_TEXT_DISABLED
, 
  45         CONTROL_TEXT_DISABLED_SHADOW
, 
  47         // the scrollbar background colour for the normal and pressed states 
  51         // the background and text colour for the highlighted item 
  55         // these colours are used for drawing the shadows of 3D objects 
  61         // the titlebar background colours for the normal and focused states 
  65         // the titlebar text colours 
  69         // the default gauge fill colour 
  72         // desktop background colour (only used by framebuffer ports) 
  78     // get a standard colour 
  79     virtual wxColour 
Get(StdColour col
) const = 0; 
  81     // get the background colour for the given window 
  82     virtual wxColour 
GetBackground(wxWindow 
*win
) const = 0; 
  84     // virtual dtor for any base class 
  85     virtual ~wxColourScheme(); 
  88 // some people just can't spell it correctly :-) 
  89 typedef wxColourScheme wxColorScheme
; 
  91 // ---------------------------------------------------------------------------- 
  93 // ---------------------------------------------------------------------------- 
  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) 
 100 // get the background colour for the window in the current theme 
 101 #define wxTHEME_BG_COLOUR(win) \ 
 102     wxTheme::Get()->GetColourScheme()->GetBackground(win) 
 104 #endif // _WX_UNIV_COLSCHEM_H_