Merge pull request #59238 from akien-mga/3.x-cherrypicks

This commit is contained in:
Rémi Verschelde 2022-03-17 19:16:48 +01:00 committed by GitHub
commit fc93c22b6e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 500 additions and 305 deletions

View file

@ -6,150 +6,150 @@ static void _populate_named_colors() {
if (!_named_colors.empty()) {
return;
}
_named_colors.insert("aliceblue", Color(0.94, 0.97, 1.00));
_named_colors.insert("antiquewhite", Color(0.98, 0.92, 0.84));
_named_colors.insert("aqua", Color(0.00, 1.00, 1.00));
_named_colors.insert("aquamarine", Color(0.50, 1.00, 0.83));
_named_colors.insert("azure", Color(0.94, 1.00, 1.00));
_named_colors.insert("beige", Color(0.96, 0.96, 0.86));
_named_colors.insert("bisque", Color(1.00, 0.89, 0.77));
_named_colors.insert("black", Color(0.00, 0.00, 0.00));
_named_colors.insert("blanchedalmond", Color(1.00, 0.92, 0.80));
_named_colors.insert("blue", Color(0.00, 0.00, 1.00));
_named_colors.insert("blueviolet", Color(0.54, 0.17, 0.89));
_named_colors.insert("brown", Color(0.65, 0.16, 0.16));
_named_colors.insert("burlywood", Color(0.87, 0.72, 0.53));
_named_colors.insert("cadetblue", Color(0.37, 0.62, 0.63));
_named_colors.insert("chartreuse", Color(0.50, 1.00, 0.00));
_named_colors.insert("chocolate", Color(0.82, 0.41, 0.12));
_named_colors.insert("coral", Color(1.00, 0.50, 0.31));
_named_colors.insert("cornflower", Color(0.39, 0.58, 0.93));
_named_colors.insert("cornsilk", Color(1.00, 0.97, 0.86));
_named_colors.insert("crimson", Color(0.86, 0.08, 0.24));
_named_colors.insert("cyan", Color(0.00, 1.00, 1.00));
_named_colors.insert("darkblue", Color(0.00, 0.00, 0.55));
_named_colors.insert("darkcyan", Color(0.00, 0.55, 0.55));
_named_colors.insert("darkgoldenrod", Color(0.72, 0.53, 0.04));
_named_colors.insert("darkgray", Color(0.66, 0.66, 0.66));
_named_colors.insert("darkgreen", Color(0.00, 0.39, 0.00));
_named_colors.insert("darkkhaki", Color(0.74, 0.72, 0.42));
_named_colors.insert("darkmagenta", Color(0.55, 0.00, 0.55));
_named_colors.insert("darkolivegreen", Color(0.33, 0.42, 0.18));
_named_colors.insert("darkorange", Color(1.00, 0.55, 0.00));
_named_colors.insert("darkorchid", Color(0.60, 0.20, 0.80));
_named_colors.insert("darkred", Color(0.55, 0.00, 0.00));
_named_colors.insert("darksalmon", Color(0.91, 0.59, 0.48));
_named_colors.insert("darkseagreen", Color(0.56, 0.74, 0.56));
_named_colors.insert("darkslateblue", Color(0.28, 0.24, 0.55));
_named_colors.insert("darkslategray", Color(0.18, 0.31, 0.31));
_named_colors.insert("darkturquoise", Color(0.00, 0.81, 0.82));
_named_colors.insert("darkviolet", Color(0.58, 0.00, 0.83));
_named_colors.insert("deeppink", Color(1.00, 0.08, 0.58));
_named_colors.insert("deepskyblue", Color(0.00, 0.75, 1.00));
_named_colors.insert("dimgray", Color(0.41, 0.41, 0.41));
_named_colors.insert("dodgerblue", Color(0.12, 0.56, 1.00));
_named_colors.insert("firebrick", Color(0.70, 0.13, 0.13));
_named_colors.insert("floralwhite", Color(1.00, 0.98, 0.94));
_named_colors.insert("forestgreen", Color(0.13, 0.55, 0.13));
_named_colors.insert("fuchsia", Color(1.00, 0.00, 1.00));
_named_colors.insert("gainsboro", Color(0.86, 0.86, 0.86));
_named_colors.insert("ghostwhite", Color(0.97, 0.97, 1.00));
_named_colors.insert("gold", Color(1.00, 0.84, 0.00));
_named_colors.insert("goldenrod", Color(0.85, 0.65, 0.13));
_named_colors.insert("gray", Color(0.75, 0.75, 0.75));
_named_colors.insert("webgray", Color(0.50, 0.50, 0.50));
_named_colors.insert("green", Color(0.00, 1.00, 0.00));
_named_colors.insert("webgreen", Color(0.00, 0.50, 0.00));
_named_colors.insert("greenyellow", Color(0.68, 1.00, 0.18));
_named_colors.insert("honeydew", Color(0.94, 1.00, 0.94));
_named_colors.insert("hotpink", Color(1.00, 0.41, 0.71));
_named_colors.insert("indianred", Color(0.80, 0.36, 0.36));
_named_colors.insert("indigo", Color(0.29, 0.00, 0.51));
_named_colors.insert("ivory", Color(1.00, 1.00, 0.94));
_named_colors.insert("khaki", Color(0.94, 0.90, 0.55));
_named_colors.insert("lavender", Color(0.90, 0.90, 0.98));
_named_colors.insert("lavenderblush", Color(1.00, 0.94, 0.96));
_named_colors.insert("lawngreen", Color(0.49, 0.99, 0.00));
_named_colors.insert("lemonchiffon", Color(1.00, 0.98, 0.80));
_named_colors.insert("lightblue", Color(0.68, 0.85, 0.90));
_named_colors.insert("lightcoral", Color(0.94, 0.50, 0.50));
_named_colors.insert("lightcyan", Color(0.88, 1.00, 1.00));
_named_colors.insert("lightgoldenrod", Color(0.98, 0.98, 0.82));
_named_colors.insert("lightgray", Color(0.83, 0.83, 0.83));
_named_colors.insert("lightgreen", Color(0.56, 0.93, 0.56));
_named_colors.insert("lightpink", Color(1.00, 0.71, 0.76));
_named_colors.insert("lightsalmon", Color(1.00, 0.63, 0.48));
_named_colors.insert("lightseagreen", Color(0.13, 0.70, 0.67));
_named_colors.insert("lightskyblue", Color(0.53, 0.81, 0.98));
_named_colors.insert("lightslategray", Color(0.47, 0.53, 0.60));
_named_colors.insert("lightsteelblue", Color(0.69, 0.77, 0.87));
_named_colors.insert("lightyellow", Color(1.00, 1.00, 0.88));
_named_colors.insert("lime", Color(0.00, 1.00, 0.00));
_named_colors.insert("limegreen", Color(0.20, 0.80, 0.20));
_named_colors.insert("linen", Color(0.98, 0.94, 0.90));
_named_colors.insert("magenta", Color(1.00, 0.00, 1.00));
_named_colors.insert("maroon", Color(0.69, 0.19, 0.38));
_named_colors.insert("webmaroon", Color(0.50, 0.00, 0.00));
_named_colors.insert("mediumaquamarine", Color(0.40, 0.80, 0.67));
_named_colors.insert("mediumblue", Color(0.00, 0.00, 0.80));
_named_colors.insert("mediumorchid", Color(0.73, 0.33, 0.83));
_named_colors.insert("mediumpurple", Color(0.58, 0.44, 0.86));
_named_colors.insert("mediumseagreen", Color(0.24, 0.70, 0.44));
_named_colors.insert("mediumslateblue", Color(0.48, 0.41, 0.93));
_named_colors.insert("mediumspringgreen", Color(0.00, 0.98, 0.60));
_named_colors.insert("mediumturquoise", Color(0.28, 0.82, 0.80));
_named_colors.insert("mediumvioletred", Color(0.78, 0.08, 0.52));
_named_colors.insert("midnightblue", Color(0.10, 0.10, 0.44));
_named_colors.insert("mintcream", Color(0.96, 1.00, 0.98));
_named_colors.insert("mistyrose", Color(1.00, 0.89, 0.88));
_named_colors.insert("moccasin", Color(1.00, 0.89, 0.71));
_named_colors.insert("navajowhite", Color(1.00, 0.87, 0.68));
_named_colors.insert("navyblue", Color(0.00, 0.00, 0.50));
_named_colors.insert("oldlace", Color(0.99, 0.96, 0.90));
_named_colors.insert("olive", Color(0.50, 0.50, 0.00));
_named_colors.insert("olivedrab", Color(0.42, 0.56, 0.14));
_named_colors.insert("orange", Color(1.00, 0.65, 0.00));
_named_colors.insert("orangered", Color(1.00, 0.27, 0.00));
_named_colors.insert("orchid", Color(0.85, 0.44, 0.84));
_named_colors.insert("palegoldenrod", Color(0.93, 0.91, 0.67));
_named_colors.insert("palegreen", Color(0.60, 0.98, 0.60));
_named_colors.insert("paleturquoise", Color(0.69, 0.93, 0.93));
_named_colors.insert("palevioletred", Color(0.86, 0.44, 0.58));
_named_colors.insert("papayawhip", Color(1.00, 0.94, 0.84));
_named_colors.insert("peachpuff", Color(1.00, 0.85, 0.73));
_named_colors.insert("peru", Color(0.80, 0.52, 0.25));
_named_colors.insert("pink", Color(1.00, 0.75, 0.80));
_named_colors.insert("plum", Color(0.87, 0.63, 0.87));
_named_colors.insert("powderblue", Color(0.69, 0.88, 0.90));
_named_colors.insert("purple", Color(0.63, 0.13, 0.94));
_named_colors.insert("webpurple", Color(0.50, 0.00, 0.50));
_named_colors.insert("rebeccapurple", Color(0.40, 0.20, 0.60));
_named_colors.insert("red", Color(1.00, 0.00, 0.00));
_named_colors.insert("rosybrown", Color(0.74, 0.56, 0.56));
_named_colors.insert("royalblue", Color(0.25, 0.41, 0.88));
_named_colors.insert("saddlebrown", Color(0.55, 0.27, 0.07));
_named_colors.insert("salmon", Color(0.98, 0.50, 0.45));
_named_colors.insert("sandybrown", Color(0.96, 0.64, 0.38));
_named_colors.insert("seagreen", Color(0.18, 0.55, 0.34));
_named_colors.insert("seashell", Color(1.00, 0.96, 0.93));
_named_colors.insert("sienna", Color(0.63, 0.32, 0.18));
_named_colors.insert("silver", Color(0.75, 0.75, 0.75));
_named_colors.insert("skyblue", Color(0.53, 0.81, 0.92));
_named_colors.insert("slateblue", Color(0.42, 0.35, 0.80));
_named_colors.insert("slategray", Color(0.44, 0.50, 0.56));
_named_colors.insert("snow", Color(1.00, 0.98, 0.98));
_named_colors.insert("springgreen", Color(0.00, 1.00, 0.50));
_named_colors.insert("steelblue", Color(0.27, 0.51, 0.71));
_named_colors.insert("tan", Color(0.82, 0.71, 0.55));
_named_colors.insert("teal", Color(0.00, 0.50, 0.50));
_named_colors.insert("thistle", Color(0.85, 0.75, 0.85));
_named_colors.insert("tomato", Color(1.00, 0.39, 0.28));
_named_colors.insert("turquoise", Color(0.25, 0.88, 0.82));
_named_colors.insert("transparent", Color(1.00, 1.00, 1.00, 0.00));
_named_colors.insert("violet", Color(0.93, 0.51, 0.93));
_named_colors.insert("wheat", Color(0.96, 0.87, 0.70));
_named_colors.insert("white", Color(1.00, 1.00, 1.00));
_named_colors.insert("whitesmoke", Color(0.96, 0.96, 0.96));
_named_colors.insert("yellow", Color(1.00, 1.00, 0.00));
_named_colors.insert("yellowgreen", Color(0.60, 0.80, 0.20));
_named_colors.insert("aliceblue", Color::hex(0xF0F8FFFF));
_named_colors.insert("antiquewhite", Color::hex(0xFAEBD7FF));
_named_colors.insert("aqua", Color::hex(0x00FFFFFF));
_named_colors.insert("aquamarine", Color::hex(0x7FFFD4FF));
_named_colors.insert("azure", Color::hex(0xF0FFFFFF));
_named_colors.insert("beige", Color::hex(0xF5F5DCFF));
_named_colors.insert("bisque", Color::hex(0xFFE4C4FF));
_named_colors.insert("black", Color::hex(0x000000FF));
_named_colors.insert("blanchedalmond", Color::hex(0xFFEBCDFF));
_named_colors.insert("blue", Color::hex(0x0000FFFF));
_named_colors.insert("blueviolet", Color::hex(0x8A2BE2FF));
_named_colors.insert("brown", Color::hex(0xA52A2AFF));
_named_colors.insert("burlywood", Color::hex(0xDEB887FF));
_named_colors.insert("cadetblue", Color::hex(0x5F9EA0FF));
_named_colors.insert("chartreuse", Color::hex(0x7FFF00FF));
_named_colors.insert("chocolate", Color::hex(0xD2691EFF));
_named_colors.insert("coral", Color::hex(0xFF7F50FF));
_named_colors.insert("cornflower", Color::hex(0x6495EDFF));
_named_colors.insert("cornsilk", Color::hex(0xFFF8DCFF));
_named_colors.insert("crimson", Color::hex(0xDC143CFF));
_named_colors.insert("cyan", Color::hex(0x00FFFFFF));
_named_colors.insert("darkblue", Color::hex(0x00008BFF));
_named_colors.insert("darkcyan", Color::hex(0x008B8BFF));
_named_colors.insert("darkgoldenrod", Color::hex(0xB8860BFF));
_named_colors.insert("darkgray", Color::hex(0xA9A9A9FF));
_named_colors.insert("darkgreen", Color::hex(0x006400FF));
_named_colors.insert("darkkhaki", Color::hex(0xBDB76BFF));
_named_colors.insert("darkmagenta", Color::hex(0x8B008BFF));
_named_colors.insert("darkolivegreen", Color::hex(0x556B2FFF));
_named_colors.insert("darkorange", Color::hex(0xFF8C00FF));
_named_colors.insert("darkorchid", Color::hex(0x9932CCFF));
_named_colors.insert("darkred", Color::hex(0x8B0000FF));
_named_colors.insert("darksalmon", Color::hex(0xE9967AFF));
_named_colors.insert("darkseagreen", Color::hex(0x8FBC8FFF));
_named_colors.insert("darkslateblue", Color::hex(0x483D8BFF));
_named_colors.insert("darkslategray", Color::hex(0x2F4F4FFF));
_named_colors.insert("darkturquoise", Color::hex(0x00CED1FF));
_named_colors.insert("darkviolet", Color::hex(0x9400D3FF));
_named_colors.insert("deeppink", Color::hex(0xFF1493FF));
_named_colors.insert("deepskyblue", Color::hex(0x00BFFFFF));
_named_colors.insert("dimgray", Color::hex(0x696969FF));
_named_colors.insert("dodgerblue", Color::hex(0x1E90FFFF));
_named_colors.insert("firebrick", Color::hex(0xB22222FF));
_named_colors.insert("floralwhite", Color::hex(0xFFFAF0FF));
_named_colors.insert("forestgreen", Color::hex(0x228B22FF));
_named_colors.insert("fuchsia", Color::hex(0xFF00FFFF));
_named_colors.insert("gainsboro", Color::hex(0xDCDCDCFF));
_named_colors.insert("ghostwhite", Color::hex(0xF8F8FFFF));
_named_colors.insert("gold", Color::hex(0xFFD700FF));
_named_colors.insert("goldenrod", Color::hex(0xDAA520FF));
_named_colors.insert("gray", Color::hex(0xBEBEBEFF));
_named_colors.insert("green", Color::hex(0x00FF00FF));
_named_colors.insert("greenyellow", Color::hex(0xADFF2FFF));
_named_colors.insert("honeydew", Color::hex(0xF0FFF0FF));
_named_colors.insert("hotpink", Color::hex(0xFF69B4FF));
_named_colors.insert("indianred", Color::hex(0xCD5C5CFF));
_named_colors.insert("indigo", Color::hex(0x4B0082FF));
_named_colors.insert("ivory", Color::hex(0xFFFFF0FF));
_named_colors.insert("khaki", Color::hex(0xF0E68CFF));
_named_colors.insert("lavender", Color::hex(0xE6E6FAFF));
_named_colors.insert("lavenderblush", Color::hex(0xFFF0F5FF));
_named_colors.insert("lawngreen", Color::hex(0x7CFC00FF));
_named_colors.insert("lemonchiffon", Color::hex(0xFFFACDFF));
_named_colors.insert("lightblue", Color::hex(0xADD8E6FF));
_named_colors.insert("lightcoral", Color::hex(0xF08080FF));
_named_colors.insert("lightcyan", Color::hex(0xE0FFFFFF));
_named_colors.insert("lightgoldenrod", Color::hex(0xFAFAD2FF));
_named_colors.insert("lightgray", Color::hex(0xD3D3D3FF));
_named_colors.insert("lightgreen", Color::hex(0x90EE90FF));
_named_colors.insert("lightpink", Color::hex(0xFFB6C1FF));
_named_colors.insert("lightsalmon", Color::hex(0xFFA07AFF));
_named_colors.insert("lightseagreen", Color::hex(0x20B2AAFF));
_named_colors.insert("lightskyblue", Color::hex(0x87CEFAFF));
_named_colors.insert("lightslategray", Color::hex(0x778899FF));
_named_colors.insert("lightsteelblue", Color::hex(0xB0C4DEFF));
_named_colors.insert("lightyellow", Color::hex(0xFFFFE0FF));
_named_colors.insert("lime", Color::hex(0x00FF00FF));
_named_colors.insert("limegreen", Color::hex(0x32CD32FF));
_named_colors.insert("linen", Color::hex(0xFAF0E6FF));
_named_colors.insert("magenta", Color::hex(0xFF00FFFF));
_named_colors.insert("maroon", Color::hex(0xB03060FF));
_named_colors.insert("mediumaquamarine", Color::hex(0x66CDAAFF));
_named_colors.insert("mediumblue", Color::hex(0x0000CDFF));
_named_colors.insert("mediumorchid", Color::hex(0xBA55D3FF));
_named_colors.insert("mediumpurple", Color::hex(0x9370DBFF));
_named_colors.insert("mediumseagreen", Color::hex(0x3CB371FF));
_named_colors.insert("mediumslateblue", Color::hex(0x7B68EEFF));
_named_colors.insert("mediumspringgreen", Color::hex(0x00FA9AFF));
_named_colors.insert("mediumturquoise", Color::hex(0x48D1CCFF));
_named_colors.insert("mediumvioletred", Color::hex(0xC71585FF));
_named_colors.insert("midnightblue", Color::hex(0x191970FF));
_named_colors.insert("mintcream", Color::hex(0xF5FFFAFF));
_named_colors.insert("mistyrose", Color::hex(0xFFE4E1FF));
_named_colors.insert("moccasin", Color::hex(0xFFE4B5FF));
_named_colors.insert("navajowhite", Color::hex(0xFFDEADFF));
_named_colors.insert("navyblue", Color::hex(0x000080FF));
_named_colors.insert("oldlace", Color::hex(0xFDF5E6FF));
_named_colors.insert("olive", Color::hex(0x808000FF));
_named_colors.insert("olivedrab", Color::hex(0x6B8E23FF));
_named_colors.insert("orange", Color::hex(0xFFA500FF));
_named_colors.insert("orangered", Color::hex(0xFF4500FF));
_named_colors.insert("orchid", Color::hex(0xDA70D6FF));
_named_colors.insert("palegoldenrod", Color::hex(0xEEE8AAFF));
_named_colors.insert("palegreen", Color::hex(0x98FB98FF));
_named_colors.insert("paleturquoise", Color::hex(0xAFEEEEFF));
_named_colors.insert("palevioletred", Color::hex(0xDB7093FF));
_named_colors.insert("papayawhip", Color::hex(0xFFEFD5FF));
_named_colors.insert("peachpuff", Color::hex(0xFFDAB9FF));
_named_colors.insert("peru", Color::hex(0xCD853FFF));
_named_colors.insert("pink", Color::hex(0xFFC0CBFF));
_named_colors.insert("plum", Color::hex(0xDDA0DDFF));
_named_colors.insert("powderblue", Color::hex(0xB0E0E6FF));
_named_colors.insert("purple", Color::hex(0xA020F0FF));
_named_colors.insert("rebeccapurple", Color::hex(0x663399FF));
_named_colors.insert("red", Color::hex(0xFF0000FF));
_named_colors.insert("rosybrown", Color::hex(0xBC8F8FFF));
_named_colors.insert("royalblue", Color::hex(0x4169E1FF));
_named_colors.insert("saddlebrown", Color::hex(0x8B4513FF));
_named_colors.insert("salmon", Color::hex(0xFA8072FF));
_named_colors.insert("sandybrown", Color::hex(0xF4A460FF));
_named_colors.insert("seagreen", Color::hex(0x2E8B57FF));
_named_colors.insert("seashell", Color::hex(0xFFF5EEFF));
_named_colors.insert("sienna", Color::hex(0xA0522DFF));
_named_colors.insert("silver", Color::hex(0xC0C0C0FF));
_named_colors.insert("skyblue", Color::hex(0x87CEEBFF));
_named_colors.insert("slateblue", Color::hex(0x6A5ACDFF));
_named_colors.insert("slategray", Color::hex(0x708090FF));
_named_colors.insert("snow", Color::hex(0xFFFAFAFF));
_named_colors.insert("springgreen", Color::hex(0x00FF7FFF));
_named_colors.insert("steelblue", Color::hex(0x4682B4FF));
_named_colors.insert("tan", Color::hex(0xD2B48CFF));
_named_colors.insert("teal", Color::hex(0x008080FF));
_named_colors.insert("thistle", Color::hex(0xD8BFD8FF));
_named_colors.insert("tomato", Color::hex(0xFF6347FF));
_named_colors.insert("transparent", Color::hex(0xFFFFFF00));
_named_colors.insert("turquoise", Color::hex(0x40E0D0FF));
_named_colors.insert("violet", Color::hex(0xEE82EEFF));
_named_colors.insert("webgray", Color::hex(0x808080FF));
_named_colors.insert("webgreen", Color::hex(0x008000FF));
_named_colors.insert("webmaroon", Color::hex(0x800000FF));
_named_colors.insert("webpurple", Color::hex(0x800080FF));
_named_colors.insert("wheat", Color::hex(0xF5DEB3FF));
_named_colors.insert("white", Color::hex(0xFFFFFFFF));
_named_colors.insert("whitesmoke", Color::hex(0xF5F5F5FF));
_named_colors.insert("yellow", Color::hex(0xFFFF00FF));
_named_colors.insert("yellowgreen", Color::hex(0x9ACD32FF));
}

