Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4411 | leency | 1 | //Надо будет переделать на "дерево поиска" или, что-то подобное |
2 | //будет нечитабельно, зато меньше и быстее |
||
3 | |||
4 | struct color_spec { |
||
5 | char *name; |
||
6 | int rgb; |
||
7 | }; |
||
8 | |||
9 | struct color_spec color_specs[] = { |
||
10 | "aliceblue", 0xF0F8FF, |
||
11 | "antiquewhite", 0xFAEBD7, |
||
12 | "aqua", 0x00FFFF, |
||
13 | "aquamarine", 0x7FFFD4, |
||
14 | "azure", 0xF0FFFF, |
||
15 | "beige", 0xF5F5DC, |
||
16 | "bisque", 0xFFE4C4, |
||
17 | "black", 0x000000, |
||
18 | "blanchedalmond",0xFFEBCD, |
||
19 | "blue", 0x0000FF, |
||
20 | "blueviolet", 0x8A2BE2, |
||
21 | "brown", 0xA52A2A, |
||
22 | "burlywood", 0xDEB887, |
||
23 | "cadetblue", 0x5F9EA0, |
||
24 | "chartreuse", 0x7FFF00, |
||
25 | "chocolate", 0xD2691E, |
||
26 | "coral", 0xFF7F50, |
||
27 | "cornflowerblue",0x6495ED, |
||
28 | "cornsilk", 0xFFF8DC, |
||
29 | "crimson", 0xDC143C, |
||
30 | "cyan", 0x00FFFF, |
||
31 | "darkblue", 0x00008B, |
||
32 | "darkcyan", 0x008B8B, |
||
33 | "darkgoldenrod", 0xB8860B, |
||
34 | "darkgray", 0xA9A9A9, |
||
35 | "darkgreen", 0x006400, |
||
36 | "darkkhaki", 0xBDB76B, |
||
37 | "darkmagenta", 0x8B008B, |
||
38 | "darkolivegreen",0x556B2F, |
||
39 | "darkorange", 0xFF8C00, |
||
40 | "darkorchid", 0x9932CC, |
||
41 | "darkred", 0x8B0000, |
||
42 | "darksalmon", 0xE9967A, |
||
43 | "darkseagreen", 0x8FBC8F, |
||
44 | "darkslateblue", 0x483D8B, |
||
45 | "darkslategray", 0x2F4F4F, |
||
46 | "darkturquoise", 0x00CED1, |
||
47 | "darkviolet", 0x9400D3, |
||
48 | "deeppink", 0xFF1493, |
||
49 | "deepskyblue", 0x00BFFF, |
||
50 | "dimgray", 0x696969, |
||
51 | "dodgerblue", 0x1E90FF, |
||
52 | "firebrick", 0xB22222, |
||
53 | "floralwhite", 0xFFFAF0, |
||
54 | "forestgreen", 0x228B22, |
||
55 | "fuchsia", 0xFF00FF, |
||
56 | "gainsboro", 0xDCDCDC, |
||
57 | "ghostwhite", 0xF8F8FF, |
||
58 | "gold", 0xFFD700, |
||
59 | "goldenrod", 0xDAA520, |
||
60 | "gray", 0x808080, |
||
61 | "green", 0x008000, |
||
62 | "greenyellow", 0xADFF2F, |
||
63 | "honeydew", 0xF0FFF0, |
||
64 | "hotpink", 0xFF69B4, |
||
65 | "indianred", 0xCD5C5C, |
||
66 | "indigo", 0x4B0082, |
||
67 | "ivory", 0xFFFFF0, |
||
68 | "khaki", 0xF0E68C, |
||
69 | "lavender", 0xE6E6FA, |
||
70 | "lavenderblush", 0xFFF0F5, |
||
71 | "lawngreen", 0x7CFC00, |
||
72 | "lemonchiffon", 0xFFFACD, |
||
73 | "lightblue", 0xADD8E6, |
||
74 | "lightcoral", 0xF08080, |
||
75 | "lightcyan", 0xE0FFFF, |
||
76 | "lightgoldenrodyellow", 0xFAFAD2, |
||
77 | "lightgreen", 0x90EE90, |
||
78 | "lightgrey", 0xD3D3D3, |
||
79 | "lightpink", 0xFFB6C1, |
||
80 | "lightsalmon", 0xFFA07A, |
||
81 | "lightseagreen", 0x20B2AA, |
||
82 | "lightskyblue", 0x87CEFA, |
||
83 | "lightslategray",0x778899, |
||
84 | "lightsteelblue",0xB0C4DE, |
||
85 | "lightyellow", 0xFFFFE0, |
||
86 | "lime", 0x00FF00, |
||
87 | "limegreen", 0x32CD32, |
||
88 | "linen", 0xFAF0E6, |
||
89 | "magenta", 0xFF00FF, |
||
90 | "maroon", 0x800000, |
||
91 | "mediumaquamarine",0x66CDAA, |
||
92 | "mediumblue", 0x0000CD, |
||
93 | "mediumorchid", 0xBA55D3, |
||
94 | "mediumpurple", 0x9370DB, |
||
95 | "mediumseagreen",0x3CB371, |
||
96 | "mediumslateblue",0x7B68EE, |
||
97 | "mediumspringgreen",0x00FA9A, |
||
98 | "mediumturquoise",0x48D1CC, |
||
99 | "mediumvioletred",0xC71585, |
||
100 | "midnightblue", 0x191970, |
||
101 | "mintcream", 0xF5FFFA, |
||
102 | "mistyrose", 0xFFE4E1, |
||
103 | "moccasin", 0xFFE4B5, |
||
104 | "navajowhite", 0xFFDEAD, |
||
105 | "navy", 0x000080, |
||
106 | "oldlace", 0xFDF5E6, |
||
107 | "olive", 0x808000, |
||
108 | "olivedrab", 0x6B8E23, |
||
109 | "orange", 0xFFA500, |
||
110 | "orangered", 0xFF4500, |
||
111 | "orchid", 0xDA70D6, |
||
112 | "palegoldenrod", 0xEEE8AA, |
||
113 | "palegreen", 0x98FB98, |
||
114 | "paleturquoise", 0xAFEEEE, |
||
115 | "palevioletred", 0xDB7093, |
||
116 | "papayawhip", 0xFFEFD5, |
||
117 | "peachpuff", 0xFFDAB9, |
||
118 | "peru", 0xCD853F, |
||
119 | "pink", 0xFFC0CB, |
||
120 | "plum", 0xDDA0DD, |
||
121 | "powderblue", 0xB0E0E6, |
||
122 | "purple", 0x800080, |
||
123 | "red", 0xFF0000, |
||
124 | "rosybrown", 0xBC8F8F, |
||
125 | "royalblue", 0x4169E1, |
||
126 | "saddlebrown", 0x8B4513, |
||
127 | "salmon", 0xFA8072, |
||
128 | "sandybrown", 0xF4A460, |
||
129 | "seagreen", 0x2E8B57, |
||
130 | "seashell", 0xFFF5EE, |
||
131 | "sienna", 0xA0522D, |
||
132 | "silver", 0xC0C0C0, |
||
133 | "skyblue", 0x87CEEB, |
||
134 | "slateblue", 0x6A5ACD, |
||
135 | "slategray", 0x708090, |
||
136 | "snow", 0xFFFAFA, |
||
137 | "springgreen", 0x00FF7F, |
||
138 | "steelblue", 0x4682B4, |
||
139 | "tan", 0xD2B48C, |
||
140 | "teal", 0x008080, |
||
141 | "thistle", 0xD8BFD8, |
||
142 | "tomato", 0xFF6347, |
||
143 | "turquoise", 0x40E0D0, |
||
144 | "violet", 0xEE82EE, |
||
145 | "wheat", 0xF5DEB3, |
||
146 | "white", 0xFFFFFF, |
||
147 | "whitesmoke", 0xF5F5F5, |
||
148 | "yellow", 0xFFFF00, |
||
149 | "yellowgreen", 0x9ACD32, |
||
150 | 0}; |
||
151 | |||
152 | dword StrToCol(char* htmlcolor) |
||
153 | { |
||
154 | dword j=1, |
||
155 | color=0, |
||
156 | textlen=0; |
||
157 | char ch=0x00; |
||
158 | |||
159 | if (ESBYTE[htmlcolor]<>'#') return text_colors[0]; |
||
160 | |||
161 | textlen = strlen(htmlcolor); |
||
162 | |||
163 | if (textlen==7) || (textlen==4) |
||
164 | { |
||
165 | FOR (; j |
||
166 | { |
||
167 | ch=ESBYTE[htmlcolor+j]; |
||
168 | IF ((ch>='0') && (ch<='9')) ch -= '0'; |
||
169 | IF ((ch>='A') && (ch<='F')) ch -= 'A'-10; |
||
170 | IF ((ch>='a') && (ch<='f')) ch -= 'a'-10; |
||
171 | color = color*0x10 + ch; |
||
172 | if (textlen==4) color = color*0x10 + ch; //#abc ->> #aabbcc (слава википедии!!1) |
||
173 | } |
||
174 | return color; |
||
175 | } |
||
176 | |||
177 | return text_colors[0]; |
||
178 | } |
||
179 | |||
180 | dword GetColor(char* color_str) |
||
181 | { |
||
182 | int ii; |
||
183 | |||
184 | if (ESBYTE[color_str] == '#') |
||
185 | return StrToCol(color_str); |
||
186 | else |
||
187 | for (ii=0; color_specs[ii].name!=0; ii++) |
||
188 | { |
||
189 | if (!strcmp(color_str, color_specs[ii].name)) return color_specs[ii].rgb; |
||
190 | } |
||
191 | |||
192 | return text_colors[0]; |
||
193 | }='f'))>='F'))>='9'))>> |