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 # Ignore warnings about undocumented enum values for the QGradient presets
spurious += "Undocumented enum item '.*' in QGradient::Preset" 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 #endif
#define rgb(r,g,b) (0xff000000 | (r << 16) | (g << 8) | b) #define rgb(r,g,b) (0xff000000 | (r << 16) | (g << 8) | b)
// keep this is in sync with QColorConstants
static const struct RGBData { static const struct RGBData {
const char name[21]; const char name[21];
uint value; uint value;
@ -475,25 +476,35 @@ static QStringList get_colornames()
\section1 Predefined Colors \section1 Predefined Colors
There are 20 predefined QColors described by the Qt::GlobalColor enum, There are 20 predefined QColor objects in the \c{QColorConstants}
including black, white, primary and secondary colors, darker versions namespace, including black, white, primary and secondary colors,
of these colors and three shades of gray. QColor also recognizes a darker versions of these colors, and three shades of gray.
variety of color names; the static colorNames() function returns a Furthermore, the \c{QColorConstants::Svg} namespace defines QColor
QStringList color names that QColor knows about. objects for the standard \l{https://www.w3.org/TR/SVG11/types.html#ColorKeywords}{SVG color keyword names}.
\image qt-colors.png Qt Colors \image qt-colors.png Qt Colors
Additionally, the Qt::color0, Qt::color1 and Qt::transparent colors The \c{QColorConstants::Color0}, \c{QColorConstants::Color1} and
are used for special purposes. \c{QColorConstants::Transparent} colors are used for special
purposes.
Qt::color0 (zero pixel value) and Qt::color1 (non-zero pixel value) \c{QColorConstants::Color0} (zero pixel value) and
are special colors for drawing in QBitmaps. Painting with Qt::color0 \c{QColorConstants::Color1} (non-zero pixel value) are special
sets the bitmap bits to 0 (transparent; i.e., background), and painting colors for drawing in QBitmaps. Painting with
with Qt::color1 sets the bits to 1 (opaque; i.e., foreground). \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 \c{QColorConstants::Transparent} is used to indicate a transparent
with this value, a pixel value will be used that is appropriate for the pixel. When painting with this value, a pixel value will be used
underlying pixel format in use. 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 \section1 The Extended RGB Color Model
@ -586,7 +597,7 @@ static QStringList get_colornames()
alpha-channel to feature \l {QColor#Alpha-Blended alpha-channel to feature \l {QColor#Alpha-Blended
Drawing}{alpha-blended drawing}. Drawing}{alpha-blended drawing}.
\sa QPalette, QBrush \sa QPalette, QBrush, QColorConstants
*/ */
#define QCOLOR_INT_RANGE_CHECK(fn, var) \ #define QCOLOR_INT_RANGE_CHECK(fn, var) \
@ -886,7 +897,8 @@ QString QColor::name(NameFormat format) const
\li #AARRGGBB (Since 5.2) \li #AARRGGBB (Since 5.2)
\li #RRRGGGBBB \li #RRRGGGBBB
\li #RRRRGGGGBBBB \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". 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 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 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() \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 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 &, const QColor &);
friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QColor &); friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QColor &);
#endif #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); 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 inline bool QColor::isValid() const noexcept
{ return cspec != Invalid; } { 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 QT_END_NAMESPACE
#endif // QCOLOR_H #endif // QCOLOR_H

View File

@ -64,6 +64,10 @@ private slots:
void globalColors_data(); void globalColors_data();
void globalColors(); void globalColors();
#if defined(Q_COMPILER_CONSTEXPR) & defined(Q_COMPILER_UNIFORM_INIT)
void colorConstants_data();
void colorConstants();
#endif
void setRed(); void setRed();
void setGreen(); void setGreen();
@ -368,6 +372,191 @@ void tst_QColor::globalColors()
QCOMPARE(color.rgba(), argb); 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)) CSS color names = SVG 1.0 color names + transparent (rgba(0,0,0,0))
*/ */