]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/mac/carbon/colour.h
fixed memory leak in wxXmlResource introduced when fixing wxVector<> usage (patch...
[wxWidgets.git] / include / wx / mac / carbon / colour.h
... / ...
CommitLineData
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
20struct RGBColor;
21
22// Colour
23class WXDLLEXPORT wxColour: public wxColourBase
24{
25public:
26 // constructors
27 // ------------
28 DEFINE_STD_WXCOLOUR_CONSTRUCTORS
29
30 // default copy ctor and dtor are ok
31
32 // accessors
33 virtual bool IsOk() const { return m_cgColour; }
34
35 ChannelType Red() const { return m_red; }
36 ChannelType Green() const { return m_green; }
37 ChannelType Blue() const { return m_blue; }
38 ChannelType Alpha() const { return m_alpha; }
39
40 // comparison
41 bool operator == (const wxColour& colour) const;
42
43 bool operator != (const wxColour& colour) const { return !(*this == colour); }
44
45 CGColorRef GetPixel() const { return m_cgColour; };
46
47 CGColorRef GetCGColor() const { return m_cgColour; };
48 CGColorRef CreateCGColor() const { return wxCFRetain( (CGColorRef)m_cgColour ); };
49
50 void GetRGBColor( RGBColor *col ) const;
51
52 // Mac-specific ctor and assignment operator from the native colour
53 // assumes ownership of CGColorRef
54 wxColour( CGColorRef col );
55 wxColour(const RGBColor& col);
56 wxColour& operator=(const RGBColor& col);
57 wxColour& operator=(CGColorRef col);
58 wxColour& operator=(const wxColour& col);
59
60protected :
61 virtual void
62 InitRGBA(ChannelType r, ChannelType g, ChannelType b, ChannelType a);
63 void InitRGBColor( const RGBColor& col );
64 void InitCGColorRef( CGColorRef col );
65private:
66 wxCFRef<CGColorRef> m_cgColour;
67
68 ChannelType m_red;
69 ChannelType m_blue;
70 ChannelType m_green;
71 ChannelType m_alpha;
72
73 DECLARE_DYNAMIC_CLASS(wxColour)
74};
75
76#endif
77 // _WX_COLOUR_H_