1 | /**************************************************************************** |
2 | ** |
3 | ** Copyright (C) 2020 The Qt Company Ltd. |
4 | ** Contact: https://www.qt.io/licensing/ |
5 | ** |
6 | ** This file is part of the QtGui module of the Qt Toolkit. |
7 | ** |
8 | ** $QT_BEGIN_LICENSE:LGPL$ |
9 | ** Commercial License Usage |
10 | ** Licensees holding valid commercial Qt licenses may use this file in |
11 | ** accordance with the commercial license agreement provided with the |
12 | ** Software or, alternatively, in accordance with the terms contained in |
13 | ** a written agreement between you and The Qt Company. For licensing terms |
14 | ** and conditions see https://www.qt.io/terms-conditions. For further |
15 | ** information use the contact form at https://www.qt.io/contact-us. |
16 | ** |
17 | ** GNU Lesser General Public License Usage |
18 | ** Alternatively, this file may be used under the terms of the GNU Lesser |
19 | ** General Public License version 3 as published by the Free Software |
20 | ** Foundation and appearing in the file LICENSE.LGPL3 included in the |
21 | ** packaging of this file. Please review the following information to |
22 | ** ensure the GNU Lesser General Public License version 3 requirements |
23 | ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. |
24 | ** |
25 | ** GNU General Public License Usage |
26 | ** Alternatively, this file may be used under the terms of the GNU |
27 | ** General Public License version 2.0 or (at your option) the GNU General |
28 | ** Public license version 3 or any later version approved by the KDE Free |
29 | ** Qt Foundation. The licenses are as published by the Free Software |
30 | ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 |
31 | ** included in the packaging of this file. Please review the following |
32 | ** information to ensure the GNU General Public License requirements will |
33 | ** be met: https://www.gnu.org/licenses/gpl-2.0.html and |
34 | ** https://www.gnu.org/licenses/gpl-3.0.html. |
35 | ** |
36 | ** $QT_END_LICENSE$ |
37 | ** |
38 | ****************************************************************************/ |
39 | |
40 | #ifndef QCOLOR_H |
41 | #define QCOLOR_H |
42 | |
43 | #include <QtGui/qtguiglobal.h> |
44 | #include <QtGui/qrgb.h> |
45 | #include <QtCore/qnamespace.h> |
46 | #include <QtCore/qstringlist.h> |
47 | #include <QtGui/qrgba64.h> |
48 | |
49 | #include <limits.h> |
50 | |
51 | QT_BEGIN_NAMESPACE |
52 | |
53 | |
54 | class QColor; |
55 | class QColormap; |
56 | class QVariant; |
57 | |
58 | #ifndef QT_NO_DEBUG_STREAM |
59 | Q_GUI_EXPORT QDebug operator<<(QDebug, const QColor &); |
60 | #endif |
61 | #ifndef QT_NO_DATASTREAM |
62 | Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QColor &); |
63 | Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QColor &); |
64 | #endif |
65 | |
66 | class Q_GUI_EXPORT QColor |
67 | { |
68 | public: |
69 | enum Spec { Invalid, Rgb, Hsv, Cmyk, Hsl, ExtendedRgb }; |
70 | enum NameFormat { HexRgb, HexArgb }; |
71 | |
72 | constexpr QColor() noexcept |
73 | : cspec(Invalid), ct(USHRT_MAX, 0, 0, 0, 0) {} |
74 | QColor(Qt::GlobalColor color) noexcept; |
75 | constexpr QColor(int r, int g, int b, int a = 255) noexcept |
76 | : cspec(isRgbaValid(r, g, b, a) ? Rgb : Invalid), |
77 | ct(ushort(cspec == Rgb ? a * 0x0101 : 0), |
78 | ushort(cspec == Rgb ? r * 0x0101 : 0), |
79 | ushort(cspec == Rgb ? g * 0x0101 : 0), |
80 | ushort(cspec == Rgb ? b * 0x0101 : 0), |
81 | 0) {} |
82 | QColor(QRgb rgb) noexcept; |
83 | QColor(QRgba64 rgba64) noexcept; |
84 | #if QT_STRINGVIEW_LEVEL < 2 |
85 | inline QColor(const QString& name); |
86 | #endif |
87 | explicit inline QColor(QStringView name); |
88 | inline QColor(const char *aname) : QColor(QLatin1String(aname)) {} |
89 | inline QColor(QLatin1String name); |
90 | QColor(Spec spec) noexcept; |
91 | |
92 | QColor &operator=(Qt::GlobalColor color) noexcept; |
93 | |
94 | bool isValid() const noexcept; |
95 | |
96 | QString name(NameFormat format = HexRgb) const; |
97 | |
98 | #if QT_STRINGVIEW_LEVEL < 2 |
99 | void setNamedColor(const QString& name); |
100 | #endif |
101 | void setNamedColor(QStringView name); |
102 | void setNamedColor(QLatin1String name); |
103 | |
104 | static QStringList colorNames(); |
105 | |
106 | inline Spec spec() const noexcept |
107 | { return cspec; } |
108 | |
109 | int alpha() const noexcept; |
110 | void setAlpha(int alpha); |
111 | |
112 | float alphaF() const noexcept; |
113 | void setAlphaF(float alpha); |
114 | |
115 | int red() const noexcept; |
116 | int green() const noexcept; |
117 | int blue() const noexcept; |
118 | void setRed(int red); |
119 | void setGreen(int green); |
120 | void setBlue(int blue); |
121 | |
122 | float redF() const noexcept; |
123 | float greenF() const noexcept; |
124 | float blueF() const noexcept; |
125 | void setRedF(float red); |
126 | void setGreenF(float green); |
127 | void setBlueF(float blue); |
128 | |
129 | void getRgb(int *r, int *g, int *b, int *a = nullptr) const; |
130 | void setRgb(int r, int g, int b, int a = 255); |
131 | |
132 | void getRgbF(float *r, float *g, float *b, float *a = nullptr) const; |
133 | void setRgbF(float r, float g, float b, float a = 1.0); |
134 | |
135 | QRgba64 rgba64() const noexcept; |
136 | void setRgba64(QRgba64 rgba) noexcept; |
137 | |
138 | QRgb rgba() const noexcept; |
139 | void setRgba(QRgb rgba) noexcept; |
140 | |
141 | QRgb rgb() const noexcept; |
142 | void setRgb(QRgb rgb) noexcept; |
143 | |
144 | int hue() const noexcept; // 0 <= hue < 360 |
145 | int saturation() const noexcept; |
146 | int hsvHue() const noexcept; // 0 <= hue < 360 |
147 | int hsvSaturation() const noexcept; |
148 | int value() const noexcept; |
149 | |
150 | float hueF() const noexcept; // 0.0 <= hueF < 360.0 |
151 | float saturationF() const noexcept; |
152 | float hsvHueF() const noexcept; // 0.0 <= hueF < 360.0 |
153 | float hsvSaturationF() const noexcept; |
154 | float valueF() const noexcept; |
155 | |
156 | void getHsv(int *h, int *s, int *v, int *a = nullptr) const; |
157 | void setHsv(int h, int s, int v, int a = 255); |
158 | |
159 | void getHsvF(float *h, float *s, float *v, float *a = nullptr) const; |
160 | void setHsvF(float h, float s, float v, float a = 1.0); |
161 | |
162 | int cyan() const noexcept; |
163 | int magenta() const noexcept; |
164 | int yellow() const noexcept; |
165 | int black() const noexcept; |
166 | |
167 | float cyanF() const noexcept; |
168 | float magentaF() const noexcept; |
169 | float yellowF() const noexcept; |
170 | float blackF() const noexcept; |
171 | |
172 | void getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr) const; |
173 | void setCmyk(int c, int m, int y, int k, int a = 255); |
174 | |
175 | void getCmykF(float *c, float *m, float *y, float *k, float *a = nullptr) const; |
176 | void setCmykF(float c, float m, float y, float k, float a = 1.0); |
177 | |
178 | int hslHue() const noexcept; // 0 <= hue < 360 |
179 | int hslSaturation() const noexcept; |
180 | int lightness() const noexcept; |
181 | |
182 | float hslHueF() const noexcept; // 0.0 <= hueF < 360.0 |
183 | float hslSaturationF() const noexcept; |
184 | float lightnessF() const noexcept; |
185 | |
186 | void getHsl(int *h, int *s, int *l, int *a = nullptr) const; |
187 | void setHsl(int h, int s, int l, int a = 255); |
188 | |
189 | void getHslF(float *h, float *s, float *l, float *a = nullptr) const; |
190 | void setHslF(float h, float s, float l, float a = 1.0); |
191 | |
192 | QColor toRgb() const noexcept; |
193 | QColor toHsv() const noexcept; |
194 | QColor toCmyk() const noexcept; |
195 | QColor toHsl() const noexcept; |
196 | QColor toExtendedRgb() const noexcept; |
197 | |
198 | [[nodiscard]] QColor convertTo(Spec colorSpec) const noexcept; |
199 | |
200 | static QColor fromRgb(QRgb rgb) noexcept; |
201 | static QColor fromRgba(QRgb rgba) noexcept; |
202 | |
203 | static QColor fromRgb(int r, int g, int b, int a = 255); |
204 | static QColor fromRgbF(float r, float g, float b, float a = 1.0); |
205 | |
206 | static QColor fromRgba64(ushort r, ushort g, ushort b, ushort a = USHRT_MAX) noexcept; |
207 | static QColor fromRgba64(QRgba64 rgba) noexcept; |
208 | |
209 | static QColor fromHsv(int h, int s, int v, int a = 255); |
210 | static QColor fromHsvF(float h, float s, float v, float a = 1.0); |
211 | |
212 | static QColor fromCmyk(int c, int m, int y, int k, int a = 255); |
213 | static QColor fromCmykF(float c, float m, float y, float k, float a = 1.0); |
214 | |
215 | static QColor fromHsl(int h, int s, int l, int a = 255); |
216 | static QColor fromHslF(float h, float s, float l, float a = 1.0); |
217 | |
218 | [[nodiscard]] QColor lighter(int f = 150) const noexcept; |
219 | [[nodiscard]] QColor darker(int f = 200) const noexcept; |
220 | |
221 | bool operator==(const QColor &c) const noexcept; |
222 | bool operator!=(const QColor &c) const noexcept; |
223 | |
224 | operator QVariant() const; |
225 | |
226 | #if QT_STRINGVIEW_LEVEL < 2 |
227 | static bool isValidColor(const QString &name); |
228 | #endif |
229 | static bool isValidColor(QStringView) noexcept; |
230 | static bool isValidColor(QLatin1String) noexcept; |
231 | |
232 | private: |
233 | |
234 | void invalidate() noexcept; |
235 | template <typename String> |
236 | bool setColorFromString(String name); |
237 | |
238 | static constexpr bool isRgbaValid(int r, int g, int b, int a = 255) noexcept Q_DECL_CONST_FUNCTION |
239 | { |
240 | return uint(r) <= 255 && uint(g) <= 255 && uint(b) <= 255 && uint(a) <= 255; |
241 | } |
242 | |
243 | Spec cspec; |
244 | union CT { |
245 | #ifdef Q_COMPILER_UNIFORM_INIT |
246 | CT() {} // doesn't init anything, thus can't be constexpr |
247 | constexpr explicit CT(ushort a1, ushort a2, ushort a3, ushort a4, ushort a5) noexcept |
248 | : array{a1, a2, a3, a4, a5} {} |
249 | #endif |
250 | struct { |
251 | ushort alpha; |
252 | ushort red; |
253 | ushort green; |
254 | ushort blue; |
255 | ushort pad; |
256 | } argb; |
257 | struct { |
258 | ushort alpha; |
259 | ushort hue; |
260 | ushort saturation; |
261 | ushort value; |
262 | ushort pad; |
263 | } ahsv; |
264 | struct { |
265 | ushort alpha; |
266 | ushort cyan; |
267 | ushort magenta; |
268 | ushort yellow; |
269 | ushort black; |
270 | } acmyk; |
271 | struct { |
272 | ushort alpha; |
273 | ushort hue; |
274 | ushort saturation; |
275 | ushort lightness; |
276 | ushort pad; |
277 | } ahsl; |
278 | struct { |
279 | ushort alphaF16; |
280 | ushort redF16; |
281 | ushort greenF16; |
282 | ushort blueF16; |
283 | ushort pad; |
284 | } argbExtended; |
285 | ushort array[5]; |
286 | } ct; |
287 | |
288 | friend class QColormap; |
289 | #ifndef QT_NO_DATASTREAM |
290 | friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QColor &); |
291 | friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QColor &); |
292 | #endif |
293 | |
294 | #ifdef Q_COMPILER_UNIFORM_INIT |
295 | public: // can't give friendship to a namespace, so it needs to be public |
296 | constexpr explicit QColor(Spec spec, ushort a1, ushort a2, ushort a3, ushort a4, ushort a5=0) noexcept |
297 | : cspec(spec), ct(a1, a2, a3, a4, a5) {} |
298 | #endif // Q_COMPILER_UNIFORM_INIT |
299 | }; |
300 | Q_DECLARE_TYPEINFO(QColor, Q_MOVABLE_TYPE); |
301 | |
302 | inline QColor::QColor(QLatin1String aname) |
303 | { setNamedColor(aname); } |
304 | |
305 | inline QColor::QColor(QStringView aname) |
306 | { setNamedColor(aname); } |
307 | |
308 | #if QT_STRINGVIEW_LEVEL < 2 |
309 | inline QColor::QColor(const QString& aname) |
310 | { setNamedColor(aname); } |
311 | #endif |
312 | |
313 | inline bool QColor::isValid() const noexcept |
314 | { return cspec != Invalid; } |
315 | |
316 | namespace QColorConstants |
317 | { |
318 | // Qt::GlobalColor names |
319 | constexpr inline QColor Color0 {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; |
320 | constexpr inline QColor Color1 {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101}; |
321 | constexpr inline QColor Black {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; |
322 | constexpr inline QColor White {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101}; |
323 | constexpr inline QColor DarkGray {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; |
324 | constexpr inline QColor Gray {QColor::Rgb, 0xff * 0x101, 0xa0 * 0x101, 0xa0 * 0x101, 0xa4 * 0x101}; |
325 | constexpr inline QColor LightGray {QColor::Rgb, 0xff * 0x101, 0xc0 * 0x101, 0xc0 * 0x101, 0xc0 * 0x101}; |
326 | constexpr inline QColor Red {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101}; |
327 | constexpr inline QColor Green {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x00 * 0x101}; |
328 | constexpr inline QColor Blue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xff * 0x101}; |
329 | constexpr inline QColor Cyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101}; |
330 | constexpr inline QColor Magenta {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101}; |
331 | constexpr inline QColor Yellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101}; |
332 | constexpr inline QColor DarkRed {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; |
333 | constexpr inline QColor DarkGreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x00 * 0x101}; |
334 | constexpr inline QColor DarkBlue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x80 * 0x101}; |
335 | constexpr inline QColor DarkCyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; |
336 | constexpr inline QColor DarkMagenta {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x80 * 0x101}; |
337 | constexpr inline QColor DarkYellow {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x00 * 0x101}; |
338 | constexpr inline QColor Transparent {QColor::Rgb, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; |
339 | |
340 | // SVG names supported by QColor (see qcolor.cpp). |
341 | namespace Svg { |
342 | constexpr inline QColor aliceblue {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xf8 * 0x101, 0xff * 0x101}; |
343 | constexpr inline QColor antiquewhite {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xeb * 0x101, 0xd7 * 0x101}; |
344 | constexpr inline QColor aqua {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101}; |
345 | constexpr inline QColor aquamarine {QColor::Rgb, 0xff * 0x101, 0x7f * 0x101, 0xff * 0x101, 0xd4 * 0x101}; |
346 | constexpr inline QColor azure {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xff * 0x101, 0xff * 0x101}; |
347 | constexpr inline QColor beige {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xf5 * 0x101, 0xdc * 0x101}; |
348 | constexpr inline QColor bisque {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xc4 * 0x101}; |
349 | constexpr inline QColor black {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; |
350 | constexpr inline QColor blanchedalmond {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xeb * 0x101, 0xcd * 0x101}; |
351 | constexpr inline QColor blue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xff * 0x101}; |
352 | constexpr inline QColor blueviolet {QColor::Rgb, 0xff * 0x101, 0x8a * 0x101, 0x2b * 0x101, 0xe2 * 0x101}; |
353 | constexpr inline QColor brown {QColor::Rgb, 0xff * 0x101, 0xa5 * 0x101, 0x2a * 0x101, 0x2a * 0x101}; |
354 | constexpr inline QColor burlywood {QColor::Rgb, 0xff * 0x101, 0xde * 0x101, 0xb8 * 0x101, 0x87 * 0x101}; |
355 | constexpr inline QColor cadetblue {QColor::Rgb, 0xff * 0x101, 0x5f * 0x101, 0x9e * 0x101, 0xa0 * 0x101}; |
356 | constexpr inline QColor chartreuse {QColor::Rgb, 0xff * 0x101, 0x7f * 0x101, 0xff * 0x101, 0x00 * 0x101}; |
357 | constexpr inline QColor chocolate {QColor::Rgb, 0xff * 0x101, 0xd2 * 0x101, 0x69 * 0x101, 0x1e * 0x101}; |
358 | constexpr inline QColor coral {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x7f * 0x101, 0x50 * 0x101}; |
359 | constexpr inline QColor cornflowerblue {QColor::Rgb, 0xff * 0x101, 0x64 * 0x101, 0x95 * 0x101, 0xed * 0x101}; |
360 | constexpr inline QColor cornsilk {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf8 * 0x101, 0xdc * 0x101}; |
361 | constexpr inline QColor crimson {QColor::Rgb, 0xff * 0x101, 0xdc * 0x101, 0x14 * 0x101, 0x3c * 0x101}; |
362 | constexpr inline QColor cyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101}; |
363 | constexpr inline QColor darkblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x8b * 0x101}; |
364 | constexpr inline QColor darkcyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x8b * 0x101, 0x8b * 0x101}; |
365 | constexpr inline QColor darkgoldenrod {QColor::Rgb, 0xff * 0x101, 0xb8 * 0x101, 0x86 * 0x101, 0x0b * 0x101}; |
366 | constexpr inline QColor darkgray {QColor::Rgb, 0xff * 0x101, 0xa9 * 0x101, 0xa9 * 0x101, 0xa9 * 0x101}; |
367 | constexpr inline QColor darkgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x64 * 0x101, 0x00 * 0x101}; |
368 | constexpr inline QColor darkgrey {QColor::Rgb, 0xff * 0x101, 0xa9 * 0x101, 0xa9 * 0x101, 0xa9 * 0x101}; |
369 | constexpr inline QColor darkkhaki {QColor::Rgb, 0xff * 0x101, 0xbd * 0x101, 0xb7 * 0x101, 0x6b * 0x101}; |
370 | constexpr inline QColor darkmagenta {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x00 * 0x101, 0x8b * 0x101}; |
371 | constexpr inline QColor darkolivegreen {QColor::Rgb, 0xff * 0x101, 0x55 * 0x101, 0x6b * 0x101, 0x2f * 0x101}; |
372 | constexpr inline QColor darkorange {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x8c * 0x101, 0x00 * 0x101}; |
373 | constexpr inline QColor darkorchid {QColor::Rgb, 0xff * 0x101, 0x99 * 0x101, 0x32 * 0x101, 0xcc * 0x101}; |
374 | constexpr inline QColor darkred {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x00 * 0x101, 0x00 * 0x101}; |
375 | constexpr inline QColor darksalmon {QColor::Rgb, 0xff * 0x101, 0xe9 * 0x101, 0x96 * 0x101, 0x7a * 0x101}; |
376 | constexpr inline QColor darkseagreen {QColor::Rgb, 0xff * 0x101, 0x8f * 0x101, 0xbc * 0x101, 0x8f * 0x101}; |
377 | constexpr inline QColor darkslateblue {QColor::Rgb, 0xff * 0x101, 0x48 * 0x101, 0x3d * 0x101, 0x8b * 0x101}; |
378 | constexpr inline QColor darkslategray {QColor::Rgb, 0xff * 0x101, 0x2f * 0x101, 0x4f * 0x101, 0x4f * 0x101}; |
379 | constexpr inline QColor darkslategrey {QColor::Rgb, 0xff * 0x101, 0x2f * 0x101, 0x4f * 0x101, 0x4f * 0x101}; |
380 | constexpr inline QColor darkturquoise {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xce * 0x101, 0xd1 * 0x101}; |
381 | constexpr inline QColor darkviolet {QColor::Rgb, 0xff * 0x101, 0x94 * 0x101, 0x00 * 0x101, 0xd3 * 0x101}; |
382 | constexpr inline QColor deeppink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x14 * 0x101, 0x93 * 0x101}; |
383 | constexpr inline QColor deepskyblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xbf * 0x101, 0xff * 0x101}; |
384 | constexpr inline QColor dimgray {QColor::Rgb, 0xff * 0x101, 0x69 * 0x101, 0x69 * 0x101, 0x69 * 0x101}; |
385 | constexpr inline QColor dimgrey {QColor::Rgb, 0xff * 0x101, 0x69 * 0x101, 0x69 * 0x101, 0x69 * 0x101}; |
386 | constexpr inline QColor dodgerblue {QColor::Rgb, 0xff * 0x101, 0x1e * 0x101, 0x90 * 0x101, 0xff * 0x101}; |
387 | constexpr inline QColor firebrick {QColor::Rgb, 0xff * 0x101, 0xb2 * 0x101, 0x22 * 0x101, 0x22 * 0x101}; |
388 | constexpr inline QColor floralwhite {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xf0 * 0x101}; |
389 | constexpr inline QColor forestgreen {QColor::Rgb, 0xff * 0x101, 0x22 * 0x101, 0x8b * 0x101, 0x22 * 0x101}; |
390 | constexpr inline QColor fuchsia {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101}; |
391 | constexpr inline QColor gainsboro {QColor::Rgb, 0xff * 0x101, 0xdc * 0x101, 0xdc * 0x101, 0xdc * 0x101}; |
392 | constexpr inline QColor ghostwhite {QColor::Rgb, 0xff * 0x101, 0xf8 * 0x101, 0xf8 * 0x101, 0xff * 0x101}; |
393 | constexpr inline QColor gold {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xd7 * 0x101, 0x00 * 0x101}; |
394 | constexpr inline QColor goldenrod {QColor::Rgb, 0xff * 0x101, 0xda * 0x101, 0xa5 * 0x101, 0x20 * 0x101}; |
395 | constexpr inline QColor gray {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; |
396 | constexpr inline QColor green {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x00 * 0x101}; |
397 | constexpr inline QColor greenyellow {QColor::Rgb, 0xff * 0x101, 0xad * 0x101, 0xff * 0x101, 0x2f * 0x101}; |
398 | constexpr inline QColor grey {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; |
399 | constexpr inline QColor honeydew {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xff * 0x101, 0xf0 * 0x101}; |
400 | constexpr inline QColor hotpink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x69 * 0x101, 0xb4 * 0x101}; |
401 | constexpr inline QColor indianred {QColor::Rgb, 0xff * 0x101, 0xcd * 0x101, 0x5c * 0x101, 0x5c * 0x101}; |
402 | constexpr inline QColor indigo {QColor::Rgb, 0xff * 0x101, 0x4b * 0x101, 0x00 * 0x101, 0x82 * 0x101}; |
403 | constexpr inline QColor ivory {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xf0 * 0x101}; |
404 | constexpr inline QColor khaki {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xe6 * 0x101, 0x8c * 0x101}; |
405 | constexpr inline QColor lavender {QColor::Rgb, 0xff * 0x101, 0xe6 * 0x101, 0xe6 * 0x101, 0xfa * 0x101}; |
406 | constexpr inline QColor lavenderblush {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf0 * 0x101, 0xf5 * 0x101}; |
407 | constexpr inline QColor lawngreen {QColor::Rgb, 0xff * 0x101, 0x7c * 0x101, 0xfc * 0x101, 0x00 * 0x101}; |
408 | constexpr inline QColor lemonchiffon {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xcd * 0x101}; |
409 | constexpr inline QColor lightblue {QColor::Rgb, 0xff * 0x101, 0xad * 0x101, 0xd8 * 0x101, 0xe6 * 0x101}; |
410 | constexpr inline QColor lightcoral {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; |
411 | constexpr inline QColor lightcyan {QColor::Rgb, 0xff * 0x101, 0xe0 * 0x101, 0xff * 0x101, 0xff * 0x101}; |
412 | constexpr inline QColor lightgoldenrodyellow {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xfa * 0x101, 0xd2 * 0x101}; |
413 | constexpr inline QColor lightgray {QColor::Rgb, 0xff * 0x101, 0xd3 * 0x101, 0xd3 * 0x101, 0xd3 * 0x101}; |
414 | constexpr inline QColor lightgreen {QColor::Rgb, 0xff * 0x101, 0x90 * 0x101, 0xee * 0x101, 0x90 * 0x101}; |
415 | constexpr inline QColor lightgrey {QColor::Rgb, 0xff * 0x101, 0xd3 * 0x101, 0xd3 * 0x101, 0xd3 * 0x101}; |
416 | constexpr inline QColor lightpink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xb6 * 0x101, 0xc1 * 0x101}; |
417 | constexpr inline QColor lightsalmon {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xa0 * 0x101, 0x7a * 0x101}; |
418 | constexpr inline QColor lightseagreen {QColor::Rgb, 0xff * 0x101, 0x20 * 0x101, 0xb2 * 0x101, 0xaa * 0x101}; |
419 | constexpr inline QColor lightskyblue {QColor::Rgb, 0xff * 0x101, 0x87 * 0x101, 0xce * 0x101, 0xfa * 0x101}; |
420 | constexpr inline QColor lightslategray {QColor::Rgb, 0xff * 0x101, 0x77 * 0x101, 0x88 * 0x101, 0x99 * 0x101}; |
421 | constexpr inline QColor lightslategrey {QColor::Rgb, 0xff * 0x101, 0x77 * 0x101, 0x88 * 0x101, 0x99 * 0x101}; |
422 | constexpr inline QColor lightsteelblue {QColor::Rgb, 0xff * 0x101, 0xb0 * 0x101, 0xc4 * 0x101, 0xde * 0x101}; |
423 | constexpr inline QColor lightyellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xe0 * 0x101}; |
424 | constexpr inline QColor lime {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x00 * 0x101}; |
425 | constexpr inline QColor limegreen {QColor::Rgb, 0xff * 0x101, 0x32 * 0x101, 0xcd * 0x101, 0x32 * 0x101}; |
426 | constexpr inline QColor linen {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xf0 * 0x101, 0xe6 * 0x101}; |
427 | constexpr inline QColor magenta {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101}; |
428 | constexpr inline QColor maroon {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x00 * 0x101}; |
429 | constexpr inline QColor mediumaquamarine {QColor::Rgb, 0xff * 0x101, 0x66 * 0x101, 0xcd * 0x101, 0xaa * 0x101}; |
430 | constexpr inline QColor mediumblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xcd * 0x101}; |
431 | constexpr inline QColor mediumorchid {QColor::Rgb, 0xff * 0x101, 0xba * 0x101, 0x55 * 0x101, 0xd3 * 0x101}; |
432 | constexpr inline QColor mediumpurple {QColor::Rgb, 0xff * 0x101, 0x93 * 0x101, 0x70 * 0x101, 0xdb * 0x101}; |
433 | constexpr inline QColor mediumseagreen {QColor::Rgb, 0xff * 0x101, 0x3c * 0x101, 0xb3 * 0x101, 0x71 * 0x101}; |
434 | constexpr inline QColor mediumslateblue {QColor::Rgb, 0xff * 0x101, 0x7b * 0x101, 0x68 * 0x101, 0xee * 0x101}; |
435 | constexpr inline QColor mediumspringgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xfa * 0x101, 0x9a * 0x101}; |
436 | constexpr inline QColor mediumturquoise {QColor::Rgb, 0xff * 0x101, 0x48 * 0x101, 0xd1 * 0x101, 0xcc * 0x101}; |
437 | constexpr inline QColor mediumvioletred {QColor::Rgb, 0xff * 0x101, 0xc7 * 0x101, 0x15 * 0x101, 0x85 * 0x101}; |
438 | constexpr inline QColor midnightblue {QColor::Rgb, 0xff * 0x101, 0x19 * 0x101, 0x19 * 0x101, 0x70 * 0x101}; |
439 | constexpr inline QColor mintcream {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xff * 0x101, 0xfa * 0x101}; |
440 | constexpr inline QColor mistyrose {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xe1 * 0x101}; |
441 | constexpr inline QColor moccasin {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xb5 * 0x101}; |
442 | constexpr inline QColor navajowhite {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xde * 0x101, 0xad * 0x101}; |
443 | constexpr inline QColor navy {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x80 * 0x101}; |
444 | constexpr inline QColor oldlace {QColor::Rgb, 0xff * 0x101, 0xfd * 0x101, 0xf5 * 0x101, 0xe6 * 0x101}; |
445 | constexpr inline QColor olive {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x00 * 0x101}; |
446 | constexpr inline QColor olivedrab {QColor::Rgb, 0xff * 0x101, 0x6b * 0x101, 0x8e * 0x101, 0x23 * 0x101}; |
447 | constexpr inline QColor orange {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xa5 * 0x101, 0x00 * 0x101}; |
448 | constexpr inline QColor orangered {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x45 * 0x101, 0x00 * 0x101}; |
449 | constexpr inline QColor orchid {QColor::Rgb, 0xff * 0x101, 0xda * 0x101, 0x70 * 0x101, 0xd6 * 0x101}; |
450 | constexpr inline QColor palegoldenrod {QColor::Rgb, 0xff * 0x101, 0xee * 0x101, 0xe8 * 0x101, 0xaa * 0x101}; |
451 | constexpr inline QColor palegreen {QColor::Rgb, 0xff * 0x101, 0x98 * 0x101, 0xfb * 0x101, 0x98 * 0x101}; |
452 | constexpr inline QColor paleturquoise {QColor::Rgb, 0xff * 0x101, 0xaf * 0x101, 0xee * 0x101, 0xee * 0x101}; |
453 | constexpr inline QColor palevioletred {QColor::Rgb, 0xff * 0x101, 0xdb * 0x101, 0x70 * 0x101, 0x93 * 0x101}; |
454 | constexpr inline QColor papayawhip {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xef * 0x101, 0xd5 * 0x101}; |
455 | constexpr inline QColor peachpuff {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xda * 0x101, 0xb9 * 0x101}; |
456 | constexpr inline QColor peru {QColor::Rgb, 0xff * 0x101, 0xcd * 0x101, 0x85 * 0x101, 0x3f * 0x101}; |
457 | constexpr inline QColor pink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xc0 * 0x101, 0xcb * 0x101}; |
458 | constexpr inline QColor plum {QColor::Rgb, 0xff * 0x101, 0xdd * 0x101, 0xa0 * 0x101, 0xdd * 0x101}; |
459 | constexpr inline QColor powderblue {QColor::Rgb, 0xff * 0x101, 0xb0 * 0x101, 0xe0 * 0x101, 0xe6 * 0x101}; |
460 | constexpr inline QColor purple {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x80 * 0x101}; |
461 | constexpr inline QColor red {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101}; |
462 | constexpr inline QColor rosybrown {QColor::Rgb, 0xff * 0x101, 0xbc * 0x101, 0x8f * 0x101, 0x8f * 0x101}; |
463 | constexpr inline QColor royalblue {QColor::Rgb, 0xff * 0x101, 0x41 * 0x101, 0x69 * 0x101, 0xe1 * 0x101}; |
464 | constexpr inline QColor saddlebrown {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x45 * 0x101, 0x13 * 0x101}; |
465 | constexpr inline QColor salmon {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0x80 * 0x101, 0x72 * 0x101}; |
466 | constexpr inline QColor sandybrown {QColor::Rgb, 0xff * 0x101, 0xf4 * 0x101, 0xa4 * 0x101, 0x60 * 0x101}; |
467 | constexpr inline QColor seagreen {QColor::Rgb, 0xff * 0x101, 0x2e * 0x101, 0x8b * 0x101, 0x57 * 0x101}; |
468 | constexpr inline QColor seashell {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf5 * 0x101, 0xee * 0x101}; |
469 | constexpr inline QColor sienna {QColor::Rgb, 0xff * 0x101, 0xa0 * 0x101, 0x52 * 0x101, 0x2d * 0x101}; |
470 | constexpr inline QColor silver {QColor::Rgb, 0xff * 0x101, 0xc0 * 0x101, 0xc0 * 0x101, 0xc0 * 0x101}; |
471 | constexpr inline QColor skyblue {QColor::Rgb, 0xff * 0x101, 0x87 * 0x101, 0xce * 0x101, 0xeb * 0x101}; |
472 | constexpr inline QColor slateblue {QColor::Rgb, 0xff * 0x101, 0x6a * 0x101, 0x5a * 0x101, 0xcd * 0x101}; |
473 | constexpr inline QColor slategray {QColor::Rgb, 0xff * 0x101, 0x70 * 0x101, 0x80 * 0x101, 0x90 * 0x101}; |
474 | constexpr inline QColor slategrey {QColor::Rgb, 0xff * 0x101, 0x70 * 0x101, 0x80 * 0x101, 0x90 * 0x101}; |
475 | constexpr inline QColor snow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xfa * 0x101}; |
476 | constexpr inline QColor springgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x7f * 0x101}; |
477 | constexpr inline QColor steelblue {QColor::Rgb, 0xff * 0x101, 0x46 * 0x101, 0x82 * 0x101, 0xb4 * 0x101}; |
478 | constexpr inline QColor tan {QColor::Rgb, 0xff * 0x101, 0xd2 * 0x101, 0xb4 * 0x101, 0x8c * 0x101}; |
479 | constexpr inline QColor teal {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x80 * 0x101}; |
480 | constexpr inline QColor thistle {QColor::Rgb, 0xff * 0x101, 0xd8 * 0x101, 0xbf * 0x101, 0xd8 * 0x101}; |
481 | constexpr inline QColor tomato {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x63 * 0x101, 0x47 * 0x101}; |
482 | constexpr inline QColor turquoise {QColor::Rgb, 0xff * 0x101, 0x40 * 0x101, 0xe0 * 0x101, 0xd0 * 0x101}; |
483 | constexpr inline QColor violet {QColor::Rgb, 0xff * 0x101, 0xee * 0x101, 0x82 * 0x101, 0xee * 0x101}; |
484 | constexpr inline QColor wheat {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xde * 0x101, 0xb3 * 0x101}; |
485 | constexpr inline QColor white {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101}; |
486 | constexpr inline QColor whitesmoke {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xf5 * 0x101, 0xf5 * 0x101}; |
487 | constexpr inline QColor yellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101}; |
488 | constexpr inline QColor yellowgreen {QColor::Rgb, 0xff * 0x101, 0x9a * 0x101, 0xcd * 0x101, 0x32 * 0x101}; |
489 | } // namespace Svg |
490 | } // namespace QColorLiterals |
491 | |
492 | QT_END_NAMESPACE |
493 | |
494 | #endif // QCOLOR_H |
495 | |