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