Subversion Repositories Kolibri OS

Rev

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