Long live QColorConstants!

QColorConstant is a C++11 version of Qt::GlobalColor, except that instead
of Qt::red being an enum, QColorConstants::red is an actual QColor instance,
a bit like in the Qt 3 days.

In addition, the SVG names that QColor understands are also available,
with the same values. Technically, when building a QColor from a color
name, QColor ignores casing and whitespaces; we stick to the SVG/CSS
official color names (which are lowercase), and prefix them with Svg
to clarify where they come from. For instance, note how SVG's gray
is not Qt::gray.

[ChangeLog][QtGui][[QColor] Added QColorConstants, a namespace
containing constexpr QColor instances.

Change-Id: Ic9fab26a9a537fcc43cc230da28f4c6314a32438
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
This commit is contained in:
Marc Mutz 2014-08-28 22:37:13 +02:00 committed by Giuseppe D'Angelo
parent c2aaa9e18e
commit 77de5a329c
6 changed files with 1124 additions and 16 deletions

View File

@ -67,3 +67,6 @@ navigation.cppclassespage = "Qt GUI C++ Classes"
# Ignore warnings about undocumented enum values for the QGradient presets
spurious += "Undocumented enum item '.*' in QGradient::Preset"
# \svgcolor {#ffdead}
macro.svgcolor.HTML = "<div style=\"padding:10px;color:#fff;background:\1;\"></div>"

View File

@ -0,0 +1,86 @@
\table
\header
\li Name
\li Hex
\li Color
\row
\li Color0
\li #000000
\li \svgcolor {#000000}
\row
\li Color1
\li #ffffff
\li \svgcolor {#ffffff}
\row
\li Black
\li #000000
\li \svgcolor {#000000}
\row
\li White
\li #ffffff
\li \svgcolor {#ffffff}
\row
\li DarkGray
\li #808080
\li \svgcolor {#808080}
\row
\li Gray
\li #a0a0a4
\li \svgcolor {#a0a0a4}
\row
\li LightGray
\li #c0c0c0
\li \svgcolor {#c0c0c0}
\row
\li Red
\li #ff0000
\li \svgcolor {#ff0000}
\row
\li Green
\li #00ff00
\li \svgcolor {#00ff00}
\row
\li Blue
\li #0000ff
\li \svgcolor {#0000ff}
\row
\li Cyan
\li #00ffff
\li \svgcolor {#00ffff}
\row
\li Magenta
\li #ff00ff
\li \svgcolor {#ff00ff}
\row
\li Yellow
\li #ffff00
\li \svgcolor {#ffff00}
\row
\li DarkRed
\li #800000
\li \svgcolor {#800000}
\row
\li DarkGreen
\li #008000
\li \svgcolor {#008000}
\row
\li DarkBlue
\li #000080
\li \svgcolor {#000080}
\row
\li DarkCyan
\li #008080
\li \svgcolor {#008080}
\row
\li DarkMagenta
\li #800080
\li \svgcolor {#800080}
\row
\li DarkYellow
\li #808000
\li \svgcolor {#808000}
\row
\li Transparent
\li #00000000
\li (transparent)
\endtable

View File

@ -0,0 +1,594 @@
\table
\header
\li Name
\li Hex
\li Color
\row
\li aliceblue
\li #f0f8ff
\li \svgcolor {#f0f8ff}
\row
\li antiquewhite
\li #faebd7
\li \svgcolor {#faebd7}
\row
\li aqua
\li #00ffff
\li \svgcolor {#00ffff}
\row
\li aquamarine
\li #7fffd4
\li \svgcolor {#7fffd4}
\row
\li azure
\li #f0ffff
\li \svgcolor {#f0ffff}
\row
\li beige
\li #f5f5dc
\li \svgcolor {#f5f5dc}
\row
\li bisque
\li #ffe4c4
\li \svgcolor {#ffe4c4}
\row
\li black
\li #000000
\li \svgcolor {#000000}
\row
\li blanchedalmond
\li #ffebcd
\li \svgcolor {#ffebcd}
\row
\li blue
\li #0000ff
\li \svgcolor {#0000ff}
\row
\li blueviolet
\li #8a2be2
\li \svgcolor {#8a2be2}
\row
\li brown
\li #a52a2a
\li \svgcolor {#a52a2a}
\row
\li burlywood
\li #deb887
\li \svgcolor {#deb887}
\row
\li cadetblue
\li #5f9ea0
\li \svgcolor {#5f9ea0}
\row
\li chartreuse
\li #7fff00
\li \svgcolor {#7fff00}
\row
\li chocolate
\li #d2691e
\li \svgcolor {#d2691e}
\row
\li coral
\li #ff7f50
\li \svgcolor {#ff7f50}
\row
\li cornflowerblue
\li #6495ed
\li \svgcolor {#6495ed}
\row
\li cornsilk
\li #fff8dc
\li \svgcolor {#fff8dc}
\row
\li crimson
\li #dc143c
\li \svgcolor {#dc143c}
\row
\li cyan
\li #00ffff
\li \svgcolor {#00ffff}
\row
\li darkblue
\li #00008b
\li \svgcolor {#00008b}
\row
\li darkcyan
\li #008b8b
\li \svgcolor {#008b8b}
\row
\li darkgoldenrod
\li #b8860b
\li \svgcolor {#b8860b}
\row
\li darkgray
\li #a9a9a9
\li \svgcolor {#a9a9a9}
\row
\li darkgreen
\li #006400
\li \svgcolor {#006400}
\row
\li darkgrey
\li #a9a9a9
\li \svgcolor {#a9a9a9}
\row
\li darkkhaki
\li #bdb76b
\li \svgcolor {#bdb76b}
\row
\li darkmagenta
\li #8b008b
\li \svgcolor {#8b008b}
\row
\li darkolivegreen
\li #556b2f
\li \svgcolor {#556b2f}
\row
\li darkorange
\li #ff8c00
\li \svgcolor {#ff8c00}
\row
\li darkorchid
\li #9932cc
\li \svgcolor {#9932cc}
\row
\li darkred
\li #8b0000
\li \svgcolor {#8b0000}
\row
\li darksalmon
\li #e9967a
\li \svgcolor {#e9967a}
\row
\li darkseagreen
\li #8fbc8f
\li \svgcolor {#8fbc8f}
\row
\li darkslateblue
\li #483d8b
\li \svgcolor {#483d8b}
\row
\li darkslategray
\li #2f4f4f
\li \svgcolor {#2f4f4f}
\row
\li darkslategrey
\li #2f4f4f
\li \svgcolor {#2f4f4f}
\row
\li darkturquoise
\li #00ced1
\li \svgcolor {#00ced1}
\row
\li darkviolet
\li #9400d3
\li \svgcolor {#9400d3}
\row
\li deeppink
\li #ff1493
\li \svgcolor {#ff1493}
\row
\li deepskyblue
\li #00bfff
\li \svgcolor {#00bfff}
\row
\li dimgray
\li #696969
\li \svgcolor {#696969}
\row
\li dimgrey
\li #696969
\li \svgcolor {#696969}
\row
\li dodgerblue
\li #1e90ff
\li \svgcolor {#1e90ff}
\row
\li firebrick
\li #b22222
\li \svgcolor {#b22222}
\row
\li floralwhite
\li #fffaf0
\li \svgcolor {#fffaf0}
\row
\li forestgreen
\li #228b22
\li \svgcolor {#228b22}
\row
\li fuchsia
\li #ff00ff
\li \svgcolor {#ff00ff}
\row
\li gainsboro
\li #dcdcdc
\li \svgcolor {#dcdcdc}
\row
\li ghostwhite
\li #f8f8ff
\li \svgcolor {#f8f8ff}
\row
\li gold
\li #ffd700
\li \svgcolor {#ffd700}
\row
\li goldenrod
\li #daa520
\li \svgcolor {#daa520}
\row
\li gray
\li #808080
\li \svgcolor {#808080}
\row
\li grey
\li #808080
\li \svgcolor {#808080}
\row
\li green
\li #008000
\li \svgcolor {#008000}
\row
\li greenyellow
\li #adff2f
\li \svgcolor {#adff2f}
\row
\li honeydew
\li #f0fff0
\li \svgcolor {#f0fff0}
\row
\li hotpink
\li #ff69b4
\li \svgcolor {#ff69b4}
\row
\li indianred
\li #cd5c5c
\li \svgcolor {#cd5c5c}
\row
\li indigo
\li #4b0082
\li \svgcolor {#4b0082}
\row
\li ivory
\li #fffff0
\li \svgcolor {#fffff0}
\row
\li khaki
\li #f0e68c
\li \svgcolor {#f0e68c}
\row
\li lavender
\li #e6e6fa
\li \svgcolor {#e6e6fa}
\row
\li lavenderblush
\li #fff0f5
\li \svgcolor {#fff0f5}
\row
\li lawngreen
\li #7cfc00
\li \svgcolor {#7cfc00}
\row
\li lemonchiffon
\li #fffacd
\li \svgcolor {#fffacd}
\row
\li lightblue
\li #add8e6
\li \svgcolor {#add8e6}
\row
\li lightcoral
\li #f08080
\li \svgcolor {#f08080}
\row
\li lightcyan
\li #e0ffff
\li \svgcolor {#e0ffff}
\row
\li lightgoldenrodyellow
\li #fafad2
\li \svgcolor {#fafad2}
\row
\li lightgray
\li #d3d3d3
\li \svgcolor {#d3d3d3}
\row
\li lightgreen
\li #90ee90
\li \svgcolor {#90ee90}
\row
\li lightgrey
\li #d3d3d3
\li \svgcolor {#d3d3d3}
\row
\li lightpink
\li #ffb6c1
\li \svgcolor {#ffb6c1}
\row
\li lightsalmon
\li #ffa07a
\li \svgcolor {#ffa07a}
\row
\li lightseagreen
\li #20b2aa
\li \svgcolor {#20b2aa}
\row
\li lightskyblue
\li #87cefa
\li \svgcolor {#87cefa}
\row
\li lightslategray
\li #778899
\li \svgcolor {#778899}
\row
\li lightslategrey
\li #778899
\li \svgcolor {#778899}
\row
\li lightsteelblue
\li #b0c4de
\li \svgcolor {#b0c4de}
\row
\li lightyellow
\li #ffffe0
\li \svgcolor {#ffffe0}
\row
\li lime
\li #00ff00
\li \svgcolor {#00ff00}
\row
\li limegreen
\li #32cd32
\li \svgcolor {#32cd32}
\row
\li linen
\li #faf0e6
\li \svgcolor {#faf0e6}
\row
\li magenta
\li #ff00ff
\li \svgcolor {#ff00ff}
\row
\li maroon
\li #800000
\li \svgcolor {#800000}
\row
\li mediumaquamarine
\li #66cdaa
\li \svgcolor {#66cdaa}
\row
\li mediumblue
\li #0000cd
\li \svgcolor {#0000cd}
\row
\li mediumorchid
\li #ba55d3
\li \svgcolor {#ba55d3}
\row
\li mediumpurple
\li #9370db
\li \svgcolor {#9370db}
\row
\li mediumseagreen
\li #3cb371
\li \svgcolor {#3cb371}
\row
\li mediumslateblue
\li #7b68ee
\li \svgcolor {#7b68ee}
\row
\li mediumspringgreen
\li #00fa9a
\li \svgcolor {#00fa9a}
\row
\li mediumturquoise
\li #48d1cc
\li \svgcolor {#48d1cc}
\row
\li mediumvioletred
\li #c71585
\li \svgcolor {#c71585}
\row
\li midnightblue
\li #191970
\li \svgcolor {#191970}
\row
\li mintcream
\li #f5fffa
\li \svgcolor {#f5fffa}
\row
\li mistyrose
\li #ffe4e1
\li \svgcolor {#ffe4e1}
\row
\li moccasin
\li #ffe4b5
\li \svgcolor {#ffe4b5}
\row
\li navajowhite
\li #ffdead
\li \svgcolor {#ffdead}
\row
\li navy
\li #000080
\li \svgcolor {#000080}
\row
\li oldlace
\li #fdf5e6
\li \svgcolor {#fdf5e6}
\row
\li olive
\li #808000
\li \svgcolor {#808000}
\row
\li olivedrab
\li #6b8e23
\li \svgcolor {#6b8e23}
\row
\li orange
\li #ffa500
\li \svgcolor {#ffa500}
\row
\li orangered
\li #ff4500
\li \svgcolor {#ff4500}
\row
\li orchid
\li #da70d6
\li \svgcolor {#da70d6}
\row
\li palegoldenrod
\li #eee8aa
\li \svgcolor {#eee8aa}
\row
\li palegreen
\li #98fb98
\li \svgcolor {#98fb98}
\row
\li paleturquoise
\li #afeeee
\li \svgcolor {#afeeee}
\row
\li palevioletred
\li #db7093
\li \svgcolor {#db7093}
\row
\li papayawhip
\li #ffefd5
\li \svgcolor {#ffefd5}
\row
\li peachpuff
\li #ffdab9
\li \svgcolor {#ffdab9}
\row
\li peru
\li #cd853f
\li \svgcolor {#cd853f}
\row
\li pink
\li #ffc0cb
\li \svgcolor {#ffc0cb}
\row
\li plum
\li #dda0dd
\li \svgcolor {#dda0dd}
\row
\li powderblue
\li #b0e0e6
\li \svgcolor {#b0e0e6}
\row
\li purple
\li #800080
\li \svgcolor {#800080}
\row
\li red
\li #ff0000
\li \svgcolor {#ff0000}
\row
\li rosybrown
\li #bc8f8f
\li \svgcolor {#bc8f8f}
\row
\li royalblue
\li #4169e1
\li \svgcolor {#4169e1}
\row
\li saddlebrown
\li #8b4513
\li \svgcolor {#8b4513}
\row
\li salmon
\li #fa8072
\li \svgcolor {#fa8072}
\row
\li sandybrown
\li #f4a460
\li \svgcolor {#f4a460}
\row
\li seagreen
\li #2e8b57
\li \svgcolor {#2e8b57}
\row
\li seashell
\li #fff5ee
\li \svgcolor {#fff5ee}
\row
\li sienna
\li #a0522d
\li \svgcolor {#a0522d}
\row
\li silver
\li #c0c0c0
\li \svgcolor {#c0c0c0}
\row
\li skyblue
\li #87ceeb
\li \svgcolor {#87ceeb}
\row
\li slateblue
\li #6a5acd
\li \svgcolor {#6a5acd}
\row
\li slategray
\li #708090
\li \svgcolor {#708090}
\row
\li slategrey
\li #708090
\li \svgcolor {#708090}
\row
\li snow
\li #fffafa
\li \svgcolor {#fffafa}
\row
\li springgreen
\li #00ff7f
\li \svgcolor {#00ff7f}
\row
\li steelblue
\li #4682b4
\li \svgcolor {#4682b4}
\row
\li tan
\li #d2b48c
\li \svgcolor {#d2b48c}
\row
\li teal
\li #008080
\li \svgcolor {#008080}
\row
\li thistle
\li #d8bfd8
\li \svgcolor {#d8bfd8}
\row
\li tomato
\li #ff6347
\li \svgcolor {#ff6347}
\row
\li turquoise
\li #40e0d0
\li \svgcolor {#40e0d0}
\row
\li violet
\li #ee82ee
\li \svgcolor {#ee82ee}
\row
\li wheat
\li #f5deb3
\li \svgcolor {#f5deb3}
\row
\li white
\li #ffffff
\li \svgcolor {#ffffff}
\row
\li whitesmoke
\li #f5f5f5
\li \svgcolor {#f5f5f5}
\row
\li yellow
\li #ffff00
\li \svgcolor {#ffff00}
\row
\li yellowgreen
\li #9acd32
\li \svgcolor {#9acd32}
\endtable

View File

@ -147,6 +147,7 @@ static bool get_hex_rgb(const QChar *str, size_t len, QRgba64 *rgb)
#endif
#define rgb(r,g,b) (0xff000000 | (r << 16) | (g << 8) | b)
// keep this is in sync with QColorConstants
static const struct RGBData {
const char name[21];
uint value;
@ -475,25 +476,35 @@ static QStringList get_colornames()
\section1 Predefined Colors
There are 20 predefined QColors described by the Qt::GlobalColor enum,
including black, white, primary and secondary colors, darker versions
of these colors and three shades of gray. QColor also recognizes a
variety of color names; the static colorNames() function returns a
QStringList color names that QColor knows about.
There are 20 predefined QColor objects in the \c{QColorConstants}
namespace, including black, white, primary and secondary colors,
darker versions of these colors, and three shades of gray.
Furthermore, the \c{QColorConstants::Svg} namespace defines QColor
objects for the standard \l{https://www.w3.org/TR/SVG11/types.html#ColorKeywords}{SVG color keyword names}.
\image qt-colors.png Qt Colors
Additionally, the Qt::color0, Qt::color1 and Qt::transparent colors
are used for special purposes.
The \c{QColorConstants::Color0}, \c{QColorConstants::Color1} and
\c{QColorConstants::Transparent} colors are used for special
purposes.
Qt::color0 (zero pixel value) and Qt::color1 (non-zero pixel value)
are special colors for drawing in QBitmaps. Painting with Qt::color0
sets the bitmap bits to 0 (transparent; i.e., background), and painting
with Qt::color1 sets the bits to 1 (opaque; i.e., foreground).
\c{QColorConstants::Color0} (zero pixel value) and
\c{QColorConstants::Color1} (non-zero pixel value) are special
colors for drawing in QBitmaps. Painting with
\c{QColorConstants::Color0} sets the bitmap bits to 0 (transparent;
i.e., background), and painting with c{QColorConstants::Color1}
sets the bits to 1 (opaque; i.e., foreground).
Qt::transparent is used to indicate a transparent pixel. When painting
with this value, a pixel value will be used that is appropriate for the
underlying pixel format in use.
\c{QColorConstants::Transparent} is used to indicate a transparent
pixel. When painting with this value, a pixel value will be used
that is appropriate for the underlying pixel format in use.
For historical reasons, the 20 predefined colors are also available
in the Qt::GlobalColor enumeration.
Finally, QColor recognizes a variety of color names (as strings);
the static colorNames() function returns a QStringList color names
that QColor knows about.
\section1 The Extended RGB Color Model
@ -586,7 +597,7 @@ static QStringList get_colornames()
alpha-channel to feature \l {QColor#Alpha-Blended
Drawing}{alpha-blended drawing}.
\sa QPalette, QBrush
\sa QPalette, QBrush, QColorConstants
*/
#define QCOLOR_INT_RANGE_CHECK(fn, var) \
@ -886,7 +897,8 @@ QString QColor::name(NameFormat format) const
\li #AARRGGBB (Since 5.2)
\li #RRRGGGBBB
\li #RRRRGGGGBBBB
\li A name from the list of colors defined in the list of \l{http://www.w3.org/TR/SVG/types.html#ColorKeywords}{SVG color keyword names}
\li A name from the list of colors defined in the list of
\l{https://www.w3.org/TR/SVG11/types.html#ColorKeywords}{SVG color keyword names}
provided by the World Wide Web Consortium; for example, "steelblue" or "gainsboro".
These color names work on all platforms. Note that these color names are \e not the
same as defined by the Qt::GlobalColor enums, e.g. "green" and Qt::green does not
@ -3249,4 +3261,41 @@ const uint qt_inv_premul_factor[256] = {
\sa QColor::rgb(), QColor::rgba()
*/
/*!
\namespace QColorConstants
\inmodule QtGui
\brief The QColorConstants namespace contains QColor predefined constants.
These constants are usable everywhere a QColor object is expected:
\code
painter.setBrush(QColorConstants::Svg::lightblue);
\endcode
Their usage is much cheaper than e.g. passing a string to QColor's constructor,
as they don't require any parsing of the string, and always result in a valid
QColor object:
\badcode
object.setColor(QColor("lightblue")); // expensive
\endcode
\section1 Qt Colors
The following colors are defined in the \c{QColorConstants} namespace:
\include qt-colors.qdocinc
\section1 SVG Colors
The following table lists the available
\l {http://www.w3.org/TR/SVG/types.html#ColorKeywords}{SVG colors}.
They are available in the \c{QColorConstants::Svg} inner namespace.
\include svg-colors.qdocinc
\sa QColor, Qt::GlobalColor
*/
QT_END_NAMESPACE

View File

@ -309,6 +309,12 @@ private:
friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QColor &);
friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QColor &);
#endif
#ifdef Q_COMPILER_UNIFORM_INIT
public: // can't give friendship to a namespace, so it needs to be public
Q_DECL_CONSTEXPR explicit QColor(Spec spec, ushort a1, ushort a2, ushort a3, ushort a4, ushort a5=0) noexcept
: cspec(spec), ct(a1, a2, a3, a4, a5) {}
#endif // Q_COMPILER_UNIFORM_INIT
};
Q_DECLARE_TYPEINFO(QColor, QT_VERSION >= QT_VERSION_CHECK(6,0,0) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE);
@ -326,6 +332,187 @@ inline QColor::QColor(const QString& aname)
inline bool QColor::isValid() const noexcept
{ return cspec != Invalid; }
// define these namespaces even if the contents are ifdef'd out
namespace QColorConstants
{
namespace Svg {}
#if defined(Q_COMPILER_CONSTEXPR) & defined(Q_COMPILER_UNIFORM_INIT)
// Qt::GlobalColor names
constexpr Q_DECL_UNUSED QColor Color0 {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor Color1 {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor Black {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor White {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor DarkGray {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
constexpr Q_DECL_UNUSED QColor Gray {QColor::Rgb, 0xff * 0x101, 0xa0 * 0x101, 0xa0 * 0x101, 0xa4 * 0x101};
constexpr Q_DECL_UNUSED QColor LightGray {QColor::Rgb, 0xff * 0x101, 0xc0 * 0x101, 0xc0 * 0x101, 0xc0 * 0x101};
constexpr Q_DECL_UNUSED QColor Red {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor Green {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor Blue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor Cyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor Magenta {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor Yellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor DarkRed {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor DarkGreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor DarkBlue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x80 * 0x101};
constexpr Q_DECL_UNUSED QColor DarkCyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
constexpr Q_DECL_UNUSED QColor DarkMagenta {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x80 * 0x101};
constexpr Q_DECL_UNUSED QColor DarkYellow {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor Transparent {QColor::Rgb, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
// SVG names supported by QColor (see qcolor.cpp).
namespace Svg {
constexpr Q_DECL_UNUSED QColor aliceblue {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xf8 * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor antiquewhite {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xeb * 0x101, 0xd7 * 0x101};
constexpr Q_DECL_UNUSED QColor aqua {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor aquamarine {QColor::Rgb, 0xff * 0x101, 0x7f * 0x101, 0xff * 0x101, 0xd4 * 0x101};
constexpr Q_DECL_UNUSED QColor azure {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xff * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor beige {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xf5 * 0x101, 0xdc * 0x101};
constexpr Q_DECL_UNUSED QColor bisque {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xc4 * 0x101};
constexpr Q_DECL_UNUSED QColor black {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor blanchedalmond {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xeb * 0x101, 0xcd * 0x101};
constexpr Q_DECL_UNUSED QColor blue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor blueviolet {QColor::Rgb, 0xff * 0x101, 0x8a * 0x101, 0x2b * 0x101, 0xe2 * 0x101};
constexpr Q_DECL_UNUSED QColor brown {QColor::Rgb, 0xff * 0x101, 0xa5 * 0x101, 0x2a * 0x101, 0x2a * 0x101};
constexpr Q_DECL_UNUSED QColor burlywood {QColor::Rgb, 0xff * 0x101, 0xde * 0x101, 0xb8 * 0x101, 0x87 * 0x101};
constexpr Q_DECL_UNUSED QColor cadetblue {QColor::Rgb, 0xff * 0x101, 0x5f * 0x101, 0x9e * 0x101, 0xa0 * 0x101};
constexpr Q_DECL_UNUSED QColor chartreuse {QColor::Rgb, 0xff * 0x101, 0x7f * 0x101, 0xff * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor chocolate {QColor::Rgb, 0xff * 0x101, 0xd2 * 0x101, 0x69 * 0x101, 0x1e * 0x101};
constexpr Q_DECL_UNUSED QColor coral {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x7f * 0x101, 0x50 * 0x101};
constexpr Q_DECL_UNUSED QColor cornflowerblue {QColor::Rgb, 0xff * 0x101, 0x64 * 0x101, 0x95 * 0x101, 0xed * 0x101};
constexpr Q_DECL_UNUSED QColor cornsilk {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf8 * 0x101, 0xdc * 0x101};
constexpr Q_DECL_UNUSED QColor crimson {QColor::Rgb, 0xff * 0x101, 0xdc * 0x101, 0x14 * 0x101, 0x3c * 0x101};
constexpr Q_DECL_UNUSED QColor cyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor darkblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x8b * 0x101};
constexpr Q_DECL_UNUSED QColor darkcyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x8b * 0x101, 0x8b * 0x101};
constexpr Q_DECL_UNUSED QColor darkgoldenrod {QColor::Rgb, 0xff * 0x101, 0xb8 * 0x101, 0x86 * 0x101, 0x0b * 0x101};
constexpr Q_DECL_UNUSED QColor darkgray {QColor::Rgb, 0xff * 0x101, 0xa9 * 0x101, 0xa9 * 0x101, 0xa9 * 0x101};
constexpr Q_DECL_UNUSED QColor darkgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x64 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor darkgrey {QColor::Rgb, 0xff * 0x101, 0xa9 * 0x101, 0xa9 * 0x101, 0xa9 * 0x101};
constexpr Q_DECL_UNUSED QColor darkkhaki {QColor::Rgb, 0xff * 0x101, 0xbd * 0x101, 0xb7 * 0x101, 0x6b * 0x101};
constexpr Q_DECL_UNUSED QColor darkmagenta {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x00 * 0x101, 0x8b * 0x101};
constexpr Q_DECL_UNUSED QColor darkolivegreen {QColor::Rgb, 0xff * 0x101, 0x55 * 0x101, 0x6b * 0x101, 0x2f * 0x101};
constexpr Q_DECL_UNUSED QColor darkorange {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x8c * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor darkorchid {QColor::Rgb, 0xff * 0x101, 0x99 * 0x101, 0x32 * 0x101, 0xcc * 0x101};
constexpr Q_DECL_UNUSED QColor darkred {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x00 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor darksalmon {QColor::Rgb, 0xff * 0x101, 0xe9 * 0x101, 0x96 * 0x101, 0x7a * 0x101};
constexpr Q_DECL_UNUSED QColor darkseagreen {QColor::Rgb, 0xff * 0x101, 0x8f * 0x101, 0xbc * 0x101, 0x8f * 0x101};
constexpr Q_DECL_UNUSED QColor darkslateblue {QColor::Rgb, 0xff * 0x101, 0x48 * 0x101, 0x3d * 0x101, 0x8b * 0x101};
constexpr Q_DECL_UNUSED QColor darkslategray {QColor::Rgb, 0xff * 0x101, 0x2f * 0x101, 0x4f * 0x101, 0x4f * 0x101};
constexpr Q_DECL_UNUSED QColor darkslategrey {QColor::Rgb, 0xff * 0x101, 0x2f * 0x101, 0x4f * 0x101, 0x4f * 0x101};
constexpr Q_DECL_UNUSED QColor darkturquoise {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xce * 0x101, 0xd1 * 0x101};
constexpr Q_DECL_UNUSED QColor darkviolet {QColor::Rgb, 0xff * 0x101, 0x94 * 0x101, 0x00 * 0x101, 0xd3 * 0x101};
constexpr Q_DECL_UNUSED QColor deeppink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x14 * 0x101, 0x93 * 0x101};
constexpr Q_DECL_UNUSED QColor deepskyblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xbf * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor dimgray {QColor::Rgb, 0xff * 0x101, 0x69 * 0x101, 0x69 * 0x101, 0x69 * 0x101};
constexpr Q_DECL_UNUSED QColor dimgrey {QColor::Rgb, 0xff * 0x101, 0x69 * 0x101, 0x69 * 0x101, 0x69 * 0x101};
constexpr Q_DECL_UNUSED QColor dodgerblue {QColor::Rgb, 0xff * 0x101, 0x1e * 0x101, 0x90 * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor firebrick {QColor::Rgb, 0xff * 0x101, 0xb2 * 0x101, 0x22 * 0x101, 0x22 * 0x101};
constexpr Q_DECL_UNUSED QColor floralwhite {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xf0 * 0x101};
constexpr Q_DECL_UNUSED QColor forestgreen {QColor::Rgb, 0xff * 0x101, 0x22 * 0x101, 0x8b * 0x101, 0x22 * 0x101};
constexpr Q_DECL_UNUSED QColor fuchsia {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor gainsboro {QColor::Rgb, 0xff * 0x101, 0xdc * 0x101, 0xdc * 0x101, 0xdc * 0x101};
constexpr Q_DECL_UNUSED QColor ghostwhite {QColor::Rgb, 0xff * 0x101, 0xf8 * 0x101, 0xf8 * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor gold {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xd7 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor goldenrod {QColor::Rgb, 0xff * 0x101, 0xda * 0x101, 0xa5 * 0x101, 0x20 * 0x101};
constexpr Q_DECL_UNUSED QColor gray {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
constexpr Q_DECL_UNUSED QColor green {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor greenyellow {QColor::Rgb, 0xff * 0x101, 0xad * 0x101, 0xff * 0x101, 0x2f * 0x101};
constexpr Q_DECL_UNUSED QColor grey {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
constexpr Q_DECL_UNUSED QColor honeydew {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xff * 0x101, 0xf0 * 0x101};
constexpr Q_DECL_UNUSED QColor hotpink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x69 * 0x101, 0xb4 * 0x101};
constexpr Q_DECL_UNUSED QColor indianred {QColor::Rgb, 0xff * 0x101, 0xcd * 0x101, 0x5c * 0x101, 0x5c * 0x101};
constexpr Q_DECL_UNUSED QColor indigo {QColor::Rgb, 0xff * 0x101, 0x4b * 0x101, 0x00 * 0x101, 0x82 * 0x101};
constexpr Q_DECL_UNUSED QColor ivory {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xf0 * 0x101};
constexpr Q_DECL_UNUSED QColor khaki {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xe6 * 0x101, 0x8c * 0x101};
constexpr Q_DECL_UNUSED QColor lavender {QColor::Rgb, 0xff * 0x101, 0xe6 * 0x101, 0xe6 * 0x101, 0xfa * 0x101};
constexpr Q_DECL_UNUSED QColor lavenderblush {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf0 * 0x101, 0xf5 * 0x101};
constexpr Q_DECL_UNUSED QColor lawngreen {QColor::Rgb, 0xff * 0x101, 0x7c * 0x101, 0xfc * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor lemonchiffon {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xcd * 0x101};
constexpr Q_DECL_UNUSED QColor lightblue {QColor::Rgb, 0xff * 0x101, 0xad * 0x101, 0xd8 * 0x101, 0xe6 * 0x101};
constexpr Q_DECL_UNUSED QColor lightcoral {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
constexpr Q_DECL_UNUSED QColor lightcyan {QColor::Rgb, 0xff * 0x101, 0xe0 * 0x101, 0xff * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor lightgoldenrodyellow {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xfa * 0x101, 0xd2 * 0x101};
constexpr Q_DECL_UNUSED QColor lightgray {QColor::Rgb, 0xff * 0x101, 0xd3 * 0x101, 0xd3 * 0x101, 0xd3 * 0x101};
constexpr Q_DECL_UNUSED QColor lightgreen {QColor::Rgb, 0xff * 0x101, 0x90 * 0x101, 0xee * 0x101, 0x90 * 0x101};
constexpr Q_DECL_UNUSED QColor lightgrey {QColor::Rgb, 0xff * 0x101, 0xd3 * 0x101, 0xd3 * 0x101, 0xd3 * 0x101};
constexpr Q_DECL_UNUSED QColor lightpink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xb6 * 0x101, 0xc1 * 0x101};
constexpr Q_DECL_UNUSED QColor lightsalmon {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xa0 * 0x101, 0x7a * 0x101};
constexpr Q_DECL_UNUSED QColor lightseagreen {QColor::Rgb, 0xff * 0x101, 0x20 * 0x101, 0xb2 * 0x101, 0xaa * 0x101};
constexpr Q_DECL_UNUSED QColor lightskyblue {QColor::Rgb, 0xff * 0x101, 0x87 * 0x101, 0xce * 0x101, 0xfa * 0x101};
constexpr Q_DECL_UNUSED QColor lightslategray {QColor::Rgb, 0xff * 0x101, 0x77 * 0x101, 0x88 * 0x101, 0x99 * 0x101};
constexpr Q_DECL_UNUSED QColor lightslategrey {QColor::Rgb, 0xff * 0x101, 0x77 * 0x101, 0x88 * 0x101, 0x99 * 0x101};
constexpr Q_DECL_UNUSED QColor lightsteelblue {QColor::Rgb, 0xff * 0x101, 0xb0 * 0x101, 0xc4 * 0x101, 0xde * 0x101};
constexpr Q_DECL_UNUSED QColor lightyellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xe0 * 0x101};
constexpr Q_DECL_UNUSED QColor lime {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor limegreen {QColor::Rgb, 0xff * 0x101, 0x32 * 0x101, 0xcd * 0x101, 0x32 * 0x101};
constexpr Q_DECL_UNUSED QColor linen {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xf0 * 0x101, 0xe6 * 0x101};
constexpr Q_DECL_UNUSED QColor magenta {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor maroon {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor mediumaquamarine {QColor::Rgb, 0xff * 0x101, 0x66 * 0x101, 0xcd * 0x101, 0xaa * 0x101};
constexpr Q_DECL_UNUSED QColor mediumblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xcd * 0x101};
constexpr Q_DECL_UNUSED QColor mediumorchid {QColor::Rgb, 0xff * 0x101, 0xba * 0x101, 0x55 * 0x101, 0xd3 * 0x101};
constexpr Q_DECL_UNUSED QColor mediumpurple {QColor::Rgb, 0xff * 0x101, 0x93 * 0x101, 0x70 * 0x101, 0xdb * 0x101};
constexpr Q_DECL_UNUSED QColor mediumseagreen {QColor::Rgb, 0xff * 0x101, 0x3c * 0x101, 0xb3 * 0x101, 0x71 * 0x101};
constexpr Q_DECL_UNUSED QColor mediumslateblue {QColor::Rgb, 0xff * 0x101, 0x7b * 0x101, 0x68 * 0x101, 0xee * 0x101};
constexpr Q_DECL_UNUSED QColor mediumspringgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xfa * 0x101, 0x9a * 0x101};
constexpr Q_DECL_UNUSED QColor mediumturquoise {QColor::Rgb, 0xff * 0x101, 0x48 * 0x101, 0xd1 * 0x101, 0xcc * 0x101};
constexpr Q_DECL_UNUSED QColor mediumvioletred {QColor::Rgb, 0xff * 0x101, 0xc7 * 0x101, 0x15 * 0x101, 0x85 * 0x101};
constexpr Q_DECL_UNUSED QColor midnightblue {QColor::Rgb, 0xff * 0x101, 0x19 * 0x101, 0x19 * 0x101, 0x70 * 0x101};
constexpr Q_DECL_UNUSED QColor mintcream {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xff * 0x101, 0xfa * 0x101};
constexpr Q_DECL_UNUSED QColor mistyrose {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xe1 * 0x101};
constexpr Q_DECL_UNUSED QColor moccasin {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xb5 * 0x101};
constexpr Q_DECL_UNUSED QColor navajowhite {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xde * 0x101, 0xad * 0x101};
constexpr Q_DECL_UNUSED QColor navy {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x80 * 0x101};
constexpr Q_DECL_UNUSED QColor oldlace {QColor::Rgb, 0xff * 0x101, 0xfd * 0x101, 0xf5 * 0x101, 0xe6 * 0x101};
constexpr Q_DECL_UNUSED QColor olive {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor olivedrab {QColor::Rgb, 0xff * 0x101, 0x6b * 0x101, 0x8e * 0x101, 0x23 * 0x101};
constexpr Q_DECL_UNUSED QColor orange {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xa5 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor orangered {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x45 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor orchid {QColor::Rgb, 0xff * 0x101, 0xda * 0x101, 0x70 * 0x101, 0xd6 * 0x101};
constexpr Q_DECL_UNUSED QColor palegoldenrod {QColor::Rgb, 0xff * 0x101, 0xee * 0x101, 0xe8 * 0x101, 0xaa * 0x101};
constexpr Q_DECL_UNUSED QColor palegreen {QColor::Rgb, 0xff * 0x101, 0x98 * 0x101, 0xfb * 0x101, 0x98 * 0x101};
constexpr Q_DECL_UNUSED QColor paleturquoise {QColor::Rgb, 0xff * 0x101, 0xaf * 0x101, 0xee * 0x101, 0xee * 0x101};
constexpr Q_DECL_UNUSED QColor palevioletred {QColor::Rgb, 0xff * 0x101, 0xdb * 0x101, 0x70 * 0x101, 0x93 * 0x101};
constexpr Q_DECL_UNUSED QColor papayawhip {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xef * 0x101, 0xd5 * 0x101};
constexpr Q_DECL_UNUSED QColor peachpuff {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xda * 0x101, 0xb9 * 0x101};
constexpr Q_DECL_UNUSED QColor peru {QColor::Rgb, 0xff * 0x101, 0xcd * 0x101, 0x85 * 0x101, 0x3f * 0x101};
constexpr Q_DECL_UNUSED QColor pink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xc0 * 0x101, 0xcb * 0x101};
constexpr Q_DECL_UNUSED QColor plum {QColor::Rgb, 0xff * 0x101, 0xdd * 0x101, 0xa0 * 0x101, 0xdd * 0x101};
constexpr Q_DECL_UNUSED QColor powderblue {QColor::Rgb, 0xff * 0x101, 0xb0 * 0x101, 0xe0 * 0x101, 0xe6 * 0x101};
constexpr Q_DECL_UNUSED QColor purple {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x80 * 0x101};
constexpr Q_DECL_UNUSED QColor red {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor rosybrown {QColor::Rgb, 0xff * 0x101, 0xbc * 0x101, 0x8f * 0x101, 0x8f * 0x101};
constexpr Q_DECL_UNUSED QColor royalblue {QColor::Rgb, 0xff * 0x101, 0x41 * 0x101, 0x69 * 0x101, 0xe1 * 0x101};
constexpr Q_DECL_UNUSED QColor saddlebrown {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x45 * 0x101, 0x13 * 0x101};
constexpr Q_DECL_UNUSED QColor salmon {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0x80 * 0x101, 0x72 * 0x101};
constexpr Q_DECL_UNUSED QColor sandybrown {QColor::Rgb, 0xff * 0x101, 0xf4 * 0x101, 0xa4 * 0x101, 0x60 * 0x101};
constexpr Q_DECL_UNUSED QColor seagreen {QColor::Rgb, 0xff * 0x101, 0x2e * 0x101, 0x8b * 0x101, 0x57 * 0x101};
constexpr Q_DECL_UNUSED QColor seashell {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf5 * 0x101, 0xee * 0x101};
constexpr Q_DECL_UNUSED QColor sienna {QColor::Rgb, 0xff * 0x101, 0xa0 * 0x101, 0x52 * 0x101, 0x2d * 0x101};
constexpr Q_DECL_UNUSED QColor silver {QColor::Rgb, 0xff * 0x101, 0xc0 * 0x101, 0xc0 * 0x101, 0xc0 * 0x101};
constexpr Q_DECL_UNUSED QColor skyblue {QColor::Rgb, 0xff * 0x101, 0x87 * 0x101, 0xce * 0x101, 0xeb * 0x101};
constexpr Q_DECL_UNUSED QColor slateblue {QColor::Rgb, 0xff * 0x101, 0x6a * 0x101, 0x5a * 0x101, 0xcd * 0x101};
constexpr Q_DECL_UNUSED QColor slategray {QColor::Rgb, 0xff * 0x101, 0x70 * 0x101, 0x80 * 0x101, 0x90 * 0x101};
constexpr Q_DECL_UNUSED QColor slategrey {QColor::Rgb, 0xff * 0x101, 0x70 * 0x101, 0x80 * 0x101, 0x90 * 0x101};
constexpr Q_DECL_UNUSED QColor snow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xfa * 0x101};
constexpr Q_DECL_UNUSED QColor springgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x7f * 0x101};
constexpr Q_DECL_UNUSED QColor steelblue {QColor::Rgb, 0xff * 0x101, 0x46 * 0x101, 0x82 * 0x101, 0xb4 * 0x101};
constexpr Q_DECL_UNUSED QColor tan {QColor::Rgb, 0xff * 0x101, 0xd2 * 0x101, 0xb4 * 0x101, 0x8c * 0x101};
constexpr Q_DECL_UNUSED QColor teal {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
constexpr Q_DECL_UNUSED QColor thistle {QColor::Rgb, 0xff * 0x101, 0xd8 * 0x101, 0xbf * 0x101, 0xd8 * 0x101};
constexpr Q_DECL_UNUSED QColor tomato {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x63 * 0x101, 0x47 * 0x101};
constexpr Q_DECL_UNUSED QColor turquoise {QColor::Rgb, 0xff * 0x101, 0x40 * 0x101, 0xe0 * 0x101, 0xd0 * 0x101};
constexpr Q_DECL_UNUSED QColor violet {QColor::Rgb, 0xff * 0x101, 0xee * 0x101, 0x82 * 0x101, 0xee * 0x101};
constexpr Q_DECL_UNUSED QColor wheat {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xde * 0x101, 0xb3 * 0x101};
constexpr Q_DECL_UNUSED QColor white {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101};
constexpr Q_DECL_UNUSED QColor whitesmoke {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xf5 * 0x101, 0xf5 * 0x101};
constexpr Q_DECL_UNUSED QColor yellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101};
constexpr Q_DECL_UNUSED QColor yellowgreen {QColor::Rgb, 0xff * 0x101, 0x9a * 0x101, 0xcd * 0x101, 0x32 * 0x101};
} // namespace Svg
#endif // Q_COMPILER_CONSTEXPR && Q_COMPILER_UNIFORM_INIT
} // namespace QColorLiterals
QT_END_NAMESPACE
#endif // QCOLOR_H

View File

@ -64,6 +64,10 @@ private slots:
void globalColors_data();
void globalColors();
#if defined(Q_COMPILER_CONSTEXPR) & defined(Q_COMPILER_UNIFORM_INIT)
void colorConstants_data();
void colorConstants();
#endif
void setRed();
void setGreen();
@ -368,6 +372,191 @@ void tst_QColor::globalColors()
QCOMPARE(color.rgba(), argb);
}
#if defined(Q_COMPILER_CONSTEXPR) & defined(Q_COMPILER_UNIFORM_INIT)
void tst_QColor::colorConstants_data()
{
QTest::addColumn<QColor>("color");
QTest::addColumn<QRgb>("argb");
QTest::newRow("invalid") << QColor() << 0xff000000;
QTest::newRow("global color color0") << QColorConstants::Color0 << 0xff000000u;
QTest::newRow("global color color1") << QColorConstants::Color1 << 0xffffffffu;
QTest::newRow("global color black") << QColorConstants::Black << 0xff000000u;
QTest::newRow("global color white") << QColorConstants::White << 0xffffffffu;
QTest::newRow("global color darkGray") << QColorConstants::DarkGray << 0xff808080u;
QTest::newRow("global color gray") << QColorConstants::Gray << 0xffa0a0a4u;
QTest::newRow("global color lightGray") << QColorConstants::LightGray << 0xffc0c0c0u;
QTest::newRow("global color red") << QColorConstants::Red << 0xffff0000u;
QTest::newRow("global color green") << QColorConstants::Green << 0xff00ff00u;
QTest::newRow("global color blue") << QColorConstants::Blue << 0xff0000ffu;
QTest::newRow("global color cyan") << QColorConstants::Cyan << 0xff00ffffu;
QTest::newRow("global color magenta") << QColorConstants::Magenta << 0xffff00ffu;
QTest::newRow("global color yellow") << QColorConstants::Yellow << 0xffffff00u;
QTest::newRow("global color darkRed") << QColorConstants::DarkRed << 0xff800000u;
QTest::newRow("global color darkGreen") << QColorConstants::DarkGreen << 0xff008000u;
QTest::newRow("global color darkBlue") << QColorConstants::DarkBlue << 0xff000080u;
QTest::newRow("global color darkCyan") << QColorConstants::DarkCyan << 0xff008080u;
QTest::newRow("global color darkMagenta") << QColorConstants::DarkMagenta << 0xff800080u;
QTest::newRow("global color darkYellow") << QColorConstants::DarkYellow << 0xff808000u;
QTest::newRow("global color transparent") << QColorConstants::Transparent << 0x00000000u;
QTest::newRow("SVG aliceblue") << QColorConstants::Svg::aliceblue << 0xfff0f8ffu;
QTest::newRow("SVG antiquewhite") << QColorConstants::Svg::antiquewhite << 0xfffaebd7u;
QTest::newRow("SVG aqua") << QColorConstants::Svg::aqua << 0xff00ffffu;
QTest::newRow("SVG aquamarine") << QColorConstants::Svg::aquamarine << 0xff7fffd4u;
QTest::newRow("SVG azure") << QColorConstants::Svg::azure << 0xfff0ffffu;
QTest::newRow("SVG beige") << QColorConstants::Svg::beige << 0xfff5f5dcu;
QTest::newRow("SVG bisque") << QColorConstants::Svg::bisque << 0xffffe4c4u;
QTest::newRow("SVG black") << QColorConstants::Svg::black << 0xff000000u;
QTest::newRow("SVG blanchedalmond") << QColorConstants::Svg::blanchedalmond << 0xffffebcdu;
QTest::newRow("SVG blue") << QColorConstants::Svg::blue << 0xff0000ffu;
QTest::newRow("SVG blueviolet") << QColorConstants::Svg::blueviolet << 0xff8a2be2u;
QTest::newRow("SVG brown") << QColorConstants::Svg::brown << 0xffa52a2au;
QTest::newRow("SVG burlywood") << QColorConstants::Svg::burlywood << 0xffdeb887u;
QTest::newRow("SVG cadetblue") << QColorConstants::Svg::cadetblue << 0xff5f9ea0u;
QTest::newRow("SVG chartreuse") << QColorConstants::Svg::chartreuse << 0xff7fff00u;
QTest::newRow("SVG chocolate") << QColorConstants::Svg::chocolate << 0xffd2691eu;
QTest::newRow("SVG coral") << QColorConstants::Svg::coral << 0xffff7f50u;
QTest::newRow("SVG cornflowerblue") << QColorConstants::Svg::cornflowerblue << 0xff6495edu;
QTest::newRow("SVG cornsilk") << QColorConstants::Svg::cornsilk << 0xfffff8dcu;
QTest::newRow("SVG crimson") << QColorConstants::Svg::crimson << 0xffdc143cu;
QTest::newRow("SVG cyan") << QColorConstants::Svg::cyan << 0xff00ffffu;
QTest::newRow("SVG darkblue") << QColorConstants::Svg::darkblue << 0xff00008bu;
QTest::newRow("SVG darkcyan") << QColorConstants::Svg::darkcyan << 0xff008b8bu;
QTest::newRow("SVG darkgoldenrod") << QColorConstants::Svg::darkgoldenrod << 0xffb8860bu;
QTest::newRow("SVG darkgray") << QColorConstants::Svg::darkgray << 0xffa9a9a9u;
QTest::newRow("SVG darkgreen") << QColorConstants::Svg::darkgreen << 0xff006400u;
QTest::newRow("SVG darkgrey") << QColorConstants::Svg::darkgrey << 0xffa9a9a9u;
QTest::newRow("SVG darkkhaki") << QColorConstants::Svg::darkkhaki << 0xffbdb76bu;
QTest::newRow("SVG darkmagenta") << QColorConstants::Svg::darkmagenta << 0xff8b008bu;
QTest::newRow("SVG darkolivegreen") << QColorConstants::Svg::darkolivegreen << 0xff556b2fu;
QTest::newRow("SVG darkorange") << QColorConstants::Svg::darkorange << 0xffff8c00u;
QTest::newRow("SVG darkorchid") << QColorConstants::Svg::darkorchid << 0xff9932ccu;
QTest::newRow("SVG darkred") << QColorConstants::Svg::darkred << 0xff8b0000u;
QTest::newRow("SVG darksalmon") << QColorConstants::Svg::darksalmon << 0xffe9967au;
QTest::newRow("SVG darkseagreen") << QColorConstants::Svg::darkseagreen << 0xff8fbc8fu;
QTest::newRow("SVG darkslateblue") << QColorConstants::Svg::darkslateblue << 0xff483d8bu;
QTest::newRow("SVG darkslategray") << QColorConstants::Svg::darkslategray << 0xff2f4f4fu;
QTest::newRow("SVG darkslategrey") << QColorConstants::Svg::darkslategrey << 0xff2f4f4fu;
QTest::newRow("SVG darkturquoise") << QColorConstants::Svg::darkturquoise << 0xff00ced1u;
QTest::newRow("SVG darkviolet") << QColorConstants::Svg::darkviolet << 0xff9400d3u;
QTest::newRow("SVG deeppink") << QColorConstants::Svg::deeppink << 0xffff1493u;
QTest::newRow("SVG deepskyblue") << QColorConstants::Svg::deepskyblue << 0xff00bfffu;
QTest::newRow("SVG dimgray") << QColorConstants::Svg::dimgray << 0xff696969u;
QTest::newRow("SVG dimgrey") << QColorConstants::Svg::dimgrey << 0xff696969u;
QTest::newRow("SVG dodgerblue") << QColorConstants::Svg::dodgerblue << 0xff1e90ffu;
QTest::newRow("SVG firebrick") << QColorConstants::Svg::firebrick << 0xffb22222u;
QTest::newRow("SVG floralwhite") << QColorConstants::Svg::floralwhite << 0xfffffaf0u;
QTest::newRow("SVG forestgreen") << QColorConstants::Svg::forestgreen << 0xff228b22u;
QTest::newRow("SVG fuchsia") << QColorConstants::Svg::fuchsia << 0xffff00ffu;
QTest::newRow("SVG gainsboro") << QColorConstants::Svg::gainsboro << 0xffdcdcdcu;
QTest::newRow("SVG ghostwhite") << QColorConstants::Svg::ghostwhite << 0xfff8f8ffu;
QTest::newRow("SVG gold") << QColorConstants::Svg::gold << 0xffffd700u;
QTest::newRow("SVG goldenrod") << QColorConstants::Svg::goldenrod << 0xffdaa520u;
QTest::newRow("SVG gray") << QColorConstants::Svg::gray << 0xff808080u;
QTest::newRow("SVG green") << QColorConstants::Svg::green << 0xff008000u;
QTest::newRow("SVG greenyellow") << QColorConstants::Svg::greenyellow << 0xffadff2fu;
QTest::newRow("SVG grey") << QColorConstants::Svg::grey << 0xff808080u;
QTest::newRow("SVG honeydew") << QColorConstants::Svg::honeydew << 0xfff0fff0u;
QTest::newRow("SVG hotpink") << QColorConstants::Svg::hotpink << 0xffff69b4u;
QTest::newRow("SVG indianred") << QColorConstants::Svg::indianred << 0xffcd5c5cu;
QTest::newRow("SVG indigo") << QColorConstants::Svg::indigo << 0xff4b0082u;
QTest::newRow("SVG ivory") << QColorConstants::Svg::ivory << 0xfffffff0u;
QTest::newRow("SVG khaki") << QColorConstants::Svg::khaki << 0xfff0e68cu;
QTest::newRow("SVG lavender") << QColorConstants::Svg::lavender << 0xffe6e6fau;
QTest::newRow("SVG lavenderblush") << QColorConstants::Svg::lavenderblush << 0xfffff0f5u;
QTest::newRow("SVG lawngreen") << QColorConstants::Svg::lawngreen << 0xff7cfc00u;
QTest::newRow("SVG lemonchiffon") << QColorConstants::Svg::lemonchiffon << 0xfffffacdu;
QTest::newRow("SVG lightblue") << QColorConstants::Svg::lightblue << 0xffadd8e6u;
QTest::newRow("SVG lightcoral") << QColorConstants::Svg::lightcoral << 0xfff08080u;
QTest::newRow("SVG lightcyan") << QColorConstants::Svg::lightcyan << 0xffe0ffffu;
QTest::newRow("SVG lightgoldenrodyellow") << QColorConstants::Svg::lightgoldenrodyellow << 0xfffafad2u;
QTest::newRow("SVG lightgray") << QColorConstants::Svg::lightgray << 0xffd3d3d3u;
QTest::newRow("SVG lightgreen") << QColorConstants::Svg::lightgreen << 0xff90ee90u;
QTest::newRow("SVG lightgrey") << QColorConstants::Svg::lightgrey << 0xffd3d3d3u;
QTest::newRow("SVG lightpink") << QColorConstants::Svg::lightpink << 0xffffb6c1u;
QTest::newRow("SVG lightsalmon") << QColorConstants::Svg::lightsalmon << 0xffffa07au;
QTest::newRow("SVG lightseagreen") << QColorConstants::Svg::lightseagreen << 0xff20b2aau;
QTest::newRow("SVG lightskyblue") << QColorConstants::Svg::lightskyblue << 0xff87cefau;
QTest::newRow("SVG lightslategray") << QColorConstants::Svg::lightslategray << 0xff778899u;
QTest::newRow("SVG lightslategrey") << QColorConstants::Svg::lightslategrey << 0xff778899u;
QTest::newRow("SVG lightsteelblue") << QColorConstants::Svg::lightsteelblue << 0xffb0c4deu;
QTest::newRow("SVG lightyellow") << QColorConstants::Svg::lightyellow << 0xffffffe0u;
QTest::newRow("SVG lime") << QColorConstants::Svg::lime << 0xff00ff00u;
QTest::newRow("SVG limegreen") << QColorConstants::Svg::limegreen << 0xff32cd32u;
QTest::newRow("SVG linen") << QColorConstants::Svg::linen << 0xfffaf0e6u;
QTest::newRow("SVG magenta") << QColorConstants::Svg::magenta << 0xffff00ffu;
QTest::newRow("SVG maroon") << QColorConstants::Svg::maroon << 0xff800000u;
QTest::newRow("SVG mediumaquamarine") << QColorConstants::Svg::mediumaquamarine << 0xff66cdaau;
QTest::newRow("SVG mediumblue") << QColorConstants::Svg::mediumblue << 0xff0000cdu;
QTest::newRow("SVG mediumorchid") << QColorConstants::Svg::mediumorchid << 0xffba55d3u;
QTest::newRow("SVG mediumpurple") << QColorConstants::Svg::mediumpurple << 0xff9370dbu;
QTest::newRow("SVG mediumseagreen") << QColorConstants::Svg::mediumseagreen << 0xff3cb371u;
QTest::newRow("SVG mediumslateblue") << QColorConstants::Svg::mediumslateblue << 0xff7b68eeu;
QTest::newRow("SVG mediumspringgreen") << QColorConstants::Svg::mediumspringgreen << 0xff00fa9au;
QTest::newRow("SVG mediumturquoise") << QColorConstants::Svg::mediumturquoise << 0xff48d1ccu;
QTest::newRow("SVG mediumvioletred") << QColorConstants::Svg::mediumvioletred << 0xffc71585u;
QTest::newRow("SVG midnightblue") << QColorConstants::Svg::midnightblue << 0xff191970u;
QTest::newRow("SVG mintcream") << QColorConstants::Svg::mintcream << 0xfff5fffau;
QTest::newRow("SVG mistyrose") << QColorConstants::Svg::mistyrose << 0xffffe4e1u;
QTest::newRow("SVG moccasin") << QColorConstants::Svg::moccasin << 0xffffe4b5u;
QTest::newRow("SVG navajowhite") << QColorConstants::Svg::navajowhite << 0xffffdeadu;
QTest::newRow("SVG navy") << QColorConstants::Svg::navy << 0xff000080u;
QTest::newRow("SVG oldlace") << QColorConstants::Svg::oldlace << 0xfffdf5e6u;
QTest::newRow("SVG olive") << QColorConstants::Svg::olive << 0xff808000u;
QTest::newRow("SVG olivedrab") << QColorConstants::Svg::olivedrab << 0xff6b8e23u;
QTest::newRow("SVG orange") << QColorConstants::Svg::orange << 0xffffa500u;
QTest::newRow("SVG orangered") << QColorConstants::Svg::orangered << 0xffff4500u;
QTest::newRow("SVG orchid") << QColorConstants::Svg::orchid << 0xffda70d6u;
QTest::newRow("SVG palegoldenrod") << QColorConstants::Svg::palegoldenrod << 0xffeee8aau;
QTest::newRow("SVG palegreen") << QColorConstants::Svg::palegreen << 0xff98fb98u;
QTest::newRow("SVG paleturquoise") << QColorConstants::Svg::paleturquoise << 0xffafeeeeu;
QTest::newRow("SVG palevioletred") << QColorConstants::Svg::palevioletred << 0xffdb7093u;
QTest::newRow("SVG papayawhip") << QColorConstants::Svg::papayawhip << 0xffffefd5u;
QTest::newRow("SVG peachpuff") << QColorConstants::Svg::peachpuff << 0xffffdab9u;
QTest::newRow("SVG peru") << QColorConstants::Svg::peru << 0xffcd853fu;
QTest::newRow("SVG pink") << QColorConstants::Svg::pink << 0xffffc0cbu;
QTest::newRow("SVG plum") << QColorConstants::Svg::plum << 0xffdda0ddu;
QTest::newRow("SVG powderblue") << QColorConstants::Svg::powderblue << 0xffb0e0e6u;
QTest::newRow("SVG purple") << QColorConstants::Svg::purple << 0xff800080u;
QTest::newRow("SVG red") << QColorConstants::Svg::red << 0xffff0000u;
QTest::newRow("SVG rosybrown") << QColorConstants::Svg::rosybrown << 0xffbc8f8fu;
QTest::newRow("SVG royalblue") << QColorConstants::Svg::royalblue << 0xff4169e1u;
QTest::newRow("SVG saddlebrown") << QColorConstants::Svg::saddlebrown << 0xff8b4513u;
QTest::newRow("SVG salmon") << QColorConstants::Svg::salmon << 0xfffa8072u;
QTest::newRow("SVG sandybrown") << QColorConstants::Svg::sandybrown << 0xfff4a460u;
QTest::newRow("SVG seagreen") << QColorConstants::Svg::seagreen << 0xff2e8b57u;
QTest::newRow("SVG seashell") << QColorConstants::Svg::seashell << 0xfffff5eeu;
QTest::newRow("SVG sienna") << QColorConstants::Svg::sienna << 0xffa0522du;
QTest::newRow("SVG silver") << QColorConstants::Svg::silver << 0xffc0c0c0u;
QTest::newRow("SVG skyblue") << QColorConstants::Svg::skyblue << 0xff87ceebu;
QTest::newRow("SVG slateblue") << QColorConstants::Svg::slateblue << 0xff6a5acdu;
QTest::newRow("SVG slategray") << QColorConstants::Svg::slategray << 0xff708090u;
QTest::newRow("SVG slategrey") << QColorConstants::Svg::slategrey << 0xff708090u;
QTest::newRow("SVG snow") << QColorConstants::Svg::snow << 0xfffffafau;
QTest::newRow("SVG springgreen") << QColorConstants::Svg::springgreen << 0xff00ff7fu;
QTest::newRow("SVG steelblue") << QColorConstants::Svg::steelblue << 0xff4682b4u;
QTest::newRow("SVG tan") << QColorConstants::Svg::tan << 0xffd2b48cu;
QTest::newRow("SVG teal") << QColorConstants::Svg::teal << 0xff008080u;
QTest::newRow("SVG thistle") << QColorConstants::Svg::thistle << 0xffd8bfd8u;
QTest::newRow("SVG tomato") << QColorConstants::Svg::tomato << 0xffff6347u;
QTest::newRow("SVG turquoise") << QColorConstants::Svg::turquoise << 0xff40e0d0u;
QTest::newRow("SVG violet") << QColorConstants::Svg::violet << 0xffee82eeu;
QTest::newRow("SVG wheat") << QColorConstants::Svg::wheat << 0xfff5deb3u;
QTest::newRow("SVG white") << QColorConstants::Svg::white << 0xffffffffu;
QTest::newRow("SVG whitesmoke") << QColorConstants::Svg::whitesmoke << 0xfff5f5f5u;
QTest::newRow("SVG yellow") << QColorConstants::Svg::yellow << 0xffffff00u;
QTest::newRow("SVG yellowgreen") << QColorConstants::Svg::yellowgreen << 0xff9acd32u;
}
void tst_QColor::colorConstants()
{
QFETCH(QColor, color);
QFETCH(QRgb, argb);
QCOMPARE(color.rgba(), argb);
}
#endif // defined(Q_COMPILER_CONSTEXPR) & defined(Q_COMPILER_UNIFORM_INIT)
/*
CSS color names = SVG 1.0 color names + transparent (rgba(0,0,0,0))
*/