2001-06-26 16:59:19 -04:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: wx/univ/colschem.h
|
|
|
|
// Purpose: wxColourScheme class provides the colours to use for drawing
|
|
|
|
// Author: Vadim Zeitlin
|
|
|
|
// Modified by:
|
|
|
|
// Created: 19.08.00
|
2001-07-02 15:42:27 -04:00
|
|
|
// Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
|
2004-05-23 16:53:33 -04:00
|
|
|
// Licence: wxWindows licence
|
2001-06-26 16:59:19 -04:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_UNIV_COLSCHEM_H_
|
|
|
|
#define _WX_UNIV_COLSCHEM_H_
|
|
|
|
|
2007-07-09 06:09:52 -04:00
|
|
|
class WXDLLIMPEXP_FWD_CORE wxWindow;
|
2001-06-26 16:59:19 -04:00
|
|
|
|
|
|
|
#include "wx/colour.h"
|
|
|
|
#include "wx/checkbox.h"
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// wxColourScheme
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
2008-03-26 11:06:00 -04:00
|
|
|
class WXDLLIMPEXP_CORE wxColourScheme
|
2001-06-26 16:59:19 -04:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
// the standard colours
|
|
|
|
enum StdColour
|
|
|
|
{
|
|
|
|
// the background colour for a window
|
|
|
|
WINDOW,
|
|
|
|
|
|
|
|
// the different background and text colours for the control
|
|
|
|
CONTROL,
|
|
|
|
CONTROL_PRESSED,
|
|
|
|
CONTROL_CURRENT,
|
|
|
|
|
|
|
|
// the label text for the normal and the disabled state
|
|
|
|
CONTROL_TEXT,
|
|
|
|
CONTROL_TEXT_DISABLED,
|
|
|
|
CONTROL_TEXT_DISABLED_SHADOW,
|
|
|
|
|
|
|
|
// the scrollbar background colour for the normal and pressed states
|
|
|
|
SCROLLBAR,
|
|
|
|
SCROLLBAR_PRESSED,
|
|
|
|
|
|
|
|
// the background and text colour for the highlighted item
|
|
|
|
HIGHLIGHT,
|
|
|
|
HIGHLIGHT_TEXT,
|
|
|
|
|
|
|
|
// these colours are used for drawing the shadows of 3D objects
|
|
|
|
SHADOW_DARK,
|
|
|
|
SHADOW_HIGHLIGHT,
|
|
|
|
SHADOW_IN,
|
|
|
|
SHADOW_OUT,
|
2006-12-24 14:06:39 -05:00
|
|
|
|
2001-09-23 18:42:57 -04:00
|
|
|
// the titlebar background colours for the normal and focused states
|
|
|
|
TITLEBAR,
|
|
|
|
TITLEBAR_ACTIVE,
|
2006-12-24 14:06:39 -05:00
|
|
|
|
2001-10-30 18:27:00 -05:00
|
|
|
// the titlebar text colours
|
2001-09-23 18:42:57 -04:00
|
|
|
TITLEBAR_TEXT,
|
2001-10-30 18:27:00 -05:00
|
|
|
TITLEBAR_ACTIVE_TEXT,
|
2006-12-24 14:06:39 -05:00
|
|
|
|
2002-02-04 11:34:22 -05:00
|
|
|
// the default gauge fill colour
|
|
|
|
GAUGE,
|
|
|
|
|
2001-10-30 18:27:00 -05:00
|
|
|
// desktop background colour (only used by framebuffer ports)
|
|
|
|
DESKTOP,
|
2001-06-26 16:59:19 -04:00
|
|
|
|
2006-12-24 14:06:39 -05:00
|
|
|
// wxFrame's background colour
|
|
|
|
FRAME,
|
|
|
|
|
2001-06-26 16:59:19 -04:00
|
|
|
MAX
|
|
|
|
};
|
|
|
|
|
|
|
|
// get a standard colour
|
|
|
|
virtual wxColour Get(StdColour col) const = 0;
|
|
|
|
|
|
|
|
// get the background colour for the given window
|
|
|
|
virtual wxColour GetBackground(wxWindow *win) const = 0;
|
|
|
|
|
|
|
|
// virtual dtor for any base class
|
2008-05-17 05:41:25 -04:00
|
|
|
virtual ~wxColourScheme() {}
|
2001-06-26 16:59:19 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
// some people just can't spell it correctly :-)
|
|
|
|
typedef wxColourScheme wxColorScheme;
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// macros
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
// retrieve the default colour from the theme or the given scheme
|
|
|
|
#define wxSCHEME_COLOUR(scheme, what) scheme->Get(wxColorScheme::what)
|
|
|
|
#define wxTHEME_COLOUR(what) \
|
|
|
|
wxSCHEME_COLOUR(wxTheme::Get()->GetColourScheme(), what)
|
|
|
|
|
|
|
|
// get the background colour for the window in the current theme
|
|
|
|
#define wxTHEME_BG_COLOUR(win) \
|
|
|
|
wxTheme::Get()->GetColourScheme()->GetBackground(win)
|
|
|
|
|
|
|
|
#endif // _WX_UNIV_COLSCHEM_H_
|