]> git.saurik.com Git - wxWidgets.git/blob - include/wx/mac/carbon/colour.h
mac cgcolor changes & cleanup
[wxWidgets.git] / include / wx / mac / carbon / colour.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/mac/carbon/colour.h
3 // Purpose: wxColour class
4 // Author: Stefan Csomor
5 // Modified by:
6 // Created: 1998-01-01
7 // RCS-ID: $Id$
8 // Copyright: (c) Stefan Csomor
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_COLOUR_H_
13 #define _WX_COLOUR_H_
14
15 #include "wx/object.h"
16 #include "wx/string.h"
17
18 #include "wx/mac/corefoundation/cfref.h"
19
20 struct RGBColor;
21
22 // Colour
23 class WXDLLEXPORT wxColour: public wxColourBase
24 {
25 public:
26 // constructors
27 // ------------
28
29 // default
30 wxColour() { }
31 DEFINE_STD_WXCOLOUR_CONSTRUCTORS
32
33 // dtor
34 virtual ~wxColour();
35
36 // accessors
37 bool Ok() const { return IsOk(); }
38 bool IsOk() const;
39
40 ChannelType Red() const { return m_red; }
41 ChannelType Green() const { return m_green; }
42 ChannelType Blue() const { return m_blue; }
43 ChannelType Alpha() const { return m_alpha; }
44
45 // comparison
46 bool operator == (const wxColour& colour) const;
47
48 bool operator != (const wxColour& colour) const { return !(*this == colour); }
49
50 CGColorRef GetPixel() const { return m_cgColour; };
51 void GetRGBColor( RGBColor *col ) const;
52
53 // Mac-specific ctor and assignment operator from the native colour
54 // assumes ownership of CGColorRef
55 wxColour( CGColorRef col );
56 wxColour(const RGBColor& col);
57 wxColour& operator=(const RGBColor& col);
58 wxColour& operator=(CGColorRef col);
59
60 protected :
61
62
63 virtual void
64 InitRGBA(ChannelType r, ChannelType g, ChannelType b, ChannelType a);
65 void InitRGBColor( const RGBColor& col );
66 void InitCGColorRef( CGColorRef col );
67 private:
68 wxCFRef<CGColorRef> m_cgColour;
69
70 ChannelType m_red;
71 ChannelType m_blue;
72 ChannelType m_green;
73 ChannelType m_alpha;
74
75 DECLARE_DYNAMIC_CLASS(wxColour)
76 };
77
78 #endif
79 // _WX_COLOUR_H_