mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 06:05:58 -06:00
161 lines
5.3 KiB
C++
161 lines
5.3 KiB
C++
#include <Core/Core.h>
|
|
|
|
#include "Functions4U.h"
|
|
|
|
//NAMESPACE_UPP
|
|
using namespace Upp;
|
|
|
|
Color GetSvgColor(const char *color) {
|
|
struct Svg_color {
|
|
const char *name;
|
|
int r;
|
|
int g;
|
|
int b;
|
|
} colors[] = { {"aliceblue", 240, 248, 255},
|
|
{"antiquewhite", 250, 235, 215},
|
|
{"aqua", 0, 255, 255},
|
|
{"aquamarine", 127, 255, 212},
|
|
{"azure", 240, 255, 255},
|
|
{"beige", 245, 245, 220},
|
|
{"bisque", 255, 228, 196},
|
|
{"black", 0, 0, 0},
|
|
{"blanchedalmond", 255, 235, 205},
|
|
{"blue", 0, 0, 255},
|
|
{"blueviolet", 138, 43, 226},
|
|
{"brown", 165, 42, 42},
|
|
{"burlywood", 222, 184, 135},
|
|
{"cadetblue", 95, 158, 160},
|
|
{"chartreuse", 127, 255, 0},
|
|
{"chocolate", 210, 105, 30},
|
|
{"coral", 255, 127, 80},
|
|
{"cornflowerblue", 100, 149, 237},
|
|
{"cornsilk", 255, 248, 220},
|
|
{"crimson", 237, 164, 61},
|
|
{"cyan", 0, 255, 255},
|
|
{"darkblue", 0, 0, 139},
|
|
{"darkcyan", 0, 139, 139},
|
|
{"darkgoldenrod", 184, 134, 11},
|
|
{"darkgray", 169, 169, 169},
|
|
{"darkgreen", 0, 100, 0},
|
|
{"darkkhaki", 189, 183, 107},
|
|
{"darkmagenta", 139, 0, 139},
|
|
{"darkolivegreen", 85, 107, 47},
|
|
{"darkorange", 255, 140, 0},
|
|
{"darkorchid", 153, 50, 204},
|
|
{"darkred", 139, 0, 0},
|
|
{"darksalmon", 233, 150, 122},
|
|
{"darkseagreen", 143, 188, 143},
|
|
{"darkslateblue", 72, 61, 139},
|
|
{"darkslategray", 47, 79, 79},
|
|
{"darkturquoise", 0, 206, 209},
|
|
{"darkviolet", 148, 0, 211},
|
|
{"deeppink", 255, 20, 147},
|
|
{"deepskyblue", 0, 191, 255},
|
|
{"dimgray", 105, 105, 105},
|
|
{"dodgerblue", 30, 144, 255},
|
|
{"firebrick", 178, 34, 34},
|
|
{"floralwhite", 255, 250, 240},
|
|
{"forestgreen", 34, 139, 34},
|
|
{"fuchsia", 255, 0, 255},
|
|
{"gainsboro", 220, 220, 220},
|
|
{"ghostwhite", 248, 248, 255},
|
|
{"gold", 255, 215, 0},
|
|
{"goldenrod", 218, 165, 32},
|
|
{"gray", 128, 128, 128},
|
|
{"green", 0, 128, 0},
|
|
{"greenyellow", 173, 255, 47},
|
|
{"honeydew", 240, 255, 240},
|
|
{"hotpink", 255, 105, 180},
|
|
{"indianred", 205, 92, 92},
|
|
{"indigo", 75, 0, 130},
|
|
{"ivory", 255, 255, 240},
|
|
{"khaki", 240, 230, 140},
|
|
{"lavender", 230, 230, 250},
|
|
{"lavenderblush", 255, 240, 245},
|
|
{"lawngreen", 124, 252, 0},
|
|
{"lemonchiffon", 255, 250, 205},
|
|
{"lightblue", 173, 216, 230},
|
|
{"lightcoral", 240, 128, 128},
|
|
{"lightcyan", 224, 255, 255},
|
|
{"lightgoldenrodyellow", 250, 250, 210},
|
|
{"lightgrey", 211, 211, 211},
|
|
{"lightgreen", 144, 238, 144},
|
|
{"lightpink", 255, 182, 193},
|
|
{"lightsalmon", 255, 160, 122},
|
|
{"lightseagreen", 32, 178, 170},
|
|
{"lightskyblue", 135, 206, 250},
|
|
{"lightslategray", 119, 136, 153},
|
|
{"lightsteelblue", 176, 196, 222},
|
|
{"lightyellow", 255, 255, 224},
|
|
{"lime", 0, 255, 0},
|
|
{"limegreen", 50, 205, 50},
|
|
{"linen", 250, 240, 230},
|
|
{"magenta", 255, 0, 255},
|
|
{"maroon", 128, 0, 0},
|
|
{"mediumaquamarine", 102, 205, 170},
|
|
{"mediumblue", 0, 0, 205},
|
|
{"mediumorchid", 186, 85, 211},
|
|
{"mediumpurple", 147, 112, 219},
|
|
{"mediumseagreen", 60, 179, 113},
|
|
{"mediumslateblue", 123, 104, 238},
|
|
{"mediumspringgreen", 0, 250, 154},
|
|
{"mediumturquoise", 72, 209, 204},
|
|
{"mediumvioletred", 199, 21, 133},
|
|
{"midnightblue", 25, 25, 112},
|
|
{"mintcream", 245, 255, 250},
|
|
{"mistyrose", 255, 228, 225},
|
|
{"moccasin", 255, 228, 181},
|
|
{"navajowhite", 255, 222, 173},
|
|
{"navy", 0, 0, 128},
|
|
{"oldlace", 253, 245, 230},
|
|
{"olive", 128, 128, 0},
|
|
{"olivedrab", 107, 142, 35},
|
|
{"orange", 255, 165, 0},
|
|
{"orangered", 255, 69, 0},
|
|
{"orchid", 218, 112, 214},
|
|
{"palegoldenrod", 238, 232, 170},
|
|
{"palegreen", 152, 251, 152},
|
|
{"paleturquoise", 175, 238, 238},
|
|
{"palevioletred", 219, 112, 147},
|
|
{"papayawhip", 255, 239, 213},
|
|
{"peachpuff", 255, 218, 185},
|
|
{"peru", 205, 133, 63},
|
|
{"pink", 255, 192, 203},
|
|
{"plum", 221, 160, 221},
|
|
{"powderblue", 176, 224, 230},
|
|
{"purple", 128, 0, 128},
|
|
{"red", 255, 0, 0},
|
|
{"rosybrown", 188, 143, 143},
|
|
{"royalblue", 65, 105, 225},
|
|
{"saddlebrown", 139, 69, 19},
|
|
{"salmon", 250, 128, 114},
|
|
{"sandybrown", 244, 164, 96},
|
|
{"seagreen", 46, 139, 87},
|
|
{"seashell", 255, 245, 238},
|
|
{"sienna", 160, 82, 45},
|
|
{"silver", 192, 192, 192},
|
|
{"skyblue", 135, 206, 235},
|
|
{"slateblue", 106, 90, 205},
|
|
{"slategray", 112, 128, 144},
|
|
{"snow", 255, 250, 250},
|
|
{"springgreen", 0, 255, 127},
|
|
{"steelblue", 70, 130, 180},
|
|
{"tan", 210, 180, 140},
|
|
{"teal", 0, 128, 128},
|
|
{"thistle", 216, 191, 216},
|
|
{"tomato", 255, 99, 71},
|
|
{"turquoise", 64, 224, 208},
|
|
{"violet", 238, 130, 238},
|
|
{"wheat", 245, 222, 179},
|
|
{"white", 255, 255, 255},
|
|
{"whitesmoke", 245, 245, 245},
|
|
{"yellow", 255, 255, 0},
|
|
{"yellowgreen", 154, 205, 50},
|
|
{""}};
|
|
|
|
for (int i = 0; colors[i].name[0] != '\0'; ++i) // Naive algorithm to get the color
|
|
if (strcmp(color, colors[i].name) == 0)
|
|
return Color(colors[i].r, colors[i].g, colors[i].b);
|
|
return Null;
|
|
}
|
|
|