00001
00002 #include "x11colors.h"
00003
00004 #include <QMutex>
00005 #include <QMutexLocker>
00006 #include <QMap>
00007
00008 struct colormap
00009 {
00010 const char *name;
00011 unsigned char r, g, b;
00012 };
00013
00014 QColor createColor(const QString &color)
00015 {
00016 static QMutex x11colormapLock;
00017 static QMap<QString, QColor> x11colormap;
00018
00019 QMutexLocker locker(&x11colormapLock);
00020 if (x11colormap.empty())
00021 {
00022 static const colormap cmap[] = {
00023 { "snow", 255, 250, 250},
00024 { "ghost", 248, 248, 255},
00025 { "ghostwhite", 248, 248, 255},
00026 { "white", 245, 245, 245},
00027 { "whitesmoke", 245, 245, 245},
00028 { "gainsboro", 220, 220, 220},
00029 { "floral", 255, 250, 240},
00030 { "floralwhite", 255, 250, 240},
00031 { "old", 253, 245, 230},
00032 { "oldlace", 253, 245, 230},
00033 { "linen", 250, 240, 230},
00034 { "antique", 250, 235, 215},
00035 { "antiquewhite", 250, 235, 215},
00036 { "papaya", 255, 239, 213},
00037 { "papayawhip", 255, 239, 213},
00038 { "blanched", 255, 235, 205},
00039 { "blanchedalmond", 255, 235, 205},
00040 { "bisque", 255, 228, 196},
00041 { "peach", 255, 218, 185},
00042 { "peachpuff", 255, 218, 185},
00043 { "navajo", 255, 222, 173},
00044 { "navajowhite", 255, 222, 173},
00045 { "moccasin", 255, 228, 181},
00046 { "cornsilk", 255, 248, 220},
00047 { "ivory", 255, 255, 240},
00048 { "lemon", 255, 250, 205},
00049 { "lemonchiffon", 255, 250, 205},
00050 { "seashell", 255, 245, 238},
00051 { "honeydew", 240, 255, 240},
00052 { "mint", 245, 255, 250},
00053 { "mintcream", 245, 255, 250},
00054 { "azure", 240, 255, 255},
00055 { "alice", 240, 248, 255},
00056 { "aliceblue", 240, 248, 255},
00057 { "lavender", 230, 230, 250},
00058 { "lavender", 255, 240, 245},
00059 { "lavenderblush", 255, 240, 245},
00060 { "misty", 255, 228, 225},
00061 { "mistyrose", 255, 228, 225},
00062 { "white", 255, 255, 255},
00063 { "black", 0, 0, 0},
00064 { "dark", 47, 79, 79},
00065 { "darkslategray", 47, 79, 79},
00066 { "dark", 47, 79, 79},
00067 { "darkslategrey", 47, 79, 79},
00068 { "dim", 105, 105, 105},
00069 { "dimgray", 105, 105, 105},
00070 { "dim", 105, 105, 105},
00071 { "dimgrey", 105, 105, 105},
00072 { "slate", 112, 128, 144},
00073 { "slategray", 112, 128, 144},
00074 { "slate", 112, 128, 144},
00075 { "slategrey", 112, 128, 144},
00076 { "light", 119, 136, 153},
00077 { "lightslategray", 119, 136, 153},
00078 { "light", 119, 136, 153},
00079 { "lightslategrey", 119, 136, 153},
00080 { "gray", 190, 190, 190},
00081 { "grey", 190, 190, 190},
00082 { "light", 211, 211, 211},
00083 { "lightgrey", 211, 211, 211},
00084 { "light", 211, 211, 211},
00085 { "lightgray", 211, 211, 211},
00086 { "midnight", 25, 25, 112},
00087 { "midnightblue", 25, 25, 112},
00088 { "navy", 0, 0, 128},
00089 { "navy", 0, 0, 128},
00090 { "navyblue", 0, 0, 128},
00091 { "cornflower", 100, 149, 237},
00092 { "cornflowerblue", 100, 149, 237},
00093 { "dark", 72, 61, 139},
00094 { "darkslateblue", 72, 61, 139},
00095 { "slate", 106, 90, 205},
00096 { "slateblue", 106, 90, 205},
00097 { "medium", 123, 104, 238},
00098 { "mediumslateblue", 123, 104, 238},
00099 { "light", 132, 112, 255},
00100 { "lightslateblue", 132, 112, 255},
00101 { "medium", 0, 0, 205},
00102 { "mediumblue", 0, 0, 205},
00103 { "royal", 65, 105, 225},
00104 { "royalblue", 65, 105, 225},
00105 { "blue", 0, 0, 255},
00106 { "dodger", 30, 144, 255},
00107 { "dodgerblue", 30, 144, 255},
00108 { "deep", 0, 191, 255},
00109 { "deepskyblue", 0, 191, 255},
00110 { "sky", 135, 206, 235},
00111 { "skyblue", 135, 206, 235},
00112 { "light", 135, 206, 250},
00113 { "lightskyblue", 135, 206, 250},
00114 { "steel", 70, 130, 180},
00115 { "steelblue", 70, 130, 180},
00116 { "light", 176, 196, 222},
00117 { "lightsteelblue", 176, 196, 222},
00118 { "light", 173, 216, 230},
00119 { "lightblue", 173, 216, 230},
00120 { "powder", 176, 224, 230},
00121 { "powderblue", 176, 224, 230},
00122 { "pale", 175, 238, 238},
00123 { "paleturquoise", 175, 238, 238},
00124 { "dark", 0, 206, 209},
00125 { "darkturquoise", 0, 206, 209},
00126 { "medium", 72, 209, 204},
00127 { "mediumturquoise", 72, 209, 204},
00128 { "turquoise", 64, 224, 208},
00129 { "cyan", 0, 255, 255},
00130 { "light", 224, 255, 255},
00131 { "lightcyan", 224, 255, 255},
00132 { "cadet", 95, 158, 160},
00133 { "cadetblue", 95, 158, 160},
00134 { "medium", 102, 205, 170},
00135 { "mediumaquamarine", 102, 205, 170},
00136 { "aquamarine", 127, 255, 212},
00137 { "dark", 0, 100, 0},
00138 { "darkgreen", 0, 100, 0},
00139 { "dark", 85, 107, 47},
00140 { "darkolivegreen", 85, 107, 47},
00141 { "dark", 143, 188, 143},
00142 { "darkseagreen", 143, 188, 143},
00143 { "sea", 46, 139, 87},
00144 { "seagreen", 46, 139, 87},
00145 { "medium", 60, 179, 113},
00146 { "mediumseagreen", 60, 179, 113},
00147 { "light", 32, 178, 170},
00148 { "lightseagreen", 32, 178, 170},
00149 { "pale", 152, 251, 152},
00150 { "palegreen", 152, 251, 152},
00151 { "spring", 0, 255, 127},
00152 { "springgreen", 0, 255, 127},
00153 { "lawn", 124, 252, 0},
00154 { "lawngreen", 124, 252, 0},
00155 { "green", 0, 255, 0},
00156 { "chartreuse", 127, 255, 0},
00157 { "medium", 0, 250, 154},
00158 { "mediumspringgreen", 0, 250, 154},
00159 { "green", 173, 255, 47},
00160 { "greenyellow", 173, 255, 47},
00161 { "lime", 50, 205, 50},
00162 { "limegreen", 50, 205, 50},
00163 { "yellow", 154, 205, 50},
00164 { "yellowgreen", 154, 205, 50},
00165 { "forest", 34, 139, 34},
00166 { "forestgreen", 34, 139, 34},
00167 { "olive", 107, 142, 35},
00168 { "olivedrab", 107, 142, 35},
00169 { "dark", 189, 183, 107},
00170 { "darkkhaki", 189, 183, 107},
00171 { "khaki", 240, 230, 140},
00172 { "pale", 238, 232, 170},
00173 { "palegoldenrod", 238, 232, 170},
00174 { "light", 250, 250, 210},
00175 { "lightgoldenrodyellow", 250, 250, 210},
00176 { "light", 255, 255, 224},
00177 { "lightyellow", 255, 255, 224},
00178 { "yellow", 255, 255, 0},
00179 { "gold", 255, 215, 0},
00180 { "light", 238, 221, 130},
00181 { "lightgoldenrod", 238, 221, 130},
00182 { "goldenrod", 218, 165, 32},
00183 { "dark", 184, 134, 11},
00184 { "darkgoldenrod", 184, 134, 11},
00185 { "rosy", 188, 143, 143},
00186 { "rosybrown", 188, 143, 143},
00187 { "indian", 205, 92, 92},
00188 { "indianred", 205, 92, 92},
00189 { "saddle", 139, 69, 19},
00190 { "saddlebrown", 139, 69, 19},
00191 { "sienna", 160, 82, 45},
00192 { "peru", 205, 133, 63},
00193 { "burlywood", 222, 184, 135},
00194 { "beige", 245, 245, 220},
00195 { "wheat", 245, 222, 179},
00196 { "sandy", 244, 164, 96},
00197 { "sandybrown", 244, 164, 96},
00198 { "tan", 210, 180, 140},
00199 { "chocolate", 210, 105, 30},
00200 { "firebrick", 178, 34, 34},
00201 { "brown", 165, 42, 42},
00202 { "dark", 233, 150, 122},
00203 { "darksalmon", 233, 150, 122},
00204 { "salmon", 250, 128, 114},
00205 { "light", 255, 160, 122},
00206 { "lightsalmon", 255, 160, 122},
00207 { "orange", 255, 165, 0},
00208 { "dark", 255, 140, 0},
00209 { "darkorange", 255, 140, 0},
00210 { "coral", 255, 127, 80},
00211 { "light", 240, 128, 128},
00212 { "lightcoral", 240, 128, 128},
00213 { "tomato", 255, 99, 71},
00214 { "orange", 255, 69, 0},
00215 { "orangered", 255, 69, 0},
00216 { "red", 255, 0, 0},
00217 { "hot", 255, 105, 180},
00218 { "hotpink", 255, 105, 180},
00219 { "deep", 255, 20, 147},
00220 { "deeppink", 255, 20, 147},
00221 { "pink", 255, 192, 203},
00222 { "light", 255, 182, 193},
00223 { "lightpink", 255, 182, 193},
00224 { "pale", 219, 112, 147},
00225 { "palevioletred", 219, 112, 147},
00226 { "maroon", 176, 48, 96},
00227 { "medium", 199, 21, 133},
00228 { "mediumvioletred", 199, 21, 133},
00229 { "violet", 208, 32, 144},
00230 { "violetred", 208, 32, 144},
00231 { "magenta", 255, 0, 255},
00232 { "violet", 238, 130, 238},
00233 { "plum", 221, 160, 221},
00234 { "orchid", 218, 112, 214},
00235 { "medium", 186, 85, 211},
00236 { "mediumorchid", 186, 85, 211},
00237 { "dark", 153, 50, 204},
00238 { "darkorchid", 153, 50, 204},
00239 { "dark", 148, 0, 211},
00240 { "darkviolet", 148, 0, 211},
00241 { "blue", 138, 43, 226},
00242 { "blueviolet", 138, 43, 226},
00243 { "purple", 160, 32, 240},
00244 { "medium", 147, 112, 219},
00245 { "mediumpurple", 147, 112, 219},
00246 { "thistle", 216, 191, 216},
00247 { "snow1", 255, 250, 250},
00248 { "snow2", 238, 233, 233},
00249 { "snow3", 205, 201, 201},
00250 { "snow4", 139, 137, 137},
00251 { "seashell1", 255, 245, 238},
00252 { "seashell2", 238, 229, 222},
00253 { "seashell3", 205, 197, 191},
00254 { "seashell4", 139, 134, 130},
00255 { "antiquewhite1", 255, 239, 219},
00256 { "antiquewhite2", 238, 223, 204},
00257 { "antiquewhite3", 205, 192, 176},
00258 { "antiquewhite4", 139, 131, 120},
00259 { "bisque1", 255, 228, 196},
00260 { "bisque2", 238, 213, 183},
00261 { "bisque3", 205, 183, 158},
00262 { "bisque4", 139, 125, 107},
00263 { "peachpuff1", 255, 218, 185},
00264 { "peachpuff2", 238, 203, 173},
00265 { "peachpuff3", 205, 175, 149},
00266 { "peachpuff4", 139, 119, 101},
00267 { "navajowhite1", 255, 222, 173},
00268 { "navajowhite2", 238, 207, 161},
00269 { "navajowhite3", 205, 179, 139},
00270 { "navajowhite4", 139, 121, 94},
00271 { "lemonchiffon1", 255, 250, 205},
00272 { "lemonchiffon2", 238, 233, 191},
00273 { "lemonchiffon3", 205, 201, 165},
00274 { "lemonchiffon4", 139, 137, 112},
00275 { "cornsilk1", 255, 248, 220},
00276 { "cornsilk2", 238, 232, 205},
00277 { "cornsilk3", 205, 200, 177},
00278 { "cornsilk4", 139, 136, 120},
00279 { "ivory1", 255, 255, 240},
00280 { "ivory2", 238, 238, 224},
00281 { "ivory3", 205, 205, 193},
00282 { "ivory4", 139, 139, 131},
00283 { "honeydew1", 240, 255, 240},
00284 { "honeydew2", 224, 238, 224},
00285 { "honeydew3", 193, 205, 193},
00286 { "honeydew4", 131, 139, 131},
00287 { "lavenderblush1", 255, 240, 245},
00288 { "lavenderblush2", 238, 224, 229},
00289 { "lavenderblush3", 205, 193, 197},
00290 { "lavenderblush4", 139, 131, 134},
00291 { "mistyrose1", 255, 228, 225},
00292 { "mistyrose2", 238, 213, 210},
00293 { "mistyrose3", 205, 183, 181},
00294 { "mistyrose4", 139, 125, 123},
00295 { "azure1", 240, 255, 255},
00296 { "azure2", 224, 238, 238},
00297 { "azure3", 193, 205, 205},
00298 { "azure4", 131, 139, 139},
00299 { "slateblue1", 131, 111, 255},
00300 { "slateblue2", 122, 103, 238},
00301 { "slateblue3", 105, 89, 205},
00302 { "slateblue4", 71, 60, 139},
00303 { "royalblue1", 72, 118, 255},
00304 { "royalblue2", 67, 110, 238},
00305 { "royalblue3", 58, 95, 205},
00306 { "royalblue4", 39, 64, 139},
00307 { "blue1", 0, 0, 255},
00308 { "blue2", 0, 0, 238},
00309 { "blue3", 0, 0, 205},
00310 { "blue4", 0, 0, 139},
00311 { "dodgerblue1", 30, 144, 255},
00312 { "dodgerblue2", 28, 134, 238},
00313 { "dodgerblue3", 24, 116, 205},
00314 { "dodgerblue4", 16, 78, 139},
00315 { "steelblue1", 99, 184, 255},
00316 { "steelblue2", 92, 172, 238},
00317 { "steelblue3", 79, 148, 205},
00318 { "steelblue4", 54, 100, 139},
00319 { "deepskyblue1", 0, 191, 255},
00320 { "deepskyblue2", 0, 178, 238},
00321 { "deepskyblue3", 0, 154, 205},
00322 { "deepskyblue4", 0, 104, 139},
00323 { "skyblue1", 135, 206, 255},
00324 { "skyblue2", 126, 192, 238},
00325 { "skyblue3", 108, 166, 205},
00326 { "skyblue4", 74, 112, 139},
00327 { "lightskyblue1", 176, 226, 255},
00328 { "lightskyblue2", 164, 211, 238},
00329 { "lightskyblue3", 141, 182, 205},
00330 { "lightskyblue4", 96, 123, 139},
00331 { "slategray1", 198, 226, 255},
00332 { "slategray2", 185, 211, 238},
00333 { "slategray3", 159, 182, 205},
00334 { "slategray4", 108, 123, 139},
00335 { "lightsteelblue1", 202, 225, 255},
00336 { "lightsteelblue2", 188, 210, 238},
00337 { "lightsteelblue3", 162, 181, 205},
00338 { "lightsteelblue4", 110, 123, 139},
00339 { "lightblue1", 191, 239, 255},
00340 { "lightblue2", 178, 223, 238},
00341 { "lightblue3", 154, 192, 205},
00342 { "lightblue4", 104, 131, 139},
00343 { "lightcyan1", 224, 255, 255},
00344 { "lightcyan2", 209, 238, 238},
00345 { "lightcyan3", 180, 205, 205},
00346 { "lightcyan4", 122, 139, 139},
00347 { "paleturquoise1", 187, 255, 255},
00348 { "paleturquoise2", 174, 238, 238},
00349 { "paleturquoise3", 150, 205, 205},
00350 { "paleturquoise4", 102, 139, 139},
00351 { "cadetblue1", 152, 245, 255},
00352 { "cadetblue2", 142, 229, 238},
00353 { "cadetblue3", 122, 197, 205},
00354 { "cadetblue4", 83, 134, 139},
00355 { "turquoise1", 0, 245, 255},
00356 { "turquoise2", 0, 229, 238},
00357 { "turquoise3", 0, 197, 205},
00358 { "turquoise4", 0, 134, 139},
00359 { "cyan1", 0, 255, 255},
00360 { "cyan2", 0, 238, 238},
00361 { "cyan3", 0, 205, 205},
00362 { "cyan4", 0, 139, 139},
00363 { "darkslategray1", 151, 255, 255},
00364 { "darkslategray2", 141, 238, 238},
00365 { "darkslategray3", 121, 205, 205},
00366 { "darkslategray4", 82, 139, 139},
00367 { "aquamarine1", 127, 255, 212},
00368 { "aquamarine2", 118, 238, 198},
00369 { "aquamarine3", 102, 205, 170},
00370 { "aquamarine4", 69, 139, 116},
00371 { "darkseagreen1", 193, 255, 193},
00372 { "darkseagreen2", 180, 238, 180},
00373 { "darkseagreen3", 155, 205, 155},
00374 { "darkseagreen4", 105, 139, 105},
00375 { "seagreen1", 84, 255, 159},
00376 { "seagreen2", 78, 238, 148},
00377 { "seagreen3", 67, 205, 128},
00378 { "seagreen4", 46, 139, 87},
00379 { "palegreen1", 154, 255, 154},
00380 { "palegreen2", 144, 238, 144},
00381 { "palegreen3", 124, 205, 124},
00382 { "palegreen4", 84, 139, 84},
00383 { "springgreen1", 0, 255, 127},
00384 { "springgreen2", 0, 238, 118},
00385 { "springgreen3", 0, 205, 102},
00386 { "springgreen4", 0, 139, 69},
00387 { "green1", 0, 255, 0},
00388 { "green2", 0, 238, 0},
00389 { "green3", 0, 205, 0},
00390 { "green4", 0, 139, 0},
00391 { "chartreuse1", 127, 255, 0},
00392 { "chartreuse2", 118, 238, 0},
00393 { "chartreuse3", 102, 205, 0},
00394 { "chartreuse4", 69, 139, 0},
00395 { "olivedrab1", 192, 255, 62},
00396 { "olivedrab2", 179, 238, 58},
00397 { "olivedrab3", 154, 205, 50},
00398 { "olivedrab4", 105, 139, 34},
00399 { "darkolivegreen1", 202, 255, 112},
00400 { "darkolivegreen2", 188, 238, 104},
00401 { "darkolivegreen3", 162, 205, 90},
00402 { "darkolivegreen4", 110, 139, 61},
00403 { "khaki1", 255, 246, 143},
00404 { "khaki2", 238, 230, 133},
00405 { "khaki3", 205, 198, 115},
00406 { "khaki4", 139, 134, 78},
00407 { "lightgoldenrod1", 255, 236, 139},
00408 { "lightgoldenrod2", 238, 220, 130},
00409 { "lightgoldenrod3", 205, 190, 112},
00410 { "lightgoldenrod4", 139, 129, 76},
00411 { "lightyellow1", 255, 255, 224},
00412 { "lightyellow2", 238, 238, 209},
00413 { "lightyellow3", 205, 205, 180},
00414 { "lightyellow4", 139, 139, 122},
00415 { "yellow1", 255, 255, 0},
00416 { "yellow2", 238, 238, 0},
00417 { "yellow3", 205, 205, 0},
00418 { "yellow4", 139, 139, 0},
00419 { "gold1", 255, 215, 0},
00420 { "gold2", 238, 201, 0},
00421 { "gold3", 205, 173, 0},
00422 { "gold4", 139, 117, 0},
00423 { "goldenrod1", 255, 193, 37},
00424 { "goldenrod2", 238, 180, 34},
00425 { "goldenrod3", 205, 155, 29},
00426 { "goldenrod4", 139, 105, 20},
00427 { "darkgoldenrod1", 255, 185, 15},
00428 { "darkgoldenrod2", 238, 173, 14},
00429 { "darkgoldenrod3", 205, 149, 12},
00430 { "darkgoldenrod4", 139, 101, 8},
00431 { "rosybrown1", 255, 193, 193},
00432 { "rosybrown2", 238, 180, 180},
00433 { "rosybrown3", 205, 155, 155},
00434 { "rosybrown4", 139, 105, 105},
00435 { "indianred1", 255, 106, 106},
00436 { "indianred2", 238, 99, 99},
00437 { "indianred3", 205, 85, 85},
00438 { "indianred4", 139, 58, 58},
00439 { "sienna1", 255, 130, 71},
00440 { "sienna2", 238, 121, 66},
00441 { "sienna3", 205, 104, 57},
00442 { "sienna4", 139, 71, 38},
00443 { "burlywood1", 255, 211, 155},
00444 { "burlywood2", 238, 197, 145},
00445 { "burlywood3", 205, 170, 125},
00446 { "burlywood4", 139, 115, 85},
00447 { "wheat1", 255, 231, 186},
00448 { "wheat2", 238, 216, 174},
00449 { "wheat3", 205, 186, 150},
00450 { "wheat4", 139, 126, 102},
00451 { "tan1", 255, 165, 79},
00452 { "tan2", 238, 154, 73},
00453 { "tan3", 205, 133, 63},
00454 { "tan4", 139, 90, 43},
00455 { "chocolate1", 255, 127, 36},
00456 { "chocolate2", 238, 118, 33},
00457 { "chocolate3", 205, 102, 29},
00458 { "chocolate4", 139, 69, 19},
00459 { "firebrick1", 255, 48, 48},
00460 { "firebrick2", 238, 44, 44},
00461 { "firebrick3", 205, 38, 38},
00462 { "firebrick4", 139, 26, 26},
00463 { "brown1", 255, 64, 64},
00464 { "brown2", 238, 59, 59},
00465 { "brown3", 205, 51, 51},
00466 { "brown4", 139, 35, 35},
00467 { "salmon1", 255, 140, 105},
00468 { "salmon2", 238, 130, 98},
00469 { "salmon3", 205, 112, 84},
00470 { "salmon4", 139, 76, 57},
00471 { "lightsalmon1", 255, 160, 122},
00472 { "lightsalmon2", 238, 149, 114},
00473 { "lightsalmon3", 205, 129, 98},
00474 { "lightsalmon4", 139, 87, 66},
00475 { "orange1", 255, 165, 0},
00476 { "orange2", 238, 154, 0},
00477 { "orange3", 205, 133, 0},
00478 { "orange4", 139, 90, 0},
00479 { "darkorange1", 255, 127, 0},
00480 { "darkorange2", 238, 118, 0},
00481 { "darkorange3", 205, 102, 0},
00482 { "darkorange4", 139, 69, 0},
00483 { "coral1", 255, 114, 86},
00484 { "coral2", 238, 106, 80},
00485 { "coral3", 205, 91, 69},
00486 { "coral4", 139, 62, 47},
00487 { "tomato1", 255, 99, 71},
00488 { "tomato2", 238, 92, 66},
00489 { "tomato3", 205, 79, 57},
00490 { "tomato4", 139, 54, 38},
00491 { "orangered1", 255, 69, 0},
00492 { "orangered2", 238, 64, 0},
00493 { "orangered3", 205, 55, 0},
00494 { "orangered4", 139, 37, 0},
00495 { "red1", 255, 0, 0},
00496 { "red2", 238, 0, 0},
00497 { "red3", 205, 0, 0},
00498 { "red4", 139, 0, 0},
00499 { "deeppink1", 255, 20, 147},
00500 { "deeppink2", 238, 18, 137},
00501 { "deeppink3", 205, 16, 118},
00502 { "deeppink4", 139, 10, 80},
00503 { "hotpink1", 255, 110, 180},
00504 { "hotpink2", 238, 106, 167},
00505 { "hotpink3", 205, 96, 144},
00506 { "hotpink4", 139, 58, 98},
00507 { "pink1", 255, 181, 197},
00508 { "pink2", 238, 169, 184},
00509 { "pink3", 205, 145, 158},
00510 { "pink4", 139, 99, 108},
00511 { "lightpink1", 255, 174, 185},
00512 { "lightpink2", 238, 162, 173},
00513 { "lightpink3", 205, 140, 149},
00514 { "lightpink4", 139, 95, 101},
00515 { "palevioletred1", 255, 130, 171},
00516 { "palevioletred2", 238, 121, 159},
00517 { "palevioletred3", 205, 104, 137},
00518 { "palevioletred4", 139, 71, 93},
00519 { "maroon1", 255, 52, 179},
00520 { "maroon2", 238, 48, 167},
00521 { "maroon3", 205, 41, 144},
00522 { "maroon4", 139, 28, 98},
00523 { "violetred1", 255, 62, 150},
00524 { "violetred2", 238, 58, 140},
00525 { "violetred3", 205, 50, 120},
00526 { "violetred4", 139, 34, 82},
00527 { "magenta1", 255, 0, 255},
00528 { "magenta2", 238, 0, 238},
00529 { "magenta3", 205, 0, 205},
00530 { "magenta4", 139, 0, 139},
00531 { "orchid1", 255, 131, 250},
00532 { "orchid2", 238, 122, 233},
00533 { "orchid3", 205, 105, 201},
00534 { "orchid4", 139, 71, 137},
00535 { "plum1", 255, 187, 255},
00536 { "plum2", 238, 174, 238},
00537 { "plum3", 205, 150, 205},
00538 { "plum4", 139, 102, 139},
00539 { "mediumorchid1", 224, 102, 255},
00540 { "mediumorchid2", 209, 95, 238},
00541 { "mediumorchid3", 180, 82, 205},
00542 { "mediumorchid4", 122, 55, 139},
00543 { "darkorchid1", 191, 62, 255},
00544 { "darkorchid2", 178, 58, 238},
00545 { "darkorchid3", 154, 50, 205},
00546 { "darkorchid4", 104, 34, 139},
00547 { "purple1", 155, 48, 255},
00548 { "purple2", 145, 44, 238},
00549 { "purple3", 125, 38, 205},
00550 { "purple4", 85, 26, 139},
00551 { "mediumpurple1", 171, 130, 255},
00552 { "mediumpurple2", 159, 121, 238},
00553 { "mediumpurple3", 137, 104, 205},
00554 { "mediumpurple4", 93, 71, 139},
00555 { "thistle1", 255, 225, 255},
00556 { "thistle2", 238, 210, 238},
00557 { "thistle3", 205, 181, 205},
00558 { "thistle4", 139, 123, 139},
00559 { "gray0", 0, 0, 0},
00560 { "grey0", 0, 0, 0},
00561 { "gray1", 3, 3, 3},
00562 { "grey1", 3, 3, 3},
00563 { "gray2", 5, 5, 5},
00564 { "grey2", 5, 5, 5},
00565 { "gray3", 8, 8, 8},
00566 { "grey3", 8, 8, 8},
00567 { "gray4", 10, 10, 10},
00568 { "grey4", 10, 10, 10},
00569 { "gray5", 13, 13, 13},
00570 { "grey5", 13, 13, 13},
00571 { "gray6", 15, 15, 15},
00572 { "grey6", 15, 15, 15},
00573 { "gray7", 18, 18, 18},
00574 { "grey7", 18, 18, 18},
00575 { "gray8", 20, 20, 20},
00576 { "grey8", 20, 20, 20},
00577 { "gray9", 23, 23, 23},
00578 { "grey9", 23, 23, 23},
00579 { "gray10", 26, 26, 26},
00580 { "grey10", 26, 26, 26},
00581 { "gray11", 28, 28, 28},
00582 { "grey11", 28, 28, 28},
00583 { "gray12", 31, 31, 31},
00584 { "grey12", 31, 31, 31},
00585 { "gray13", 33, 33, 33},
00586 { "grey13", 33, 33, 33},
00587 { "gray14", 36, 36, 36},
00588 { "grey14", 36, 36, 36},
00589 { "gray15", 38, 38, 38},
00590 { "grey15", 38, 38, 38},
00591 { "gray16", 41, 41, 41},
00592 { "grey16", 41, 41, 41},
00593 { "gray17", 43, 43, 43},
00594 { "grey17", 43, 43, 43},
00595 { "gray18", 46, 46, 46},
00596 { "grey18", 46, 46, 46},
00597 { "gray19", 48, 48, 48},
00598 { "grey19", 48, 48, 48},
00599 { "gray20", 51, 51, 51},
00600 { "grey20", 51, 51, 51},
00601 { "gray21", 54, 54, 54},
00602 { "grey21", 54, 54, 54},
00603 { "gray22", 56, 56, 56},
00604 { "grey22", 56, 56, 56},
00605 { "gray23", 59, 59, 59},
00606 { "grey23", 59, 59, 59},
00607 { "gray24", 61, 61, 61},
00608 { "grey24", 61, 61, 61},
00609 { "gray25", 64, 64, 64},
00610 { "grey25", 64, 64, 64},
00611 { "gray26", 66, 66, 66},
00612 { "grey26", 66, 66, 66},
00613 { "gray27", 69, 69, 69},
00614 { "grey27", 69, 69, 69},
00615 { "gray28", 71, 71, 71},
00616 { "grey28", 71, 71, 71},
00617 { "gray29", 74, 74, 74},
00618 { "grey29", 74, 74, 74},
00619 { "gray30", 77, 77, 77},
00620 { "grey30", 77, 77, 77},
00621 { "gray31", 79, 79, 79},
00622 { "grey31", 79, 79, 79},
00623 { "gray32", 82, 82, 82},
00624 { "grey32", 82, 82, 82},
00625 { "gray33", 84, 84, 84},
00626 { "grey33", 84, 84, 84},
00627 { "gray34", 87, 87, 87},
00628 { "grey34", 87, 87, 87},
00629 { "gray35", 89, 89, 89},
00630 { "grey35", 89, 89, 89},
00631 { "gray36", 92, 92, 92},
00632 { "grey36", 92, 92, 92},
00633 { "gray37", 94, 94, 94},
00634 { "grey37", 94, 94, 94},
00635 { "gray38", 97, 97, 97},
00636 { "grey38", 97, 97, 97},
00637 { "gray39", 99, 99, 99},
00638 { "grey39", 99, 99, 99},
00639 { "gray40", 102, 102, 102},
00640 { "grey40", 102, 102, 102},
00641 { "gray41", 105, 105, 105},
00642 { "grey41", 105, 105, 105},
00643 { "gray42", 107, 107, 107},
00644 { "grey42", 107, 107, 107},
00645 { "gray43", 110, 110, 110},
00646 { "grey43", 110, 110, 110},
00647 { "gray44", 112, 112, 112},
00648 { "grey44", 112, 112, 112},
00649 { "gray45", 115, 115, 115},
00650 { "grey45", 115, 115, 115},
00651 { "gray46", 117, 117, 117},
00652 { "grey46", 117, 117, 117},
00653 { "gray47", 120, 120, 120},
00654 { "grey47", 120, 120, 120},
00655 { "gray48", 122, 122, 122},
00656 { "grey48", 122, 122, 122},
00657 { "gray49", 125, 125, 125},
00658 { "grey49", 125, 125, 125},
00659 { "gray50", 127, 127, 127},
00660 { "grey50", 127, 127, 127},
00661 { "gray51", 130, 130, 130},
00662 { "grey51", 130, 130, 130},
00663 { "gray52", 133, 133, 133},
00664 { "grey52", 133, 133, 133},
00665 { "gray53", 135, 135, 135},
00666 { "grey53", 135, 135, 135},
00667 { "gray54", 138, 138, 138},
00668 { "grey54", 138, 138, 138},
00669 { "gray55", 140, 140, 140},
00670 { "grey55", 140, 140, 140},
00671 { "gray56", 143, 143, 143},
00672 { "grey56", 143, 143, 143},
00673 { "gray57", 145, 145, 145},
00674 { "grey57", 145, 145, 145},
00675 { "gray58", 148, 148, 148},
00676 { "grey58", 148, 148, 148},
00677 { "gray59", 150, 150, 150},
00678 { "grey59", 150, 150, 150},
00679 { "gray60", 153, 153, 153},
00680 { "grey60", 153, 153, 153},
00681 { "gray61", 156, 156, 156},
00682 { "grey61", 156, 156, 156},
00683 { "gray62", 158, 158, 158},
00684 { "grey62", 158, 158, 158},
00685 { "gray63", 161, 161, 161},
00686 { "grey63", 161, 161, 161},
00687 { "gray64", 163, 163, 163},
00688 { "grey64", 163, 163, 163},
00689 { "gray65", 166, 166, 166},
00690 { "grey65", 166, 166, 166},
00691 { "gray66", 168, 168, 168},
00692 { "grey66", 168, 168, 168},
00693 { "gray67", 171, 171, 171},
00694 { "grey67", 171, 171, 171},
00695 { "gray68", 173, 173, 173},
00696 { "grey68", 173, 173, 173},
00697 { "gray69", 176, 176, 176},
00698 { "grey69", 176, 176, 176},
00699 { "gray70", 179, 179, 179},
00700 { "grey70", 179, 179, 179},
00701 { "gray71", 181, 181, 181},
00702 { "grey71", 181, 181, 181},
00703 { "gray72", 184, 184, 184},
00704 { "grey72", 184, 184, 184},
00705 { "gray73", 186, 186, 186},
00706 { "grey73", 186, 186, 186},
00707 { "gray74", 189, 189, 189},
00708 { "grey74", 189, 189, 189},
00709 { "gray75", 191, 191, 191},
00710 { "grey75", 191, 191, 191},
00711 { "gray76", 194, 194, 194},
00712 { "grey76", 194, 194, 194},
00713 { "gray77", 196, 196, 196},
00714 { "grey77", 196, 196, 196},
00715 { "gray78", 199, 199, 199},
00716 { "grey78", 199, 199, 199},
00717 { "gray79", 201, 201, 201},
00718 { "grey79", 201, 201, 201},
00719 { "gray80", 204, 204, 204},
00720 { "grey80", 204, 204, 204},
00721 { "gray81", 207, 207, 207},
00722 { "grey81", 207, 207, 207},
00723 { "gray82", 209, 209, 209},
00724 { "grey82", 209, 209, 209},
00725 { "gray83", 212, 212, 212},
00726 { "grey83", 212, 212, 212},
00727 { "gray84", 214, 214, 214},
00728 { "grey84", 214, 214, 214},
00729 { "gray85", 217, 217, 217},
00730 { "grey85", 217, 217, 217},
00731 { "gray86", 219, 219, 219},
00732 { "grey86", 219, 219, 219},
00733 { "gray87", 222, 222, 222},
00734 { "grey87", 222, 222, 222},
00735 { "gray88", 224, 224, 224},
00736 { "grey88", 224, 224, 224},
00737 { "gray89", 227, 227, 227},
00738 { "grey89", 227, 227, 227},
00739 { "gray90", 229, 229, 229},
00740 { "grey90", 229, 229, 229},
00741 { "gray91", 232, 232, 232},
00742 { "grey91", 232, 232, 232},
00743 { "gray92", 235, 235, 235},
00744 { "grey92", 235, 235, 235},
00745 { "gray93", 237, 237, 237},
00746 { "grey93", 237, 237, 237},
00747 { "gray94", 240, 240, 240},
00748 { "grey94", 240, 240, 240},
00749 { "gray95", 242, 242, 242},
00750 { "grey95", 242, 242, 242},
00751 { "gray96", 245, 245, 245},
00752 { "grey96", 245, 245, 245},
00753 { "gray97", 247, 247, 247},
00754 { "grey97", 247, 247, 247},
00755 { "gray98", 250, 250, 250},
00756 { "grey98", 250, 250, 250},
00757 { "gray99", 252, 252, 252},
00758 { "grey99", 252, 252, 252},
00759 { "gray100", 255, 255, 255},
00760 { "grey100", 255, 255, 255},
00761 { "dark", 169, 169, 169},
00762 { "darkgrey", 169, 169, 169},
00763 { "dark", 169, 169, 169},
00764 { "darkgray", 169, 169, 169},
00765 { "dark", 0, 0, 139},
00766 { "darkblue", 0, 0, 139},
00767 { "dark", 0, 139, 139},
00768 { "darkcyan", 0, 139, 139},
00769 { "dark", 139, 0, 139},
00770 { "darkmagenta", 139, 0, 139},
00771 { "dark", 139, 0, 0},
00772 { "darkred", 139, 0, 0},
00773 { "light", 144, 238, 144},
00774 { "lightgreen", 144, 238, 144}
00775 };
00776
00777 for (unsigned int i = 0; i < (sizeof(cmap) / sizeof(cmap[0])); i++)
00778 x11colormap[QString(cmap[i].name)] = QColor(cmap[i].r,
00779 cmap[i].g,
00780 cmap[i].b);
00781 }
00782
00783 QMap<QString, QColor>::const_iterator it = x11colormap.find(color.toLower());
00784 if (it != x11colormap.end())
00785 return it.value();
00786
00787 return QColor(color);
00788 }
00789