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 // Copyright: (c) Julian Smart 9 // Licence: wxWindows licence 10 ///////////////////////////////////////////////////////////////////////////// 11 12 #ifndef _WX_EFFECTS_H_ 13 #define _WX_EFFECTS_H_ 14 15 // this class is deprecated and will be removed in the next wx version 16 // 17 // please use wxRenderer::DrawBorder() instead of DrawSunkenEdge(); there is no 18 // replacement for TileBitmap() but it doesn't seem to be very useful anyhow 19 #if WXWIN_COMPATIBILITY_2_8 20 21 /* 22 * wxEffects: various 3D effects 23 */ 24 25 #include "wx/object.h" 26 #include "wx/colour.h" 27 #include "wx/gdicmn.h" 28 #include "wx/dc.h" 29 30 class WXDLLIMPEXP_CORE wxEffectsImpl: public wxObject 31 { 32 public: 33 // Assume system colours 34 wxEffectsImpl() ; 35 // Going from lightest to darkest 36 wxEffectsImpl(const wxColour& highlightColour, const wxColour& lightShadow, 37 const wxColour& faceColour, const wxColour& mediumShadow, 38 const wxColour& darkShadow) ; 39 40 // Accessors GetHighlightColour()41 wxColour GetHighlightColour() const { return m_highlightColour; } GetLightShadow()42 wxColour GetLightShadow() const { return m_lightShadow; } GetFaceColour()43 wxColour GetFaceColour() const { return m_faceColour; } GetMediumShadow()44 wxColour GetMediumShadow() const { return m_mediumShadow; } GetDarkShadow()45 wxColour GetDarkShadow() const { return m_darkShadow; } 46 SetHighlightColour(const wxColour & c)47 void SetHighlightColour(const wxColour& c) { m_highlightColour = c; } SetLightShadow(const wxColour & c)48 void SetLightShadow(const wxColour& c) { m_lightShadow = c; } SetFaceColour(const wxColour & c)49 void SetFaceColour(const wxColour& c) { m_faceColour = c; } SetMediumShadow(const wxColour & c)50 void SetMediumShadow(const wxColour& c) { m_mediumShadow = c; } SetDarkShadow(const wxColour & c)51 void SetDarkShadow(const wxColour& c) { m_darkShadow = c; } 52 Set(const wxColour & highlightColour,const wxColour & lightShadow,const wxColour & faceColour,const wxColour & mediumShadow,const wxColour & darkShadow)53 void Set(const wxColour& highlightColour, const wxColour& lightShadow, 54 const wxColour& faceColour, const wxColour& mediumShadow, 55 const wxColour& darkShadow) 56 { 57 SetHighlightColour(highlightColour); 58 SetLightShadow(lightShadow); 59 SetFaceColour(faceColour); 60 SetMediumShadow(mediumShadow); 61 SetDarkShadow(darkShadow); 62 } 63 64 // Draw a sunken edge 65 void DrawSunkenEdge(wxDC& dc, const wxRect& rect, int borderSize = 1); 66 67 // Tile a bitmap 68 bool TileBitmap(const wxRect& rect, wxDC& dc, const wxBitmap& bitmap); 69 70 protected: 71 wxColour m_highlightColour; // Usually white 72 wxColour m_lightShadow; // Usually light grey 73 wxColour m_faceColour; // Usually grey 74 wxColour m_mediumShadow; // Usually dark grey 75 wxColour m_darkShadow; // Usually black 76 77 wxDECLARE_CLASS(wxEffectsImpl); 78 }; 79 80 // current versions of g++ don't generate deprecation warnings for classes 81 // declared deprecated, so define wxEffects as a typedef instead: this does 82 // generate warnings with both g++ and VC (which also has no troubles with 83 // directly deprecating the classes...) 84 // 85 // note that this g++ bug (16370) is supposed to be fixed in g++ 4.3.0 86 typedef wxEffectsImpl wxDEPRECATED(wxEffects); 87 88 #endif // WXWIN_COMPATIBILITY_2_8 89 90 #endif // _WX_EFFECTS_H_ 91