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 25class WXDLLEXPORT wxEffects: public wxObject 26{ 27DECLARE_CLASS(wxEffects) 28 29public: 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 38 wxColour GetHighlightColour() const { return m_highlightColour; } 39 wxColour GetLightShadow() const { return m_lightShadow; } 40 wxColour GetFaceColour() const { return m_faceColour; } 41 wxColour GetMediumShadow() const { return m_mediumShadow; } 42 wxColour GetDarkShadow() const { return m_darkShadow; } 43 44 void SetHighlightColour(const wxColour& c) { m_highlightColour = c; } 45 void SetLightShadow(const wxColour& c) { m_lightShadow = c; } 46 void SetFaceColour(const wxColour& c) { m_faceColour = c; } 47 void SetMediumShadow(const wxColour& c) { m_mediumShadow = c; } 48 void SetDarkShadow(const wxColour& c) { m_darkShadow = c; } 49 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 67protected: 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