1014{
1015 int i = strchr(colour, ' ') - colour;
1016 while (i > 0)
1017 {
1018 memmove ( (VOID*) (colour + i), (VOID*) (colour + i + 1), strlen (colour) - i );
1019 i = strchr(colour, ' ') - colour;
1020 }
1021
1022
1023
1024 if (!_strnicmp(colour, "gray", 4) || !_strnicmp(colour, "grey", 4))
1025 {
1026 i = strlen(colour);
1027 if (i > 5)
1028 {
1029 float tmp = (float)(2.55 * atoi(colour+4));
1030 i = (int)(tmp + .5);
1031 if (i < (int)tmp) i = (int)tmp;
1032 return RGB(i,i,i);
1033 }
1034 else return RGB(80,80,80);
1035 }
1036
1037 char firstCharacter = colour[0];
1038
1039
1040
1041 switch (colour[0])
1042 {
1043 case 'a':
1044 {
1045 if (! _stricmp(colour, "aliceblue")) return RGB(240,248,255);
1046 else if (! _stricmp(colour, "antiquewhite")) return RGB(250,235,215);
1047 else if (! _stricmp(colour, "aquamarine")) return RGB(127,255,212);
1048 else if (! _stricmp(colour, "azure")) return RGB(240,255,255);
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063 }
1064 case 'b':
1065 {
1066 if (! _stricmp(colour, "beige")) return RGB(245,245,220);
1067 else if (! _stricmp(colour, "bisque")) return RGB(255,228,196);
1068 else if (! _stricmp(colour, "black")) return RGB(0,0,0);
1069 else if (! _stricmp(colour, "blanchedalmond")) return RGB(255,235,205);
1070 else if (! _stricmp(colour, "blue")) return RGB(0,0,255);
1071 else if (! _stricmp(colour, "blueviolet")) return RGB(138,43,226);
1072 else if (! _stricmp(colour, "brown")) return RGB(165,42,42);
1073 else if (! _stricmp(colour, "burlywood")) return RGB(222,184,135);
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092 }
1093 case 'c':
1094 {
1095 if (! _stricmp(colour, "cadetblue")) return RGB(95,158,160);
1096 else if (! _stricmp(colour, "chartreuse")) return RGB(127,255,0);
1097 else if (! _stricmp(colour, "chocolate")) return RGB(210,105,30);
1098 else if (! _stricmp(colour, "coral")) return RGB(255,127,80);
1099 else if (! _stricmp(colour, "cornflowerblue")) return RGB(100,149,237);
1100 else if (! _stricmp(colour, "cornsilk")) return RGB(255,248,220);
1101 else if (! _stricmp(colour, "cyan")) return RGB(0,255,255);
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128 }
1129 case 'd':
1130 {
1131 if (! _stricmp(colour, "darkblue")) return RGB(0,0,139);
1132 else if (! _stricmp(colour, "darkcyan")) return RGB(0,139,139);
1133 else if (! _stricmp(colour, "darkgoldenrod")) return RGB(184,134,11);
1134 else if (! _stricmp(colour, "darkgray")) return RGB(169,169,169);
1135 else if (! _stricmp(colour, "darkgreen")) return RGB(0,100,0);
1136 else if (! _stricmp(colour, "darkgrey")) return RGB(169,169,169);
1137 else if (! _stricmp(colour, "darkkhaki")) return RGB(189,183,107);
1138 else if (! _stricmp(colour, "darkmagenta")) return RGB(139,0,139);
1139 else if (! _stricmp(colour, "darkolivegreen")) return RGB(85,107,47);
1140 else if (! _stricmp(colour, "darkorange")) return RGB(255,140,0);
1141 else if (! _stricmp(colour, "darkorchid")) return RGB(153,50,204);
1142 else if (! _stricmp(colour, "darkred")) return RGB(139,0,0);
1143 else if (! _stricmp(colour, "darksalmon")) return RGB(233,150,122);
1144 else if (! _stricmp(colour, "darkseagreen")) return RGB(143,188,143);
1145 else if (! _stricmp(colour, "darkslateblue")) return RGB(72,61,139);
1146 else if (! _stricmp(colour, "darkslategray")) return RGB(47,79,79);
1147 else if (! _stricmp(colour, "darkslategrey")) return RGB(47,79,79);
1148 else if (! _stricmp(colour, "darkturquoise")) return RGB(0,206,209);
1149 else if (! _stricmp(colour, "darkviolet")) return RGB(148,0,211);
1150 else if (! _stricmp(colour, "deeppink")) return RGB(255,20,147);
1151 else if (! _stricmp(colour, "deepskyblue")) return RGB(0,191,255);
1152 else if (! _stricmp(colour, "dimgray")) return RGB(105,105,105);
1153 else if (! _stricmp(colour, "dimgrey")) return RGB(105,105,105);
1154 else if (! _stricmp(colour, "dodgerblue")) return RGB(30,144,255);
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193 }
1194 case 'f':
1195 {
1196 if (! _stricmp(colour, "firebrick")) return RGB(178,34,34);
1197 else if (! _stricmp(colour, "floralwhite")) return RGB(255,250,240);
1198 else if (! _stricmp(colour, "forestgreen")) return RGB(34,139,34);
1199
1200
1201
1202
1203
1204
1205 }
1206 case 'g':
1207 {
1208 if (! _stricmp(colour, "gainsboro")) return RGB(220,220,220);
1209 else if (! _stricmp(colour, "ghostwhite")) return RGB(248,248,255);
1210 else if (! _stricmp(colour, "gold")) return RGB(255,215,0);
1211 else if (! _stricmp(colour, "goldenrod")) return RGB(218,165,32);
1212 else if (! _stricmp(colour, "gray")) return RGB(190,190,190);
1213 else if (! _stricmp(colour, "green")) return RGB(0,255,0);
1214 else if (! _stricmp(colour, "greenyellow")) return RGB(173,255,47);
1215 else if (! _stricmp(colour, "grey")) return RGB(190,190,190);
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230 }
1231 case 'h':
1232 {
1233 if (! _stricmp(colour, "honeydew")) return RGB(240,255,240);
1234 else if (! _stricmp(colour, "hotpink")) return RGB(255,105,180);
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245 }
1246 case 'i':
1247 {
1248 if (! _stricmp(colour, "indianred")) return RGB(205,92,92);
1249 else if (! _stricmp(colour, "ivory")) return RGB(255,255,240);
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260 }
1261 case 'k':
1262 {
1263 if (! _stricmp(colour, "khaki")) return RGB(240,230,140);
1264
1265
1266
1267
1268
1269
1270 }
1271 case 'l':
1272 {
1273 if (! _stricmp(colour, "lavender")) return RGB(230,230,250);
1274 else if (! _stricmp(colour, "lavenderblush")) return RGB(255,240,245);
1275 else if (! _stricmp(colour, "lawngreen")) return RGB(124,252,0);
1276 else if (! _stricmp(colour, "lemonchiffon")) return RGB(255,250,205);
1277 else if (! _stricmp(colour, "lightblue")) return RGB(173,216,230);
1278 else if (! _stricmp(colour, "lightcoral")) return RGB(240,128,128);
1279 else if (! _stricmp(colour, "lightcyan")) return RGB(224,255,255);
1280 else if (! _stricmp(colour, "lightgoldenrod")) return RGB(238,221,130);
1281 else if (! _stricmp(colour, "lightgoldenrodyellow")) return RGB(250,250,210);
1282 else if (! _stricmp(colour, "lightgray")) return RGB(211,211,211);
1283 else if (! _stricmp(colour, "lightgreen")) return RGB(144,238,144);
1284 else if (! _stricmp(colour, "lightgrey")) return RGB(211,211,211);
1285 else if (! _stricmp(colour, "lightpink")) return RGB(255,182,193);
1286 else if (! _stricmp(colour, "lightsalmon")) return RGB(255,160,122);
1287 else if (! _stricmp(colour, "lightseagreen")) return RGB(32,178,170);
1288 else if (! _stricmp(colour, "lightskyblue")) return RGB(135,206,250);
1289 else if (! _stricmp(colour, "lightslateblue")) return RGB(132,112,255);
1290 else if (! _stricmp(colour, "lightslategray")) return RGB(119,136,153);
1291 else if (! _stricmp(colour, "lightslategrey")) return RGB(119,136,153);
1292 else if (! _stricmp(colour, "lightsteelblue")) return RGB(176,196,222);
1293 else if (! _stricmp(colour, "lightyellow")) return RGB(255,255,224);
1294 else if (! _stricmp(colour, "limegreen")) return RGB(50,205,50);
1295 else if (! _stricmp(colour, "linen")) return RGB(250,240,230);
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338 }
1339 case 'm':
1340 {
1341 if (! _stricmp(colour, "magenta")) return RGB(255,0,255);
1342 else if (! _stricmp(colour, "maroon")) return RGB(176,48,96);
1343 else if (! _stricmp(colour, "mediumaquamarine")) return RGB(102,205,170);
1344 else if (! _stricmp(colour, "mediumblue")) return RGB(0,0,205);
1345 else if (! _stricmp(colour, "mediumorchid")) return RGB(186,85,211);
1346 else if (! _stricmp(colour, "mediumpurple")) return RGB(147,112,219);
1347 else if (! _stricmp(colour, "mediumseagreen")) return RGB(60,179,113);
1348 else if (! _stricmp(colour, "mediumslateblue")) return RGB(123,104,238);
1349 else if (! _stricmp(colour, "mediumspringgreen")) return RGB(0,250,154);
1350 else if (! _stricmp(colour, "mediumturquoise")) return RGB(72,209,204);
1351 else if (! _stricmp(colour, "mediumvioletred")) return RGB(199,21,133);
1352 else if (! _stricmp(colour, "midnightblue")) return RGB(25,25,112);
1353 else if (! _stricmp(colour, "mintcream")) return RGB(245,255,250);
1354 else if (! _stricmp(colour, "mistyrose")) return RGB(255,228,225);
1355 else if (! _stricmp(colour, "moccasin")) return RGB(255,228,181);
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378 }
1379 case 'n':
1380 {
1381 if (! _stricmp(colour, "navajowhite")) return RGB(255,222,173);
1382 else if (! _stricmp(colour, "navy")) return RGB(0,0,128);
1383 else if (! _stricmp(colour, "navyblue")) return RGB(0,0,128);
1384
1385
1386
1387
1388
1389
1390 }
1391 case 'o':
1392 {
1393 if (! _stricmp(colour, "oldlace")) return RGB(253,245,230);
1394 else if (! _stricmp(colour, "olivedrab")) return RGB(107,142,35);
1395 else if (! _stricmp(colour, "orange")) return RGB(255,165,0);
1396 else if (! _stricmp(colour, "orangered")) return RGB(255,69,0);
1397 else if (! _stricmp(colour, "orchid")) return RGB(218,112,214);
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416 }
1417 case 'p':
1418 {
1419 if (! _stricmp(colour, "palegoldenrod")) return RGB(238,232,170);
1420 else if (! _stricmp(colour, "palegreen")) return RGB(152,251,152);
1421 else if (! _stricmp(colour, "paleturquoise")) return RGB(175,238,238);
1422 else if (! _stricmp(colour, "palevioletred")) return RGB(219,112,147);
1423 else if (! _stricmp(colour, "papayawhip")) return RGB(255,239,213);
1424 else if (! _stricmp(colour, "peachpuff")) return RGB(255,218,185);
1425 else if (! _stricmp(colour, "peru")) return RGB(205,133,63);
1426 else if (! _stricmp(colour, "pink")) return RGB(255,192,203);
1427 else if (! _stricmp(colour, "plum")) return RGB(221,160,221);
1428 else if (! _stricmp(colour, "powderblue")) return RGB(176,224,230);
1429 else if (! _stricmp(colour, "purple")) return RGB(160,32,240);
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460 }
1461 case 'r':
1462 {
1463 if (! _stricmp(colour, "red")) return RGB(255,0,0);
1464 else if (! _stricmp(colour, "rosybrown")) return RGB(188,143,143);
1465 else if (! _stricmp(colour, "royalblue")) return RGB(65,105,225);
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480 }
1481 case 's':
1482 {
1483 if (! _stricmp(colour, "saddlebrown")) return RGB(139,69,19);
1484 else if (! _stricmp(colour, "salmon")) return RGB(250,128,114);
1485 else if (! _stricmp(colour, "sandybrown")) return RGB(244,164,96);
1486 else if (! _stricmp(colour, "seagreen")) return RGB(46,139,87);
1487 else if (! _stricmp(colour, "seashell")) return RGB(255,245,238);
1488 else if (! _stricmp(colour, "sienna")) return RGB(160,82,45);
1489 else if (! _stricmp(colour, "skyblue")) return RGB(135,206,235);
1490 else if (! _stricmp(colour, "slateblue")) return RGB(106,90,205);
1491 else if (! _stricmp(colour, "slategray")) return RGB(112,128,144);
1492 else if (! _stricmp(colour, "slategrey")) return RGB(112,128,144);
1493 else if (! _stricmp(colour, "springgreen")) return RGB(0,255,127);
1494 else if (! _stricmp(colour, "steelblue")) return RGB(70,130,180);
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537 }
1538 case 't':
1539 {
1540 if (! _stricmp(colour, "tan")) return RGB(210,180,140);
1541 else if (! _stricmp(colour, "thistle")) return RGB(216,191,216);
1542 else if (! _stricmp(colour, "tomato")) return RGB(255,99,71);
1543 else if (! _stricmp(colour, "turquoise")) return RGB(64,224,208);
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562 }
1563 case 'v':
1564 {
1565 if (! _stricmp(colour, "violet")) return RGB(238,130,238);
1566 else if (! _stricmp(colour, "violetred")) return RGB(208,32,144);
1567
1568
1569
1570
1571
1572
1573 }
1574 case 'w':
1575 {
1576 if (! _stricmp(colour, "wheat")) return RGB(245,222,179);
1577 else if (! _stricmp(colour, "white")) return RGB(255,255,255);
1578 else if (! _stricmp(colour, "whitesmoke")) return RGB(245,245,245);
1579
1580
1581
1582
1583
1584
1585 }
1586 case 'y':
1587 {
1588 if (! _stricmp(colour, "yellow")) return RGB(255,255,0);
1589 else if (! _stricmp(colour, "yellowgreen")) return RGB(154,205,50);
1590
1591
1592
1593
1594
1595
1596 }
1597
1598
1599
1600 default:
1601 return 0x000000;
1602 }
1603}