1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/generic/colour.h 3 // Purpose: wxColour class 4 // Author: Julian Smart 5 // Modified by: 6 // Created: 01/02/97 7 // Copyright: (c) Julian Smart 8 // Licence: wxWindows licence 9 ///////////////////////////////////////////////////////////////////////////// 10 11 #ifndef _WX_GENERIC_COLOUR_H_ 12 #define _WX_GENERIC_COLOUR_H_ 13 14 #include "wx/object.h" 15 16 // Colour 17 class WXDLLIMPEXP_CORE wxColour: public wxColourBase 18 { 19 public: 20 // constructors 21 // ------------ 22 DEFINE_STD_WXCOLOUR_CONSTRUCTORS 23 24 // copy ctors and assignment operators wxColour(const wxColour & col)25 wxColour(const wxColour& col) 26 { 27 *this = col; 28 } 29 30 wxColour& operator=(const wxColour& col); 31 32 // accessors IsOk()33 virtual bool IsOk() const { return m_isInit; } 34 Red()35 unsigned char Red() const { return m_red; } Green()36 unsigned char Green() const { return m_green; } Blue()37 unsigned char Blue() const { return m_blue; } Alpha()38 unsigned char Alpha() const { return m_alpha; } 39 40 // comparison 41 bool operator==(const wxColour& colour) const 42 { 43 return (m_red == colour.m_red && 44 m_green == colour.m_green && 45 m_blue == colour.m_blue && 46 m_alpha == colour.m_alpha && 47 m_isInit == colour.m_isInit); 48 } 49 50 bool operator!=(const wxColour& colour) const { return !(*this == colour); } 51 52 protected: 53 54 // Helper function 55 void Init(); 56 57 virtual void 58 InitRGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a); 59 60 private: 61 bool m_isInit; 62 unsigned char m_red; 63 unsigned char m_blue; 64 unsigned char m_green; 65 unsigned char m_alpha; 66 67 private: 68 DECLARE_DYNAMIC_CLASS(wxColour) 69 }; 70 71 #endif // _WX_GENERIC_COLOUR_H_ 72