]>
git.saurik.com Git - wxWidgets.git/blob - interface/wx/colour.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxColour
4 // Author: wxWidgets team
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
12 Flags for wxColour -> wxString conversion (see wxColour::GetAsString).
16 #define wxC2S_NAME 1 //!< Return colour name, when possible.
17 #define wxC2S_CSS_SYNTAX 2 //!< Return colour in "rgb(r,g,b)" syntax.
18 #define wxC2S_HTML_SYNTAX 4 //!< Return colour in "#rrggbb" syntax.
26 A colour is an object representing a combination of Red, Green, and Blue
27 (RGB) intensity values, and is used to determine drawing colours. See the
28 entry for wxColourDatabase for how a pointer to a predefined, named colour
29 may be returned instead of creating a new colour.
31 Valid RGB values are in the range 0 to 255.
33 You can retrieve the current system colour settings with wxSystemSettings.
39 - ::wxNullColour - An empty, invalid colour.
49 @see wxColourDatabase, wxPen, wxBrush, wxColourDialog, wxSystemSettings
51 class wxColour
: public wxObject
68 The alpha value. Alpha values range from 0 (wxALPHA_TRANSPARENT) to
71 wxColour(unsigned char red
, unsigned char green
, unsigned char blue
,
72 unsigned char alpha
= wxALPHA_OPAQUE
);
78 wxColour(const wxString
& colourName
);
83 wxColour(const wxColour
& colour
);
86 Returns the alpha value, on platforms where alpha is not yet supported, this
87 always returns wxALPHA_OPAQUE.
89 virtual unsigned char Alpha() const;
92 Returns the blue intensity.
94 virtual unsigned char Blue() const;
97 Converts this colour to a wxString using the given flags.
99 The supported flags are @c wxC2S_NAME, to obtain the colour name
100 (e.g. wxColour(255,0,0) == "red"), @c wxC2S_CSS_SYNTAX, to obtain
101 the colour in the "rgb(r,g,b)" or "rgba(r,g,b,a)" syntax
102 (e.g. wxColour(255,0,0,85) == "rgba(255,0,0,0.333)"), and
103 @c wxC2S_HTML_SYNTAX, to obtain the colour as "#" followed by 6
104 hexadecimal digits (e.g. wxColour(255,0,0) == "#FF0000").
106 This function never fails and always returns a non-empty string but
107 asserts if the colour has alpha channel (i.e. is non opaque) but
108 @c wxC2S_CSS_SYNTAX (which is the only one supporting alpha) is not
113 virtual wxString
GetAsString(long flags
= wxC2S_NAME
| wxC2S_CSS_SYNTAX
) const;
116 Returns a pixel value which is platform-dependent.
117 On Windows, a COLORREF is returned.
118 On X, an allocated pixel value is returned.
119 If the pixel is invalid (on X, unallocated), @c -1 is returned.
121 int GetPixel() const;
124 Returns the green intensity.
126 virtual unsigned char Green() const;
129 Returns @true if the colour object is valid (the colour has been initialised
132 virtual bool IsOk() const;
135 Returns the red intensity.
137 virtual unsigned char Red() const;
141 Sets the RGB intensity values using the given values (first overload),
142 extracting them from the packed long (second overload), using the given
143 string (third overloard).
145 When using third form, Set() accepts: colour names (those listed in
146 wxTheColourDatabase()), the CSS-like @c "rgb(r,g,b)" or
147 @c "rgba(r,g,b,a)" syntax (case insensitive) and the HTML-like syntax
148 (i.e. @c "#" followed by 6 hexadecimal digits for red, green, blue
151 Returns @true if the conversion was successful, @false otherwise.
155 void Set(unsigned char red
, unsigned char green
,
157 unsigned char alpha
= wxALPHA_OPAQUE
);
158 void Set(unsigned long RGB
);
159 bool Set(const wxString
& str
);
163 Tests the inequality of two colours by comparing individual red, green, blue
164 colours and alpha values.
166 bool operator !=(const wxColour
& colour
) const;
169 Assignment operator, using a colour name to be found in the colour database.
171 @see wxColourDatabase
173 wxColour
& operator=(const wxColour
& colour
);
176 Tests the equality of two colours by comparing individual red, green, blue
177 colours and alpha values.
179 bool operator ==(const wxColour
& colour
) const;
183 /** @name Predefined colors. */
185 wxColour wxNullColour
;
191 wxColour
* wxLIGHT_GREY
;
198 // ============================================================================
199 // Global functions/macros
200 // ============================================================================
202 /** @addtogroup group_funcmacro_misc */
206 Converts string to a wxColour best represented by the given string. Returns
209 @see wxToString(const wxColour&)
213 bool wxFromString(const wxString
& string
, wxColour
* colour
);
216 Converts the given wxColour into a string.
218 @see wxFromString(const wxString&, wxColour*)
222 wxString
wxToString(const wxColour
& colour
);