1,323 → 1,193 |
//Íàäî áóäåò ïåðåäåëàòü íà "äåðåâî ïîèñêà" èëè, ÷òî-òî ïîäîáíîå |
//áóäåò íå÷èòàáåëüíî, çàòî ìåíüøå è áûñòåå |
|
//Èìåíà web öâåòîâ |
char *color_names[]={ |
"aliceblue", |
"antiquewhite", |
"aqua", |
"aquamarine", |
"azure", |
"beige", |
"bisque", |
"black", |
"blanchedalmond", |
"blue", |
"blueviolet", |
"brown", |
"burlywood", |
"cadetblue", |
"chartreuse", |
"chocolate", |
"coral", |
"cornflowerblue", |
"cornsilk", |
"crimson", |
"cyan", |
"darkblue", |
"darkcyan", |
"darkgoldenrod", |
"darkgray", |
"darkgreen", |
"darkkhaki", |
"darkmagenta", |
"darkolivegreen", |
"darkorange", |
"darkorchid", |
"darkred", |
"darksalmon", |
"darkseagreen", |
"darkslateblue", |
"darkslategray", |
"darkturquoise", |
"darkviolet", |
"deeppink", |
"deepskyblue", |
"dimgray", |
"dodgerblue", |
"firebrick", |
"floralwhite", |
"forestgreen", |
"fuchsia", |
"gainsboro", |
"ghostwhite", |
"gold", |
"goldenrod", |
"gray", |
"green", |
"greenyellow", |
"honeydew", |
"hotpink", |
"indianred", |
"indigo", |
"ivory", |
"khaki", |
"lavender", |
"lavenderblush", |
"lawngreen", |
"lemonchiffon", |
"lightblue", |
"lightcoral", |
"lightcyan", |
"lightgoldenrodyellow", |
"lightgray", |
"lightgreen", |
"lightpink", |
"lightsalmon", |
"lightseagreen", |
"lightskyblue", |
"lightslategray", |
"lightsteelblue", |
"lightyellow", |
"lime", |
"limegreen", |
"linen", |
"magenta", |
"maroon", |
"mediumaquamarine", |
"mediumblue", |
"mediumorchid", |
"mediumpurple", |
"mediumseagreen", |
"mediumslateblue", |
"mediumspringgreen", |
"mediumturquoise", |
"mediumvioletred", |
"midnightblue", |
"mintcream", |
"mistyrose", |
"moccasin", |
"navajowhite", |
"navy", |
"navyblue", |
"oldlace", |
"olive", |
"olivedrab", |
"orange", |
"orangered", |
"orchid", |
"palegoldenrod", |
"paleturquoise", |
"palevioletred", |
"papayawhip", |
"peachpuff", |
"peru", |
"pink", |
"plum", |
"powderblue", |
"purple", |
"red", |
"rosybrown", |
"royalblue", |
"saddlebrown", |
"salmon", |
"sandybrown", |
"seagreen", |
"seashell", |
"sienna", |
"silver", |
"skyblue", |
"slateblue", |
"slategray", |
"snow", |
"springgreen", |
"steelblue", |
"tan", |
"teal", |
"thistle", |
"tomato", |
"turquoise", |
"violet", |
"wheat", |
"white", |
"whitesmoke", |
"yellow", |
"yellowgreen", |
struct color_spec { |
char *name; |
int rgb; |
}; |
|
struct color_spec color_specs[] = { |
"aliceblue", 0xF0F8FF, |
"antiquewhite", 0xFAEBD7, |
"aqua", 0x00FFFF, |
"aquamarine", 0x7FFFD4, |
"azure", 0xF0FFFF, |
"beige", 0xF5F5DC, |
"bisque", 0xFFE4C4, |
"black", 0x000000, |
"blanchedalmond", 0xFFEBCD, |
"blue", 0x0000FF, |
"blueviolet", 0x8A2BE2, |
"brown", 0xA52A2A, |
"burlywood", 0xDEB887, |
"cadetblue", 0x5F9EA0, |
"chartreuse", 0x7FFF00, |
"chocolate", 0xD2691E, |
"coral", 0xFF7F50, |
"cornflowerblue", 0x6495ED, |
"cornsilk", 0xFFF8DC, |
"crimson", 0xDC143C, |
"cyan", 0x00FFFF, |
"darkblue", 0x00008B, |
"darkcyan", 0x008B8B, |
"darkgoldenrod", 0xB8860B, |
"darkgray", 0xA9A9A9, |
"darkgreen", 0x006400, |
"darkkhaki", 0xBDB76B, |
"darkmagenta", 0x8B008B, |
"darkolivegreen", 0x556B2F, |
"darkorange", 0xFF8C00, |
"darkorchid", 0x9932CC, |
"darkred", 0x8B0000, |
"darksalmon", 0xE9967A, |
"darkseagreen", 0x8FBC8F, |
"darkslateblue", 0x483D8B, |
"darkslategray", 0x2F4F4F, |
"darkturquoise", 0x00CED1, |
"darkviolet", 0x9400D3, |
"deeppink", 0xFF1493, |
"deepskyblue", 0x00BFFF, |
"dimgray", 0x696969, |
"dodgerblue", 0x1E90FF, |
"firebrick", 0xB22222, |
"floralwhite", 0xFFFAF0, |
"forestgreen", 0x228B22, |
"fuchsia", 0xFF00FF, |
"gainsboro", 0xDCDCDC, |
"ghostwhite", 0xF8F8FF, |
"gold", 0xFFD700, |
"goldenrod", 0xDAA520, |
"gray", 0x808080, |
"green", 0x008000, |
"greenyellow", 0xADFF2F, |
"honeydew", 0xF0FFF0, |
"hotpink", 0xFF69B4, |
"indianred", 0xCD5C5C, |
"indigo", 0x4B0082, |
"ivory", 0xFFFFF0, |
"khaki", 0xF0E68C, |
"lavender", 0xE6E6FA, |
"lavenderblush", 0xFFF0F5, |
"lawngreen", 0x7CFC00, |
"lemonchiffon", 0xFFFACD, |
"lightblue", 0xADD8E6, |
"lightcoral", 0xF08080, |
"lightcyan", 0xE0FFFF, |
"lightgoldenrodyellow", 0xFAFAD2, |
"lightgreen", 0x90EE90, |
"lightgrey", 0xD3D3D3, |
"lightpink", 0xFFB6C1, |
"lightsalmon", 0xFFA07A, |
"lightseagreen", 0x20B2AA, |
"lightskyblue", 0x87CEFA, |
"lightslategray", 0x778899, |
"lightsteelblue", 0xB0C4DE, |
"lightyellow", 0xFFFFE0, |
"lime", 0x00FF00, |
"limegreen", 0x32CD32, |
"linen", 0xFAF0E6, |
"magenta", 0xFF00FF, |
"maroon", 0x800000, |
"mediumaquamarine", 0x66CDAA, |
"mediumblue", 0x0000CD, |
"mediumorchid", 0xBA55D3, |
"mediumpurple", 0x9370DB, |
"mediumseagreen", 0x3CB371, |
"mediumslateblue", 0x7B68EE, |
"mediumspringgreen", 0x00FA9A, |
"mediumturquoise", 0x48D1CC, |
"mediumvioletred", 0xC71585, |
"midnightblue", 0x191970, |
"mintcream", 0xF5FFFA, |
"mistyrose", 0xFFE4E1, |
"moccasin", 0xFFE4B5, |
"navajowhite", 0xFFDEAD, |
"navy", 0x000080, |
"oldlace", 0xFDF5E6, |
"olive", 0x808000, |
"olivedrab", 0x6B8E23, |
"orange", 0xFFA500, |
"orangered", 0xFF4500, |
"orchid", 0xDA70D6, |
"palegoldenrod", 0xEEE8AA, |
"palegreen", 0x98FB98, |
"paleturquoise", 0xAFEEEE, |
"palevioletred", 0xDB7093, |
"papayawhip", 0xFFEFD5, |
"peachpuff", 0xFFDAB9, |
"peru", 0xCD853F, |
"pink", 0xFFC0CB, |
"plum", 0xDDA0DD, |
"powderblue", 0xB0E0E6, |
"purple", 0x800080, |
"red", 0xFF0000, |
"rosybrown", 0xBC8F8F, |
"royalblue", 0x4169E1, |
"saddlebrown", 0x8B4513, |
"salmon", 0xFA8072, |
"sandybrown", 0xF4A460, |
"seagreen", 0x2E8B57, |
"seashell", 0xFFF5EE, |
"sienna", 0xA0522D, |
"silver", 0xC0C0C0, |
"skyblue", 0x87CEEB, |
"slateblue", 0x6A5ACD, |
"slategray", 0x708090, |
"snow", 0xFFFAFA, |
"springgreen", 0x00FF7F, |
"steelblue", 0x4682B4, |
"tan", 0xD2B48C, |
"teal", 0x008080, |
"thistle", 0xD8BFD8, |
"tomato", 0xFF6347, |
"turquoise", 0x40E0D0, |
"violet", 0xEE82EE, |
"wheat", 0xF5DEB3, |
"white", 0xFFFFFF, |
"whitesmoke", 0xF5F5F5, |
"yellow", 0xFFFF00, |
"yellowgreen", 0x9ACD32, |
0}; |
|
//ñîîòâåòñòâóþùèå èì çíà÷åíèÿ |
dword *colors[]={ |
0xf0f8ff, |
0xfaebd7, |
0x00ffff, |
0x7fffd4, |
0xf0ffff, |
0xf5f5dc, |
0xffe4c4, |
0x000000, |
0xffebcd, |
0x0000ff, |
0x8a2be2, |
0xa52a2a, |
0xdeb887, |
0x5f9ea0, |
0x7fff00, |
0xd2691e, |
0xff7f50, |
0x6495ed, |
0xfff8dc, |
0xdc143c, |
0x00ffff, |
0x00008b, |
0x008b8b, |
0xb8860b, |
0xa9a9a9, |
0x006400, |
0xbdb76b, |
0x8b008b, |
0x556b2f, |
0xff8c00, |
0x9932cc, |
0x8b0000, |
0xe9967a, |
0x8fbc8f, |
0x483d8b, |
0x2f4f4f, |
0x00ced1, |
0x9400d3, |
0xff1493, |
0x00bfff, |
0x696969, |
0x1e90ff, |
0xb22222, |
0xfffaf0, |
0x228b22, |
0xff00ff, |
0xdcdcdc, |
0xf8f8ff, |
0xffd700, |
0xdaa520, |
0x808080, |
0x008000, |
0xadff2f, |
0xf0fff0, |
0xff69b4, |
0xcd5c5c, |
0x4b0082, |
0xfffff0, |
0xf0e68c, |
0xe6e6fa, |
0xfff0f5, |
0x7cfc00, |
0xfffacd, |
0xadd8e6, |
0xf08080, |
0xe0ffff, |
0xfafad2, |
0xd3d3d3, |
0x90ee90, |
0xffb6c1, |
0xffa07a, |
0x20b2aa, |
0x87cefa, |
0x778899, |
0xb0c4de, |
0xffffe0, |
0x00ff00, |
0x32cd32, |
0xfaf0e6, |
0xff00ff, |
0x800000, |
0x66cdaa, |
0x0000cd, |
0xba55d3, |
0x9370db, |
0x3cb371, |
0x7b68ee, |
0x00fa9a, |
0x48d1cc, |
0xc71585, |
0x191970, |
0xf5fffa, |
0xffe4e1, |
0xffe4b5, |
0xffdead, |
0x000080, |
0x9fafdf, |
0xfdf5e6, |
0x808000, |
0x6b8e23, |
0xffa500, |
0xff4500, |
0xda70d6, |
0xeee8aa, |
0xafeeee, |
0xd87093, |
0xffefd5, |
0xffdab9, |
0xcd853f, |
0xffc0cb, |
0xdda0dd, |
0xb0e0e6, |
0x800080, |
0xff0000, |
0xbc8f8f, |
0x4169e1, |
0x8b4513, |
0xfa8072, |
0xf4a460, |
0x2e8b57, |
0xfff5ee, |
0xa0522d, |
0xc0c0c0, |
0x87ceeb, |
0x6a5acd, |
0x708090, |
0xfffafa, |
0x00ff7f, |
0x4682b4, |
0xd2b48c, |
0x008080, |
0xd8bfd8, |
0xff6347, |
0x40e0d0, |
0xee82ee, |
0xf5deb3, |
0xffffff, |
0xf5f5f5, |
0xffff00, |
0x9acd32}; |
|
dword StrToCol(char* htmlcolor) |
{ |
dword j=1, color=0; |
dword j=1, |
color=0, |
textlen=0; |
char ch=0x00; |
|
IF (ESBYTE[htmlcolor]<>'#') RETURN; |
if (ESBYTE[htmlcolor]<>'#') return; |
|
FOR (;j<7;j++) |
textlen= strlen(htmlcolor); |
|
if (textlen==7) || (textlen==4) |
{ |
FOR (; j<textlen; j++) |
{ |
ch=ESBYTE[htmlcolor+j]; |
IF ((ch>='0') && (ch<='9')) ch -= '0'; |
IF ((ch>='A') && (ch<='F')) ch -= 'A'-10; |
IF ((ch>='a') && (ch<='f')) ch -= 'a'-10; |
color = color*0x10 + ch; |
if (textlen==4) color = color*0x10 + ch; //#abc ->> #aabbcc (ñëàâà âèêèïåäèè!!1) |
} |
|
return color; |
} |
|
return text_colors[0]; |
} |
|
dword GetColor(char* color_str) |
{ |
int ii; |
|
IF (ESBYTE[color_str] == '#') |
if (ESBYTE[color_str] == '#') |
return StrToCol(color_str); |
|
ELSE |
FOR (ii=0; color_names[ii]!=0; ii++) |
else |
for (ii=0; color_specs[ii].name!=0; ii++) |
{ |
IF(!strcmp(color_str, color_names[ii])) return colors[ii]; |
if (!strcmp(color_str, color_specs[ii].name)) return color_specs[ii].rgb; |
} |
|
return text_colors[0]; |
} |