00001 #ifndef __CLevelMeter__ 00002 #define __CLevelMeter__ 00003 00004 #include "CControl.hpp" 00005 using Exponent::GUI::Controls::CControl; 00006 00007 // =========================================================================== 00008 00009 namespace Exponent 00010 { 00011 namespace GUI 00012 { 00013 namespace Controls 00014 { 00032 class CLevelMeter : public CControl 00033 { 00035 EXPONENT_CLASS_DECLARATION; 00038 // =========================================================================== 00039 00040 public: 00041 00042 // =========================================================================== 00043 00051 CLevelMeter(IControlRoot *root, const long uniqueId, const CRect &area, const long numberOfSteps); 00052 00056 virtual ~CLevelMeter(); 00057 00058 // =========================================================================== 00059 00064 virtual void setValue(const double value); 00065 00071 virtual void setLineColour(const CAlphaColour &lineColourMin, const CAlphaColour &lineColourMax); 00072 00073 // =========================================================================== 00074 00079 virtual void drawControl(CGraphics &graphics); 00080 00081 // =========================================================================== 00082 00083 protected: 00084 00085 // =========================================================================== 00086 00087 long m_numberToDraw; 00088 long m_numberOfSteps; 00089 bool m_isVertical; 00090 CDimension m_gradingDimension; 00091 CAlphaColour m_lineColourMin; 00092 CAlphaColour m_lineColourMax; 00093 long deltaPerStep[3]; 00094 }; 00095 } 00096 } 00097 } 00098 #endif // End of CLevelMeter.hpp