]> git.saurik.com Git - wxWidgets.git/blob - include/wx/effects.h
1ad96f4ec68d8b02fb4567130d4513ea546aa6bf
[wxWidgets.git] / include / wx / effects.h
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$
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
23 class WXDLLEXPORT wxEffects: public wxObject
24 {
25 DECLARE_CLASS(wxEffects)
26
27 public:
28 // Assume system colours
29 wxEffects() ;
30 // Going from lightest to darkest
31 wxEffects(const wxColour& highlightColour, const wxColour& lightShadow,
32 const wxColour& faceColour, const wxColour& mediumShadow,
33 const wxColour& darkShadow) ;
34
35 // Accessors
36 wxColour GetHighlightColour() const { return m_highlightColour; }
37 wxColour GetLightShadow() const { return m_lightShadow; }
38 wxColour GetFaceColour() const { return m_faceColour; }
39 wxColour GetMediumShadow() const { return m_mediumShadow; }
40 wxColour GetDarkShadow() const { return m_darkShadow; }
41
42 void SetHighlightColour(const wxColour& c) { m_highlightColour = c; }
43 void SetLightShadow(const wxColour& c) { m_lightShadow = c; }
44 void SetFaceColour(const wxColour& c) { m_faceColour = c; }
45 void SetMediumShadow(const wxColour& c) { m_mediumShadow = c; }
46 void SetDarkShadow(const wxColour& c) { m_darkShadow = c; }
47
48 void Set(const wxColour& highlightColour, const wxColour& lightShadow,
49 const wxColour& faceColour, const wxColour& mediumShadow,
50 const wxColour& darkShadow)
51 {
52 SetHighlightColour(highlightColour);
53 SetLightShadow(lightShadow);
54 SetFaceColour(faceColour);
55 SetMediumShadow(mediumShadow);
56 SetDarkShadow(darkShadow);
57 }
58
59 // Draw a sunken edge
60 void DrawSunkenEdge(wxDC& dc, const wxRect& rect, int borderSize = 1);
61
62 // Tile a bitmap
63 bool TileBitmap(const wxRect& rect, wxDC& dc, const wxBitmap& bitmap);
64
65 protected:
66 wxColour m_highlightColour; // Usually white
67 wxColour m_lightShadow; // Usually light grey
68 wxColour m_faceColour; // Usually grey
69 wxColour m_mediumShadow; // Usually dark grey
70 wxColour m_darkShadow; // Usually black
71 };
72
73 #endif