00001 #ifndef __CTriStateImage__ 00002 #define __CTriStateImage__ 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 CTriStateImage : public CControl 00033 { 00035 EXPONENT_CLASS_DECLARATION; 00038 // =========================================================================== 00039 00040 public: 00041 00042 // =========================================================================== 00043 00050 CTriStateImage(IControlRoot *root, const long uniqueId, const CRect &area); 00051 00055 virtual ~CTriStateImage(); 00056 00057 // =========================================================================== 00058 00063 virtual void drawControl(CGraphics &graphics); 00064 00065 // =========================================================================== 00066 00073 void setImages(IImage *image1, IImage *image2, IImage *image3); 00074 00079 void setState(const long state); 00080 00081 // =========================================================================== 00082 00083 00084 protected: 00085 00086 // =========================================================================== 00087 00088 IImage *m_images[3]; 00089 long m_currentState; 00090 }; 00091 } 00092 } 00093 } 00094 #endif // End of CTriStateImage.hpp