View file

@ -28,6 +28,7 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include "platform_config.h"
#ifndef PLATFORM_THREAD_OVERRIDE // See details in thread.h
#include "thread.h"

View file

@ -28,6 +28,7 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include "platform_config.h"
// Define PLATFORM_THREAD_OVERRIDE in your platform's `platform_config.h`
// to use a custom Thread implementation defined in `platform/[your_platform]/platform_thread.h`
// Overriding the platform implementation is required in some proprietary platforms

View file

@ -280,343 +280,343 @@
</member>
</members>
<constants>
<constant name="aliceblue" value="Color( 0.94, 0.97, 1, 1 )">
<constant name="aliceblue" value="Color( 0.941176, 0.972549, 1, 1 )">
Alice blue color.
</constant>
<constant name="antiquewhite" value="Color( 0.98, 0.92, 0.84, 1 )">
<constant name="antiquewhite" value="Color( 0.980392, 0.921569, 0.843137, 1 )">
Antique white color.
</constant>
<constant name="aqua" value="Color( 0, 1, 1, 1 )">
Aqua color.
</constant>
<constant name="aquamarine" value="Color( 0.5, 1, 0.83, 1 )">
<constant name="aquamarine" value="Color( 0.498039, 1, 0.831373, 1 )">
Aquamarine color.
</constant>
<constant name="azure" value="Color( 0.94, 1, 1, 1 )">
<constant name="azure" value="Color( 0.941176, 1, 1, 1 )">
Azure color.
</constant>
<constant name="beige" value="Color( 0.96, 0.96, 0.86, 1 )">
<constant name="beige" value="Color( 0.960784, 0.960784, 0.862745, 1 )">
Beige color.
</constant>
<constant name="bisque" value="Color( 1, 0.89, 0.77, 1 )">
<constant name="bisque" value="Color( 1, 0.894118, 0.768627, 1 )">
Bisque color.
</constant>
<constant name="black" value="Color( 0, 0, 0, 1 )">
Black color.
</constant>
<constant name="blanchedalmond" value="Color( 1, 0.92, 0.8, 1 )">
<constant name="blanchedalmond" value="Color( 1, 0.921569, 0.803922, 1 )">
Blanche almond color.
</constant>
<constant name="blue" value="Color( 0, 0, 1, 1 )">
Blue color.
</constant>
<constant name="blueviolet" value="Color( 0.54, 0.17, 0.89, 1 )">
<constant name="blueviolet" value="Color( 0.541176, 0.168627, 0.886275, 1 )">
Blue violet color.
</constant>
<constant name="brown" value="Color( 0.65, 0.16, 0.16, 1 )">
<constant name="brown" value="Color( 0.647059, 0.164706, 0.164706, 1 )">
Brown color.
</constant>
<constant name="burlywood" value="Color( 0.87, 0.72, 0.53, 1 )">
<constant name="burlywood" value="Color( 0.870588, 0.721569, 0.529412, 1 )">
Burly wood color.
</constant>
<constant name="cadetblue" value="Color( 0.37, 0.62, 0.63, 1 )">
<constant name="cadetblue" value="Color( 0.372549, 0.619608, 0.627451, 1 )">
Cadet blue color.
</constant>
<constant name="chartreuse" value="Color( 0.5, 1, 0, 1 )">
<constant name="chartreuse" value="Color( 0.498039, 1, 0, 1 )">
Chartreuse color.
</constant>
<constant name="chocolate" value="Color( 0.82, 0.41, 0.12, 1 )">
<constant name="chocolate" value="Color( 0.823529, 0.411765, 0.117647, 1 )">
Chocolate color.
</constant>
<constant name="coral" value="Color( 1, 0.5, 0.31, 1 )">
<constant name="coral" value="Color( 1, 0.498039, 0.313726, 1 )">
Coral color.
</constant>
<constant name="cornflower" value="Color( 0.39, 0.58, 0.93, 1 )">
<constant name="cornflower" value="Color( 0.392157, 0.584314, 0.929412, 1 )">
Cornflower color.
</constant>
<constant name="cornsilk" value="Color( 1, 0.97, 0.86, 1 )">
<constant name="cornsilk" value="Color( 1, 0.972549, 0.862745, 1 )">
Corn silk color.
</constant>
<constant name="crimson" value="Color( 0.86, 0.08, 0.24, 1 )">
<constant name="crimson" value="Color( 0.862745, 0.0784314, 0.235294, 1 )">
Crimson color.
</constant>
<constant name="cyan" value="Color( 0, 1, 1, 1 )">
Cyan color.
</constant>
<constant name="darkblue" value="Color( 0, 0, 0.55, 1 )">
<constant name="darkblue" value="Color( 0, 0, 0.545098, 1 )">
Dark blue color.
</constant>
<constant name="darkcyan" value="Color( 0, 0.55, 0.55, 1 )">
<constant name="darkcyan" value="Color( 0, 0.545098, 0.545098, 1 )">
Dark cyan color.
</constant>
<constant name="darkgoldenrod" value="Color( 0.72, 0.53, 0.04, 1 )">
<constant name="darkgoldenrod" value="Color( 0.721569, 0.52549, 0.0431373, 1 )">
Dark goldenrod color.
</constant>
<constant name="darkgray" value="Color( 0.66, 0.66, 0.66, 1 )">
<constant name="darkgray" value="Color( 0.662745, 0.662745, 0.662745, 1 )">
Dark gray color.
</constant>
<constant name="darkgreen" value="Color( 0, 0.39, 0, 1 )">
<constant name="darkgreen" value="Color( 0, 0.392157, 0, 1 )">
Dark green color.
</constant>
<constant name="darkkhaki" value="Color( 0.74, 0.72, 0.42, 1 )">
<constant name="darkkhaki" value="Color( 0.741176, 0.717647, 0.419608, 1 )">
Dark khaki color.
</constant>
<constant name="darkmagenta" value="Color( 0.55, 0, 0.55, 1 )">
<constant name="darkmagenta" value="Color( 0.545098, 0, 0.545098, 1 )">
Dark magenta color.
</constant>
<constant name="darkolivegreen" value="Color( 0.33, 0.42, 0.18, 1 )">
<constant name="darkolivegreen" value="Color( 0.333333, 0.419608, 0.184314, 1 )">
Dark olive green color.
</constant>
<constant name="darkorange" value="Color( 1, 0.55, 0, 1 )">
<constant name="darkorange" value="Color( 1, 0.54902, 0, 1 )">
Dark orange color.
</constant>
<constant name="darkorchid" value="Color( 0.6, 0.2, 0.8, 1 )">
<constant name="darkorchid" value="Color( 0.6, 0.196078, 0.8, 1 )">
Dark orchid color.
</constant>
<constant name="darkred" value="Color( 0.55, 0, 0, 1 )">
<constant name="darkred" value="Color( 0.545098, 0, 0, 1 )">
Dark red color.
</constant>
<constant name="darksalmon" value="Color( 0.91, 0.59, 0.48, 1 )">
<constant name="darksalmon" value="Color( 0.913725, 0.588235, 0.478431, 1 )">
Dark salmon color.
</constant>
<constant name="darkseagreen" value="Color( 0.56, 0.74, 0.56, 1 )">
<constant name="darkseagreen" value="Color( 0.560784, 0.737255, 0.560784, 1 )">
Dark sea green color.
</constant>
<constant name="darkslateblue" value="Color( 0.28, 0.24, 0.55, 1 )">
<constant name="darkslateblue" value="Color( 0.282353, 0.239216, 0.545098, 1 )">
Dark slate blue color.
</constant>
<constant name="darkslategray" value="Color( 0.18, 0.31, 0.31, 1 )">
<constant name="darkslategray" value="Color( 0.184314, 0.309804, 0.309804, 1 )">
Dark slate gray color.
</constant>
<constant name="darkturquoise" value="Color( 0, 0.81, 0.82, 1 )">
<constant name="darkturquoise" value="Color( 0, 0.807843, 0.819608, 1 )">
Dark turquoise color.
</constant>
<constant name="darkviolet" value="Color( 0.58, 0, 0.83, 1 )">
<constant name="darkviolet" value="Color( 0.580392, 0, 0.827451, 1 )">
Dark violet color.
</constant>
<constant name="deeppink" value="Color( 1, 0.08, 0.58, 1 )">
<constant name="deeppink" value="Color( 1, 0.0784314, 0.576471, 1 )">
Deep pink color.
</constant>
<constant name="deepskyblue" value="Color( 0, 0.75, 1, 1 )">
<constant name="deepskyblue" value="Color( 0, 0.74902, 1, 1 )">
Deep sky blue color.
</constant>
<constant name="dimgray" value="Color( 0.41, 0.41, 0.41, 1 )">
<constant name="dimgray" value="Color( 0.411765, 0.411765, 0.411765, 1 )">
Dim gray color.
</constant>
<constant name="dodgerblue" value="Color( 0.12, 0.56, 1, 1 )">
<constant name="dodgerblue" value="Color( 0.117647, 0.564706, 1, 1 )">
Dodger blue color.
</constant>
<constant name="firebrick" value="Color( 0.7, 0.13, 0.13, 1 )">
<constant name="firebrick" value="Color( 0.698039, 0.133333, 0.133333, 1 )">
Firebrick color.
</constant>
<constant name="floralwhite" value="Color( 1, 0.98, 0.94, 1 )">
<constant name="floralwhite" value="Color( 1, 0.980392, 0.941176, 1 )">
Floral white color.
</constant>
<constant name="forestgreen" value="Color( 0.13, 0.55, 0.13, 1 )">
<constant name="forestgreen" value="Color( 0.133333, 0.545098, 0.133333, 1 )">
Forest green color.
</constant>
<constant name="fuchsia" value="Color( 1, 0, 1, 1 )">
Fuchsia color.
</constant>
<constant name="gainsboro" value="Color( 0.86, 0.86, 0.86, 1 )">
<constant name="gainsboro" value="Color( 0.862745, 0.862745, 0.862745, 1 )">
Gainsboro color.
</constant>
<constant name="ghostwhite" value="Color( 0.97, 0.97, 1, 1 )">
<constant name="ghostwhite" value="Color( 0.972549, 0.972549, 1, 1 )">
Ghost white color.
</constant>
<constant name="gold" value="Color( 1, 0.84, 0, 1 )">
<constant name="gold" value="Color( 1, 0.843137, 0, 1 )">
Gold color.
</constant>
<constant name="goldenrod" value="Color( 0.85, 0.65, 0.13, 1 )">
<constant name="goldenrod" value="Color( 0.854902, 0.647059, 0.12549, 1 )">
Goldenrod color.
</constant>
<constant name="gray" value="Color( 0.75, 0.75, 0.75, 1 )">
<constant name="gray" value="Color( 0.745098, 0.745098, 0.745098, 1 )">
Gray color.
</constant>
<constant name="green" value="Color( 0, 1, 0, 1 )">
Green color.
</constant>
<constant name="greenyellow" value="Color( 0.68, 1, 0.18, 1 )">
<constant name="greenyellow" value="Color( 0.678431, 1, 0.184314, 1 )">
Green yellow color.
</constant>
<constant name="honeydew" value="Color( 0.94, 1, 0.94, 1 )">
<constant name="honeydew" value="Color( 0.941176, 1, 0.941176, 1 )">
Honeydew color.
</constant>
<constant name="hotpink" value="Color( 1, 0.41, 0.71, 1 )">
<constant name="hotpink" value="Color( 1, 0.411765, 0.705882, 1 )">
Hot pink color.
</constant>
<constant name="indianred" value="Color( 0.8, 0.36, 0.36, 1 )">
<constant name="indianred" value="Color( 0.803922, 0.360784, 0.360784, 1 )">
Indian red color.
</constant>
<constant name="indigo" value="Color( 0.29, 0, 0.51, 1 )">
<constant name="indigo" value="Color( 0.294118, 0, 0.509804, 1 )">
Indigo color.
</constant>
<constant name="ivory" value="Color( 1, 1, 0.94, 1 )">
<constant name="ivory" value="Color( 1, 1, 0.941176, 1 )">
Ivory color.
</constant>
<constant name="khaki" value="Color( 0.94, 0.9, 0.55, 1 )">
<constant name="khaki" value="Color( 0.941176, 0.901961, 0.54902, 1 )">
Khaki color.
</constant>
<constant name="lavender" value="Color( 0.9, 0.9, 0.98, 1 )">
<constant name="lavender" value="Color( 0.901961, 0.901961, 0.980392, 1 )">
Lavender color.
</constant>
<constant name="lavenderblush" value="Color( 1, 0.94, 0.96, 1 )">
<constant name="lavenderblush" value="Color( 1, 0.941176, 0.960784, 1 )">
Lavender blush color.
</constant>
<constant name="lawngreen" value="Color( 0.49, 0.99, 0, 1 )">
<constant name="lawngreen" value="Color( 0.486275, 0.988235, 0, 1 )">
Lawn green color.
</constant>
<constant name="lemonchiffon" value="Color( 1, 0.98, 0.8, 1 )">
<constant name="lemonchiffon" value="Color( 1, 0.980392, 0.803922, 1 )">
Lemon chiffon color.
</constant>
<constant name="lightblue" value="Color( 0.68, 0.85, 0.9, 1 )">
<constant name="lightblue" value="Color( 0.678431, 0.847059, 0.901961, 1 )">
Light blue color.
</constant>
<constant name="lightcoral" value="Color( 0.94, 0.5, 0.5, 1 )">
<constant name="lightcoral" value="Color( 0.941176, 0.501961, 0.501961, 1 )">
Light coral color.
</constant>
<constant name="lightcyan" value="Color( 0.88, 1, 1, 1 )">
<constant name="lightcyan" value="Color( 0.878431, 1, 1, 1 )">
Light cyan color.
</constant>
<constant name="lightgoldenrod" value="Color( 0.98, 0.98, 0.82, 1 )">
<constant name="lightgoldenrod" value="Color( 0.980392, 0.980392, 0.823529, 1 )">
Light goldenrod color.
</constant>
<constant name="lightgray" value="Color( 0.83, 0.83, 0.83, 1 )">
<constant name="lightgray" value="Color( 0.827451, 0.827451, 0.827451, 1 )">
Light gray color.
</constant>
<constant name="lightgreen" value="Color( 0.56, 0.93, 0.56, 1 )">
<constant name="lightgreen" value="Color( 0.564706, 0.933333, 0.564706, 1 )">
Light green color.
</constant>
<constant name="lightpink" value="Color( 1, 0.71, 0.76, 1 )">
<constant name="lightpink" value="Color( 1, 0.713726, 0.756863, 1 )">
Light pink color.
</constant>
<constant name="lightsalmon" value="Color( 1, 0.63, 0.48, 1 )">
<constant name="lightsalmon" value="Color( 1, 0.627451, 0.478431, 1 )">
Light salmon color.
</constant>
<constant name="lightseagreen" value="Color( 0.13, 0.7, 0.67, 1 )">
<constant name="lightseagreen" value="Color( 0.12549, 0.698039, 0.666667, 1 )">
Light sea green color.
</constant>
<constant name="lightskyblue" value="Color( 0.53, 0.81, 0.98, 1 )">
<constant name="lightskyblue" value="Color( 0.529412, 0.807843, 0.980392, 1 )">
Light sky blue color.
</constant>
<constant name="lightslategray" value="Color( 0.47, 0.53, 0.6, 1 )">
<constant name="lightslategray" value="Color( 0.466667, 0.533333, 0.6, 1 )">
Light slate gray color.
</constant>
<constant name="lightsteelblue" value="Color( 0.69, 0.77, 0.87, 1 )">
<constant name="lightsteelblue" value="Color( 0.690196, 0.768627, 0.870588, 1 )">
Light steel blue color.
</constant>
<constant name="lightyellow" value="Color( 1, 1, 0.88, 1 )">
<constant name="lightyellow" value="Color( 1, 1, 0.878431, 1 )">
Light yellow color.
</constant>
<constant name="lime" value="Color( 0, 1, 0, 1 )">
Lime color.
</constant>
<constant name="limegreen" value="Color( 0.2, 0.8, 0.2, 1 )">
<constant name="limegreen" value="Color( 0.196078, 0.803922, 0.196078, 1 )">
Lime green color.
</constant>
<constant name="linen" value="Color( 0.98, 0.94, 0.9, 1 )">
<constant name="linen" value="Color( 0.980392, 0.941176, 0.901961, 1 )">
Linen color.
</constant>
<constant name="magenta" value="Color( 1, 0, 1, 1 )">
Magenta color.
</constant>
<constant name="maroon" value="Color( 0.69, 0.19, 0.38, 1 )">
<constant name="maroon" value="Color( 0.690196, 0.188235, 0.376471, 1 )">
Maroon color.
</constant>
<constant name="mediumaquamarine" value="Color( 0.4, 0.8, 0.67, 1 )">
<constant name="mediumaquamarine" value="Color( 0.4, 0.803922, 0.666667, 1 )">
Medium aquamarine color.
</constant>
<constant name="mediumblue" value="Color( 0, 0, 0.8, 1 )">
<constant name="mediumblue" value="Color( 0, 0, 0.803922, 1 )">
Medium blue color.
</constant>
<constant name="mediumorchid" value="Color( 0.73, 0.33, 0.83, 1 )">
<constant name="mediumorchid" value="Color( 0.729412, 0.333333, 0.827451, 1 )">
Medium orchid color.
</constant>
<constant name="mediumpurple" value="Color( 0.58, 0.44, 0.86, 1 )">
<constant name="mediumpurple" value="Color( 0.576471, 0.439216, 0.858824, 1 )">
Medium purple color.
</constant>
<constant name="mediumseagreen" value="Color( 0.24, 0.7, 0.44, 1 )">
<constant name="mediumseagreen" value="Color( 0.235294, 0.701961, 0.443137, 1 )">
Medium sea green color.
</constant>
<constant name="mediumslateblue" value="Color( 0.48, 0.41, 0.93, 1 )">
<constant name="mediumslateblue" value="Color( 0.482353, 0.407843, 0.933333, 1 )">
Medium slate blue color.
</constant>
<constant name="mediumspringgreen" value="Color( 0, 0.98, 0.6, 1 )">
<constant name="mediumspringgreen" value="Color( 0, 0.980392, 0.603922, 1 )">
Medium spring green color.
</constant>
<constant name="mediumturquoise" value="Color( 0.28, 0.82, 0.8, 1 )">
<constant name="mediumturquoise" value="Color( 0.282353, 0.819608, 0.8, 1 )">
Medium turquoise color.
</constant>
<constant name="mediumvioletred" value="Color( 0.78, 0.08, 0.52, 1 )">
<constant name="mediumvioletred" value="Color( 0.780392, 0.0823529, 0.521569, 1 )">
Medium violet red color.
</constant>
<constant name="midnightblue" value="Color( 0.1, 0.1, 0.44, 1 )">
<constant name="midnightblue" value="Color( 0.0980392, 0.0980392, 0.439216, 1 )">
Midnight blue color.
</constant>
<constant name="mintcream" value="Color( 0.96, 1, 0.98, 1 )">
<constant name="mintcream" value="Color( 0.960784, 1, 0.980392, 1 )">
Mint cream color.
</constant>
<constant name="mistyrose" value="Color( 1, 0.89, 0.88, 1 )">
<constant name="mistyrose" value="Color( 1, 0.894118, 0.882353, 1 )">
Misty rose color.
</constant>
<constant name="moccasin" value="Color( 1, 0.89, 0.71, 1 )">
<constant name="moccasin" value="Color( 1, 0.894118, 0.709804, 1 )">
Moccasin color.
</constant>
<constant name="navajowhite" value="Color( 1, 0.87, 0.68, 1 )">
<constant name="navajowhite" value="Color( 1, 0.870588, 0.678431, 1 )">
Navajo white color.
</constant>
<constant name="navyblue" value="Color( 0, 0, 0.5, 1 )">
<constant name="navyblue" value="Color( 0, 0, 0.501961, 1 )">
Navy blue color.
</constant>
<constant name="oldlace" value="Color( 0.99, 0.96, 0.9, 1 )">
<constant name="oldlace" value="Color( 0.992157, 0.960784, 0.901961, 1 )">
Old lace color.
</constant>
<constant name="olive" value="Color( 0.5, 0.5, 0, 1 )">
<constant name="olive" value="Color( 0.501961, 0.501961, 0, 1 )">
Olive color.
</constant>
<constant name="olivedrab" value="Color( 0.42, 0.56, 0.14, 1 )">
<constant name="olivedrab" value="Color( 0.419608, 0.556863, 0.137255, 1 )">
Olive drab color.
</constant>
<constant name="orange" value="Color( 1, 0.65, 0, 1 )">
<constant name="orange" value="Color( 1, 0.647059, 0, 1 )">
Orange color.
</constant>
<constant name="orangered" value="Color( 1, 0.27, 0, 1 )">
<constant name="orangered" value="Color( 1, 0.270588, 0, 1 )">
Orange red color.
</constant>
<constant name="orchid" value="Color( 0.85, 0.44, 0.84, 1 )">
<constant name="orchid" value="Color( 0.854902, 0.439216, 0.839216, 1 )">
Orchid color.
</constant>
<constant name="palegoldenrod" value="Color( 0.93, 0.91, 0.67, 1 )">
<constant name="palegoldenrod" value="Color( 0.933333, 0.909804, 0.666667, 1 )">
Pale goldenrod color.
</constant>
<constant name="palegreen" value="Color( 0.6, 0.98, 0.6, 1 )">
<constant name="palegreen" value="Color( 0.596078, 0.984314, 0.596078, 1 )">
Pale green color.
</constant>
<constant name="paleturquoise" value="Color( 0.69, 0.93, 0.93, 1 )">
<constant name="paleturquoise" value="Color( 0.686275, 0.933333, 0.933333, 1 )">
Pale turquoise color.
</constant>
<constant name="palevioletred" value="Color( 0.86, 0.44, 0.58, 1 )">
<constant name="palevioletred" value="Color( 0.858824, 0.439216, 0.576471, 1 )">
Pale violet red color.
</constant>
<constant name="papayawhip" value="Color( 1, 0.94, 0.84, 1 )">
<constant name="papayawhip" value="Color( 1, 0.937255, 0.835294, 1 )">
Papaya whip color.
</constant>
<constant name="peachpuff" value="Color( 1, 0.85, 0.73, 1 )">
<constant name="peachpuff" value="Color( 1, 0.854902, 0.72549, 1 )">
Peach puff color.
</constant>
<constant name="peru" value="Color( 0.8, 0.52, 0.25, 1 )">
<constant name="peru" value="Color( 0.803922, 0.521569, 0.247059, 1 )">
Peru color.
</constant>
<constant name="pink" value="Color( 1, 0.75, 0.8, 1 )">
<constant name="pink" value="Color( 1, 0.752941, 0.796078, 1 )">
Pink color.
</constant>
<constant name="plum" value="Color( 0.87, 0.63, 0.87, 1 )">
<constant name="plum" value="Color( 0.866667, 0.627451, 0.866667, 1 )">
Plum color.
</constant>
<constant name="powderblue" value="Color( 0.69, 0.88, 0.9, 1 )">
<constant name="powderblue" value="Color( 0.690196, 0.878431, 0.901961, 1 )">
Powder blue color.
</constant>
<constant name="purple" value="Color( 0.63, 0.13, 0.94, 1 )">
<constant name="purple" value="Color( 0.627451, 0.12549, 0.941176, 1 )">
Purple color.
</constant>
<constant name="rebeccapurple" value="Color( 0.4, 0.2, 0.6, 1 )">
@ -625,97 +625,97 @@
<constant name="red" value="Color( 1, 0, 0, 1 )">
Red color.
</constant>
<constant name="rosybrown" value="Color( 0.74, 0.56, 0.56, 1 )">
<constant name="rosybrown" value="Color( 0.737255, 0.560784, 0.560784, 1 )">
Rosy brown color.
</constant>
<constant name="royalblue" value="Color( 0.25, 0.41, 0.88, 1 )">
<constant name="royalblue" value="Color( 0.254902, 0.411765, 0.882353, 1 )">
Royal blue color.
</constant>
<constant name="saddlebrown" value="Color( 0.55, 0.27, 0.07, 1 )">
<constant name="saddlebrown" value="Color( 0.545098, 0.270588, 0.0745098, 1 )">
Saddle brown color.
</constant>
<constant name="salmon" value="Color( 0.98, 0.5, 0.45, 1 )">
<constant name="salmon" value="Color( 0.980392, 0.501961, 0.447059, 1 )">
Salmon color.
</constant>
<constant name="sandybrown" value="Color( 0.96, 0.64, 0.38, 1 )">
<constant name="sandybrown" value="Color( 0.956863, 0.643137, 0.376471, 1 )">
Sandy brown color.
</constant>
<constant name="seagreen" value="Color( 0.18, 0.55, 0.34, 1 )">
<constant name="seagreen" value="Color( 0.180392, 0.545098, 0.341176, 1 )">
Sea green color.
</constant>
<constant name="seashell" value="Color( 1, 0.96, 0.93, 1 )">
<constant name="seashell" value="Color( 1, 0.960784, 0.933333, 1 )">
Seashell color.
</constant>
<constant name="sienna" value="Color( 0.63, 0.32, 0.18, 1 )">
<constant name="sienna" value="Color( 0.627451, 0.321569, 0.176471, 1 )">
Sienna color.
</constant>
<constant name="silver" value="Color( 0.75, 0.75, 0.75, 1 )">
<constant name="silver" value="Color( 0.752941, 0.752941, 0.752941, 1 )">
Silver color.
</constant>
<constant name="skyblue" value="Color( 0.53, 0.81, 0.92, 1 )">
<constant name="skyblue" value="Color( 0.529412, 0.807843, 0.921569, 1 )">
Sky blue color.
</constant>
<constant name="slateblue" value="Color( 0.42, 0.35, 0.8, 1 )">
<constant name="slateblue" value="Color( 0.415686, 0.352941, 0.803922, 1 )">
Slate blue color.
</constant>
<constant name="slategray" value="Color( 0.44, 0.5, 0.56, 1 )">
<constant name="slategray" value="Color( 0.439216, 0.501961, 0.564706, 1 )">
Slate gray color.
</constant>
<constant name="snow" value="Color( 1, 0.98, 0.98, 1 )">
<constant name="snow" value="Color( 1, 0.980392, 0.980392, 1 )">
Snow color.
</constant>
<constant name="springgreen" value="Color( 0, 1, 0.5, 1 )">
<constant name="springgreen" value="Color( 0, 1, 0.498039, 1 )">
Spring green color.
</constant>
<constant name="steelblue" value="Color( 0.27, 0.51, 0.71, 1 )">
<constant name="steelblue" value="Color( 0.27451, 0.509804, 0.705882, 1 )">
Steel blue color.
</constant>
<constant name="tan" value="Color( 0.82, 0.71, 0.55, 1 )">
<constant name="tan" value="Color( 0.823529, 0.705882, 0.54902, 1 )">
Tan color.
</constant>
<constant name="teal" value="Color( 0, 0.5, 0.5, 1 )">
<constant name="teal" value="Color( 0, 0.501961, 0.501961, 1 )">
Teal color.
</constant>
<constant name="thistle" value="Color( 0.85, 0.75, 0.85, 1 )">
<constant name="thistle" value="Color( 0.847059, 0.74902, 0.847059, 1 )">
Thistle color.
</constant>
<constant name="tomato" value="Color( 1, 0.39, 0.28, 1 )">
<constant name="tomato" value="Color( 1, 0.388235, 0.278431, 1 )">
Tomato color.
</constant>
<constant name="transparent" value="Color( 1, 1, 1, 0 )">
Transparent color (white with no alpha).
</constant>
<constant name="turquoise" value="Color( 0.25, 0.88, 0.82, 1 )">
<constant name="turquoise" value="Color( 0.25098, 0.878431, 0.815686, 1 )">
Turquoise color.
</constant>
<constant name="violet" value="Color( 0.93, 0.51, 0.93, 1 )">
<constant name="violet" value="Color( 0.933333, 0.509804, 0.933333, 1 )">
Violet color.
</constant>
<constant name="webgray" value="Color( 0.5, 0.5, 0.5, 1 )">
<constant name="webgray" value="Color( 0.501961, 0.501961, 0.501961, 1 )">
Web gray color.
</constant>
<constant name="webgreen" value="Color( 0, 0.5, 0, 1 )">
<constant name="webgreen" value="Color( 0, 0.501961, 0, 1 )">
Web green color.
</constant>
<constant name="webmaroon" value="Color( 0.5, 0, 0, 1 )">
<constant name="webmaroon" value="Color( 0.501961, 0, 0, 1 )">
Web maroon color.
</constant>
<constant name="webpurple" value="Color( 0.5, 0, 0.5, 1 )">
<constant name="webpurple" value="Color( 0.501961, 0, 0.501961, 1 )">
Web purple color.
</constant>
<constant name="wheat" value="Color( 0.96, 0.87, 0.7, 1 )">
<constant name="wheat" value="Color( 0.960784, 0.870588, 0.701961, 1 )">
Wheat color.
</constant>
<constant name="white" value="Color( 1, 1, 1, 1 )">
White color.
</constant>
<constant name="whitesmoke" value="Color( 0.96, 0.96, 0.96, 1 )">
<constant name="whitesmoke" value="Color( 0.960784, 0.960784, 0.960784, 1 )">
White smoke color.
</constant>
<constant name="yellow" value="Color( 1, 1, 0, 1 )">
Yellow color.
</constant>
<constant name="yellowgreen" value="Color( 0.6, 0.8, 0.2, 1 )">
<constant name="yellowgreen" value="Color( 0.603922, 0.803922, 0.196078, 1 )">
Yellow green color.
</constant>
</constants>

