1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/msw/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_COLOUR_H_
12 #define _WX_COLOUR_H_
13 
14 #include "wx/object.h"
15 
16 // ----------------------------------------------------------------------------
17 // Colour
18 // ----------------------------------------------------------------------------
19 
20 class WXDLLIMPEXP_CORE wxColour : public wxColourBase
21 {
22 public:
23     // constructors
24     // ------------
25     DEFINE_STD_WXCOLOUR_CONSTRUCTORS
26 
27     // accessors
28     // ---------
29 
IsOk()30     virtual bool IsOk() const wxOVERRIDE { return m_isInit; }
31 
Red()32     unsigned char Red() const wxOVERRIDE { return m_red; }
Green()33     unsigned char Green() const wxOVERRIDE { return m_green; }
Blue()34     unsigned char Blue() const wxOVERRIDE { return m_blue; }
Alpha()35     unsigned char Alpha() const wxOVERRIDE { return m_alpha ; }
36 
37     // comparison
38     bool operator==(const wxColour& colour) const
39     {
40         return m_isInit == colour.m_isInit
41             && m_red == colour.m_red
42             && m_green == colour.m_green
43             && m_blue == colour.m_blue
44             && m_alpha == colour.m_alpha;
45     }
46 
47     bool operator!=(const wxColour& colour) const { return !(*this == colour); }
48 
GetPixel()49     WXCOLORREF GetPixel() const { return m_pixel; }
50 
51 public:
52     WXCOLORREF m_pixel;
53 
54 protected:
55     // Helper function
56     void Init();
57 
58     virtual void
59     InitRGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a) wxOVERRIDE;
60 
61 private:
62     bool          m_isInit;
63     unsigned char m_red;
64     unsigned char m_blue;
65     unsigned char m_green;
66     unsigned char m_alpha;
67 
68 private:
69     wxDECLARE_DYNAMIC_CLASS(wxColour);
70 };
71 
72 #endif // _WX_COLOUR_H_
73