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