View file

@ -80,6 +80,13 @@
Returns the text of the item at index [code]idx[/code].
</description>
</method>
<method name="get_item_tooltip" qualifiers="const">
<return type="String" />
<argument index="0" name="idx" type="int" />
<description>
Returns the tooltip of the item at index [code]idx[/code].
</description>
</method>
<method name="get_popup" qualifiers="const">
<return type="PopupMenu" />
<description>
@ -161,6 +168,14 @@
Sets the text of the item at index [code]idx[/code].
</description>
</method>
<method name="set_item_tooltip">
<return type="void" />
<argument index="0" name="idx" type="int" />
<argument index="1" name="tooltip" type="String" />
<description>
Sets the tooltip of the item at index [code]idx[/code].
</description>
</method>
</methods>
<members>
<member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" overrides="BaseButton" enum="BaseButton.ActionMode" default="0" />

View file

@ -13,13 +13,13 @@
<return type="void" />
<argument index="0" name="with" type="Node" />
<description>
Binds two ranges together along with any ranges previously grouped with either of them. When any of range's member variables change, it will share the new value with all other ranges in its group.
Binds two [Range]s together along with any ranges previously grouped with either of them. When any of range's member variables change, it will share the new value with all other ranges in its group.
</description>
</method>
<method name="unshare">
<return type="void" />
<description>
Stops range from sharing its member variables with any other.
Stops the [Range] from sharing its member variables with any other.
</description>
</method>
</methods>
@ -64,7 +64,8 @@
<signal name="value_changed">
<argument index="0" name="value" type="float" />
<description>
Emitted when [member value] changes.
Emitted when [member value] changes. When used on a [Slider], this is called continuously while dragging (potentially every frame). If you are performing an expensive operation in a function connected to [signal value_changed], consider using a [i]debouncing[/i] [Timer] to call the function less often.
[b]Note:[/b] Unlike signals such as [signal LineEdit.text_changed], [signal value_changed] is also emitted when [code]value[/code] is set directly via code.
</description>
</signal>
</signals>

