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