X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af49c4b8a2d3553e733e71c7dd3911881f4c1a2a..2c336e249e8c3dac4390ba0c23a22d5ba35b579b:/include/wx/effects.h diff --git a/include/wx/effects.h b/include/wx/effects.h index 09db9151a1..cf197f2e5a 100644 --- a/include/wx/effects.h +++ b/include/wx/effects.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: effects.h +// Name: wx/effects.h // Purpose: wxEffects class // Draws 3D effects. // Author: Julian Smart et al @@ -7,43 +7,85 @@ // Created: 25/4/2000 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(__APPLE__) -#pragma interface "effects.h" -#endif - #ifndef _WX_EFFECTS_H_ #define _WX_EFFECTS_H_ +// this class is deprecated and will be removed in the next wx version +// +// please use wxRenderer::DrawBorder() instead of DrawSunkenEdge(); there is no +// replacement for TileBitmap() but it doesn't seem to be very useful anyhow +#if WXWIN_COMPATIBILITY_2_8 + /* * wxEffects: various 3D effects */ -class WXDLLEXPORT wxEffects: public wxObject -{ -DECLARE_CLASS(wxEffects) +#include "wx/object.h" +#include "wx/colour.h" +#include "wx/gdicmn.h" +#include "wx/dc.h" +class WXDLLIMPEXP_CORE wxEffectsImpl: public wxObject +{ public: // Assume system colours - wxEffects() ; + wxEffectsImpl() ; // Going from lightest to darkest - wxEffects(const wxColour& highlightColour, const wxColour& lightShadow, - const wxColour& faceColour, const wxColour& mediumShadow, const wxColour& darkShadow) ; + wxEffectsImpl(const wxColour& highlightColour, const wxColour& lightShadow, + const wxColour& faceColour, const wxColour& mediumShadow, + const wxColour& darkShadow) ; + + // Accessors + wxColour GetHighlightColour() const { return m_highlightColour; } + wxColour GetLightShadow() const { return m_lightShadow; } + wxColour GetFaceColour() const { return m_faceColour; } + wxColour GetMediumShadow() const { return m_mediumShadow; } + wxColour GetDarkShadow() const { return m_darkShadow; } + + void SetHighlightColour(const wxColour& c) { m_highlightColour = c; } + void SetLightShadow(const wxColour& c) { m_lightShadow = c; } + void SetFaceColour(const wxColour& c) { m_faceColour = c; } + void SetMediumShadow(const wxColour& c) { m_mediumShadow = c; } + void SetDarkShadow(const wxColour& c) { m_darkShadow = c; } + + void Set(const wxColour& highlightColour, const wxColour& lightShadow, + const wxColour& faceColour, const wxColour& mediumShadow, + const wxColour& darkShadow) + { + SetHighlightColour(highlightColour); + SetLightShadow(lightShadow); + SetFaceColour(faceColour); + SetMediumShadow(mediumShadow); + SetDarkShadow(darkShadow); + } // Draw a sunken edge void DrawSunkenEdge(wxDC& dc, const wxRect& rect, int borderSize = 1); // Tile a bitmap - bool TileBitmap(const wxRect& rect, wxDC& dc, wxBitmap& bitmap); + bool TileBitmap(const wxRect& rect, wxDC& dc, const wxBitmap& bitmap); + protected: wxColour m_highlightColour; // Usually white wxColour m_lightShadow; // Usually light grey wxColour m_faceColour; // Usually grey wxColour m_mediumShadow; // Usually dark grey wxColour m_darkShadow; // Usually black + + DECLARE_CLASS(wxEffectsImpl) }; -#endif +// current versions of g++ don't generate deprecation warnings for classes +// declared deprecated, so define wxEffects as a typedef instead: this does +// generate warnings with both g++ and VC (which also has no troubles with +// directly deprecating the classes...) +// +// note that this g++ bug (16370) is supposed to be fixed in g++ 4.3.0 +typedef wxEffectsImpl wxDEPRECATED(wxEffects); + +#endif // WXWIN_COMPATIBILITY_2_8 +#endif // _WX_EFFECTS_H_