1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/cocoa/colour.h
3 // Purpose: wxColour class
4 // Author: David Elliott
8 // Copyright: (c) 2003 David Elliott
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef __WX_COCOA_COLOUR_H__
13 #define __WX_COCOA_COLOUR_H__
15 #include "wx/object.h"
16 #include "wx/string.h"
18 // ========================================================================
20 // ========================================================================
22 class WXDLLEXPORT wxColour
: public wxColourBase
29 wxColour() { Init(); }
31 // the other standard ones: notice that we can't use
32 // DEFINE_STD_WXCOLOUR_CONSTRUCTORS here because we need to call Init() to
33 // initialize m_cocoaNSColor and the macro doesn't do it
34 wxColour( ChannelType red
, ChannelType green
, ChannelType blue
,
35 ChannelType alpha
= wxALPHA_OPAQUE
)
36 { Init(); Set(red
, green
, blue
, alpha
); }
37 wxColour(unsigned long colRGB
) { Init(); Set(colRGB
); }
38 wxColour(const wxString
&colourName
) { Init(); Set(colourName
); }
39 wxColour(const wxChar
*colourName
) { Init(); Set(colourName
); }
41 // initialization using existing NSColor
42 wxColour( WX_NSColor aColor
);
45 // copy ctors and assignment operators
46 wxColour( const wxColour
& col
);
47 wxColour
& operator = ( const wxColour
& col
);
52 bool Ok() const { return IsOk(); }
53 bool IsOk() const { return m_cocoaNSColor
; }
54 WX_NSColor
GetNSColor() { return m_cocoaNSColor
; }
56 unsigned char Red() const { return m_red
; }
57 unsigned char Green() const { return m_green
; }
58 unsigned char Blue() const { return m_blue
; }
59 unsigned char Alpha() const { return m_alpha
; }
62 bool operator == (const wxColour
& colour
) const
64 return m_cocoaNSColor
== colour
.m_cocoaNSColor
||
65 (m_red
== colour
.m_red
&&
66 m_green
== colour
.m_green
&&
67 m_blue
== colour
.m_blue
&&
68 m_alpha
== colour
.m_alpha
);
70 bool operator != (const wxColour
& colour
) const
71 { return !(*this == colour
); }
74 void Set( WX_NSColor aColor
);
76 // reroute the inherited ones
77 void Set(unsigned char red
,
80 unsigned char alpha
= wxALPHA_OPAQUE
)
81 { wxColourBase::Set(red
, green
, blue
, alpha
); }
83 bool Set(const wxChar
*str
)
84 { return wxColourBase::Set(str
); }
86 bool Set(const wxString
&str
)
87 { return wxColourBase::Set(str
); }
89 void Set(unsigned long colRGB
)
90 { wxColourBase::Set(colRGB
); }
93 // puts the object in an invalid, uninitialized state
97 InitRGBA(unsigned char r
, unsigned char g
, unsigned char b
, unsigned char a
);
100 WX_NSColor m_cocoaNSColor
;
102 unsigned char m_green
;
103 unsigned char m_blue
;
104 unsigned char m_alpha
;
106 DECLARE_DYNAMIC_CLASS(wxColour
)
109 #endif // __WX_COCOA_COLOUR_H__