1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/effects.h
3 // Purpose:     wxEffects class
4 //              Draws 3D effects.
5 // Author:      Julian Smart et al
6 // Modified by:
7 // Created:     25/4/2000
8 // RCS-ID:      $Id: effects.h 39109 2006-05-08 11:31:03Z ABX $
9 // Copyright:   (c) Julian Smart
10 // Licence:     wxWindows licence
11 /////////////////////////////////////////////////////////////////////////////
12 
13 #ifndef _WX_EFFECTS_H_
14 #define _WX_EFFECTS_H_
15 
16 /*
17  * wxEffects: various 3D effects
18  */
19 
20 #include "wx/object.h"
21 #include "wx/colour.h"
22 #include "wx/gdicmn.h"
23 #include "wx/dc.h"
24 
25 class WXDLLEXPORT wxEffects: public wxObject
26 {
27 DECLARE_CLASS(wxEffects)
28 
29 public:
30     // Assume system colours
31     wxEffects() ;
32     // Going from lightest to darkest
33     wxEffects(const wxColour& highlightColour, const wxColour& lightShadow,
34               const wxColour& faceColour, const wxColour& mediumShadow,
35               const wxColour& darkShadow) ;
36 
37     // Accessors
GetHighlightColour()38     wxColour GetHighlightColour() const { return m_highlightColour; }
GetLightShadow()39     wxColour GetLightShadow() const { return m_lightShadow; }
GetFaceColour()40     wxColour GetFaceColour() const { return m_faceColour; }
GetMediumShadow()41     wxColour GetMediumShadow() const { return m_mediumShadow; }
GetDarkShadow()42     wxColour GetDarkShadow() const { return m_darkShadow; }
43 
SetHighlightColour(const wxColour & c)44     void SetHighlightColour(const wxColour& c) { m_highlightColour = c; }
SetLightShadow(const wxColour & c)45     void SetLightShadow(const wxColour& c) { m_lightShadow = c; }
SetFaceColour(const wxColour & c)46     void SetFaceColour(const wxColour& c) { m_faceColour = c; }
SetMediumShadow(const wxColour & c)47     void SetMediumShadow(const wxColour& c) { m_mediumShadow = c; }
SetDarkShadow(const wxColour & c)48     void SetDarkShadow(const wxColour& c) { m_darkShadow = c; }
49 
Set(const wxColour & highlightColour,const wxColour & lightShadow,const wxColour & faceColour,const wxColour & mediumShadow,const wxColour & darkShadow)50     void Set(const wxColour& highlightColour, const wxColour& lightShadow,
51              const wxColour& faceColour, const wxColour& mediumShadow,
52              const wxColour& darkShadow)
53     {
54         SetHighlightColour(highlightColour);
55         SetLightShadow(lightShadow);
56         SetFaceColour(faceColour);
57         SetMediumShadow(mediumShadow);
58         SetDarkShadow(darkShadow);
59     }
60 
61     // Draw a sunken edge
62     void DrawSunkenEdge(wxDC& dc, const wxRect& rect, int borderSize = 1);
63 
64     // Tile a bitmap
65     bool TileBitmap(const wxRect& rect, wxDC& dc, const wxBitmap& bitmap);
66 
67 protected:
68     wxColour    m_highlightColour;  // Usually white
69     wxColour    m_lightShadow;      // Usually light grey
70     wxColour    m_faceColour;       // Usually grey
71     wxColour    m_mediumShadow;     // Usually dark grey
72     wxColour    m_darkShadow;       // Usually black
73 };
74 
75 #endif
76