View file

@ -425,9 +425,12 @@ void EditorProfiler::_clear_pressed() {
}
void EditorProfiler::_notification(int p_what) {
if (p_what == NOTIFICATION_ENTER_TREE) {
activate->set_icon(get_icon("Play", "EditorIcons"));
clear_button->set_icon(get_icon("Clear", "EditorIcons"));
switch (p_what) {
case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: {
activate->set_icon(get_icon("Play", "EditorIcons"));
clear_button->set_icon(get_icon("Clear", "EditorIcons"));
} break;
}
}

View file

@ -39,15 +39,11 @@ void ResourcePreloaderEditor::_gui_input(Ref<InputEvent> p_event) {
}
void ResourcePreloaderEditor::_notification(int p_what) {
if (p_what == NOTIFICATION_ENTER_TREE) {
load->set_icon(get_icon("Folder", "EditorIcons"));
}
if (p_what == NOTIFICATION_READY) {
//NodePath("/root")->connect("node_removed", this,"_node_removed",Vector<Variant>(),true);
}
if (p_what == NOTIFICATION_DRAW) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: {
load->set_icon(get_icon("Folder", "EditorIcons"));
} break;
}
}

View file

@ -349,8 +349,16 @@ void ShaderEditor::_menu_option(int p_option) {
}
void ShaderEditor::_notification(int p_what) {
if (p_what == MainLoop::NOTIFICATION_WM_FOCUS_IN) {
_check_for_external_edit();
switch (p_what) {
case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: {
PopupMenu *popup = help_menu->get_popup();
popup->set_item_icon(popup->get_item_index(HELP_DOCS), get_icon("Instance", "EditorIcons"));
} break;
case MainLoop::NOTIFICATION_WM_FOCUS_IN: {
_check_for_external_edit();
} break;
}
}
@ -664,7 +672,7 @@ ShaderEditor::ShaderEditor(EditorNode *p_node) {
help_menu = memnew(MenuButton);
help_menu->set_text(TTR("Help"));
help_menu->set_switch_on_hover(true);
help_menu->get_popup()->add_icon_item(p_node->get_gui_base()->get_icon("Instance", "EditorIcons"), TTR("Online Docs"), HELP_DOCS);
help_menu->get_popup()->add_item(TTR("Online Docs"), HELP_DOCS);
help_menu->get_popup()->connect("id_pressed", this, "_menu_option");
add_child(main_container);

View file

@ -4,7 +4,7 @@ ext.versions = [
minSdk : 19, // Also update 'platform/android/java/lib/AndroidManifest.xml#minSdkVersion' & 'platform/android/export/export_plugin.cpp#DEFAULT_MIN_SDK_VERSION'
targetSdk : 30, // Also update 'platform/android/java/lib/AndroidManifest.xml#targetSdkVersion' & 'platform/android/export/export_plugin.cpp#DEFAULT_TARGET_SDK_VERSION'
buildTools : '30.0.3',
kotlinVersion : '1.5.10',
kotlinVersion : '1.6.10',
fragmentVersion : '1.3.6',
javaVersion : 11,
ndkVersion : '21.4.7075529' // Also update 'platform/android/detect.py#get_project_ndk_version()' when this is updated.
@ -86,13 +86,12 @@ ext.getGodotEditorVersion = { ->
return editorVersion
}
ext.getGodotLibraryVersion = { ->
ext.generateGodotLibraryVersion = { List<String> requiredKeys ->
// Attempt to read the version from the `version.py` file.
String libraryVersion = ""
File versionFile = new File("../../../version.py")
if (versionFile.isFile()) {
List<String> requiredKeys = ["major", "minor", "patch", "status", "module_config"]
def map = [:]
List<String> lines = versionFile.readLines()
@ -121,6 +120,16 @@ ext.getGodotLibraryVersion = { ->
return libraryVersion
}
ext.getGodotLibraryVersion = { ->
List<String> requiredKeys = ["major", "minor", "patch", "status", "module_config"]
return generateGodotLibraryVersion(requiredKeys)
}
ext.getGodotPublishVersion = { ->
List<String> requiredKeys = ["major", "minor", "patch", "status"]
return generateGodotLibraryVersion(requiredKeys)
}
final String VALUE_SEPARATOR_REGEX = "\\|"
// get the list of ABIs the project should be exported to

View file

@ -1,4 +1,6 @@
apply plugin: 'io.github.gradle-nexus.publish-plugin'
apply from: 'app/config.gradle'
apply from: 'scripts/publish-root.gradle'
buildscript {
apply from: 'app/config.gradle'
@ -6,10 +8,12 @@ buildscript {
repositories {
google()
mavenCentral()
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath libraries.androidGradlePlugin
classpath libraries.kotlinGradlePlugin
classpath 'io.github.gradle-nexus:publish-plugin:1.1.0'
}
}

View file

@ -1,6 +1,13 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
ext {
PUBLISH_VERSION = getGodotPublishVersion()
PUBLISH_ARTIFACT_ID = 'godot'
}
apply from: "../scripts/publish-module.gradle"
dependencies {
implementation libraries.kotlinStdLib
implementation libraries.androidxFragment
@ -21,6 +28,8 @@ android {
manifestPlaceholders = [godotLibraryVersion: getGodotLibraryVersion()]
}
namespace = "org.godotengine.godot"
compileOptions {
sourceCompatibility versions.javaVersion
targetCompatibility versions.javaVersion
@ -111,4 +120,12 @@ android {
// Schedule the tasks so the generated libs are present before the aar file is packaged.
tasks["merge${buildType}JniLibFolders"].dependsOn taskName
}
// TODO: Enable when issues with AGP 7.1+ are resolved (https://github.com/GodotVR/godot_openxr/issues/187).
// publishing {
// singleVariant("release") {
// withSourcesJar()
// withJavadocJar()
// }
// }
}

View file

@ -0,0 +1,74 @@
apply plugin: 'maven-publish'
apply plugin: 'signing'
group = ossrhGroupId
version = PUBLISH_VERSION
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
// The coordinates of the library, being set from variables that
// we'll set up later
groupId ossrhGroupId
artifactId PUBLISH_ARTIFACT_ID
version PUBLISH_VERSION
// Two artifacts, the `aar` (or `jar`) and the sources
if (project.plugins.findPlugin("com.android.library")) {
from components.release
} else {
from components.java
}
// Mostly self-explanatory metadata
pom {
name = PUBLISH_ARTIFACT_ID
description = 'Godot Engine Android Library'
url = 'https://godotengine.org/'
licenses {
license {
name = 'MIT License'
url = 'https://github.com/godotengine/godot/blob/master/LICENSE.txt'
}
}
developers {
developer {
id = 'm4gr3d'
name = 'Fredia Huya-Kouadio'
email = 'fhuyakou@gmail.com'
}
developer {
id = 'reduz'
name = 'Juan Linietsky'
email = 'reduzio@gmail.com'
}
developer {
id = 'akien-mga'
name = 'Rémi Verschelde'
email = 'rverschelde@gmail.com'
}
// Add all other devs here...
}
// Version control info - if you're using GitHub, follow the
// format as seen here
scm {
connection = 'scm:git:github.com/godotengine/godot.git'
developerConnection = 'scm:git:ssh://github.com/godotengine/godot.git'
url = 'https://github.com/godotengine/godot/tree/master'
}
}
}
}
}
}
signing {
useInMemoryPgpKeys(
rootProject.ext["signing.keyId"],
rootProject.ext["signing.key"],
rootProject.ext["signing.password"],
)
sign publishing.publications
}

View file

@ -0,0 +1,39 @@
// Create variables with empty default values
ext["signing.keyId"] = ''
ext["signing.password"] = ''
ext["signing.key"] = ''
ext["ossrhGroupId"] = ''
ext["ossrhUsername"] = ''
ext["ossrhPassword"] = ''
ext["sonatypeStagingProfileId"] = ''
File secretPropsFile = project.rootProject.file('local.properties')
if (secretPropsFile.exists()) {
// Read local.properties file first if it exists
Properties p = new Properties()
new FileInputStream(secretPropsFile).withCloseable { is -> p.load(is) }
p.each { name, value -> ext[name] = value }
} else {
// Use system environment variables
ext["ossrhGroupId"] = System.getenv('OSSRH_GROUP_ID')
ext["ossrhUsername"] = System.getenv('OSSRH_USERNAME')
ext["ossrhPassword"] = System.getenv('OSSRH_PASSWORD')
ext["sonatypeStagingProfileId"] = System.getenv('SONATYPE_STAGING_PROFILE_ID')
ext["signing.keyId"] = System.getenv('SIGNING_KEY_ID')
ext["signing.password"] = System.getenv('SIGNING_PASSWORD')
ext["signing.key"] = System.getenv('SIGNING_KEY')
}
// Set up Sonatype repository
nexusPublishing {
repositories {
sonatype {
stagingProfileId = sonatypeStagingProfileId
username = ossrhUsername
password = ossrhPassword
nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
}
}
}

View file

@ -2400,12 +2400,19 @@ OS::Date OS_Windows::get_date(bool utc) const {
else
GetLocalTime(&systemtime);
// Get DST information from Windows, but only if utc is false.
TIME_ZONE_INFORMATION info;
bool daylight = false;
if (!utc && GetTimeZoneInformation(&info) == TIME_ZONE_ID_DAYLIGHT) {
daylight = true;
}
Date date;
date.day = systemtime.wDay;
date.month = Month(systemtime.wMonth);
date.weekday = Weekday(systemtime.wDayOfWeek);
date.year = systemtime.wYear;
date.dst = false;
date.dst = daylight;
return date;
}
OS::Time OS_Windows::get_time(bool utc) const {
@ -2428,16 +2435,19 @@ OS::TimeZoneInfo OS_Windows::get_time_zone_info() const {
if (GetTimeZoneInformation(&info) == TIME_ZONE_ID_DAYLIGHT)
daylight = true;
// Daylight Bias needs to be added to the bias if DST is in effect, or else it will not properly update.
TimeZoneInfo ret;
if (daylight) {
ret.name = info.DaylightName;
ret.bias = info.Bias + info.DaylightBias;
} else {
ret.name = info.StandardName;
ret.bias = info.Bias + info.StandardBias;
}
// Bias value returned by GetTimeZoneInformation is inverted of what we expect
// For example on GMT-3 GetTimeZoneInformation return a Bias of 180, so invert the value to get -180
ret.bias = -info.Bias;
// For example, on GMT-3 GetTimeZoneInformation return a Bias of 180, so invert the value to get -180
ret.bias = -ret.bias;
return ret;
}

View file

@ -41,6 +41,11 @@ struct _LineData {
};
void FlowContainer::_resort() {
// Avoid resorting if invisible.
if (!is_visible_in_tree()) {
return;
}
int separation_horizontal = get_constant("hseparation");
int separation_vertical = get_constant("vseparation");
@ -58,7 +63,7 @@ void FlowContainer::_resort() {
// First pass for line wrapping and minimum size calculation.
for (int i = 0; i < get_child_count(); i++) {
Control *child = Object::cast_to<Control>(get_child(i));
if (!child || !child->is_visible_in_tree()) {
if (!child || !child->is_visible()) {
continue;
}
if (child->is_set_as_toplevel()) {
@ -128,7 +133,7 @@ void FlowContainer::_resort() {
for (int i = 0; i < get_child_count(); i++) {
Control *child = Object::cast_to<Control>(get_child(i));
if (!child || !child->is_visible_in_tree()) {
if (!child || !child->is_visible()) {
continue;
}
if (child->is_set_as_toplevel()) {

View file

@ -156,6 +156,10 @@ void OptionButton::set_item_metadata(int p_idx, const Variant &p_metadata) {
popup->set_item_metadata(p_idx, p_metadata);
}
void OptionButton::set_item_tooltip(int p_idx, const String &p_tooltip) {
popup->set_item_tooltip(p_idx, p_tooltip);
}
void OptionButton::set_item_disabled(int p_idx, bool p_disabled) {
popup->set_item_disabled(p_idx, p_disabled);
}
@ -180,6 +184,10 @@ Variant OptionButton::get_item_metadata(int p_idx) const {
return popup->get_item_metadata(p_idx);
}
String OptionButton::get_item_tooltip(int p_idx) const {
return popup->get_item_tooltip(p_idx);
}
bool OptionButton::is_item_disabled(int p_idx) const {
return popup->is_item_disabled(p_idx);
}
@ -305,11 +313,13 @@ void OptionButton::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_item_disabled", "idx", "disabled"), &OptionButton::set_item_disabled);
ClassDB::bind_method(D_METHOD("set_item_id", "idx", "id"), &OptionButton::set_item_id);
ClassDB::bind_method(D_METHOD("set_item_metadata", "idx", "metadata"), &OptionButton::set_item_metadata);
ClassDB::bind_method(D_METHOD("set_item_tooltip", "idx", "tooltip"), &OptionButton::set_item_tooltip);
ClassDB::bind_method(D_METHOD("get_item_text", "idx"), &OptionButton::get_item_text);
ClassDB::bind_method(D_METHOD("get_item_icon", "idx"), &OptionButton::get_item_icon);
ClassDB::bind_method(D_METHOD("get_item_id", "idx"), &OptionButton::get_item_id);
ClassDB::bind_method(D_METHOD("get_item_index", "id"), &OptionButton::get_item_index);
ClassDB::bind_method(D_METHOD("get_item_metadata", "idx"), &OptionButton::get_item_metadata);
ClassDB::bind_method(D_METHOD("get_item_tooltip", "idx"), &OptionButton::get_item_tooltip);
ClassDB::bind_method(D_METHOD("is_item_disabled", "idx"), &OptionButton::is_item_disabled);
ClassDB::bind_method(D_METHOD("get_item_count"), &OptionButton::get_item_count);
ClassDB::bind_method(D_METHOD("add_separator"), &OptionButton::add_separator);

View file

@ -64,6 +64,7 @@ public:
void set_item_id(int p_idx, int p_id);
void set_item_metadata(int p_idx, const Variant &p_metadata);
void set_item_disabled(int p_idx, bool p_disabled);
void set_item_tooltip(int p_idx, const String &p_tooltip);
String get_item_text(int p_idx) const;
Ref<Texture> get_item_icon(int p_idx) const;
@ -71,6 +72,7 @@ public:
int get_item_index(int p_id) const;
Variant get_item_metadata(int p_idx) const;
bool is_item_disabled(int p_idx) const;
String get_item_tooltip(int p_idx) const;
int get_item_count() const;