Absolute File Name: | /home/qt/qt5_coco/qt5/qtbase/src/gui/image/qxpmhandler.cpp |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||||||||
2 | - | |||||||||||||||||||||||||
3 | - | |||||||||||||||||||||||||
4 | - | |||||||||||||||||||||||||
5 | - | |||||||||||||||||||||||||
6 | - | |||||||||||||||||||||||||
7 | - | |||||||||||||||||||||||||
8 | - | |||||||||||||||||||||||||
9 | static quint64 xpmHash(const QString &str) | - | ||||||||||||||||||||||||
10 | { | - | ||||||||||||||||||||||||
11 | unsigned int hashValue = 0; | - | ||||||||||||||||||||||||
12 | for (int i = 0; i < str.size()
| 0 | ||||||||||||||||||||||||
13 | hashValue <<= 8; | - | ||||||||||||||||||||||||
14 | hashValue += (unsigned int)str.at(i).unicode(); | - | ||||||||||||||||||||||||
15 | } never executed: end of block | 0 | ||||||||||||||||||||||||
16 | return never executed: hashValue;return hashValue; never executed: return hashValue; | 0 | ||||||||||||||||||||||||
17 | } | - | ||||||||||||||||||||||||
18 | static quint64 xpmHash(char *str) | - | ||||||||||||||||||||||||
19 | { | - | ||||||||||||||||||||||||
20 | unsigned int hashValue = 0; | - | ||||||||||||||||||||||||
21 | while (*
| 0 | ||||||||||||||||||||||||
22 | hashValue <<= 8; | - | ||||||||||||||||||||||||
23 | hashValue += (unsigned int)*str; | - | ||||||||||||||||||||||||
24 | ++str; | - | ||||||||||||||||||||||||
25 | } never executed: end of block | 0 | ||||||||||||||||||||||||
26 | return never executed: hashValue;return hashValue; never executed: return hashValue; | 0 | ||||||||||||||||||||||||
27 | } | - | ||||||||||||||||||||||||
28 | - | |||||||||||||||||||||||||
29 | - | |||||||||||||||||||||||||
30 | - | |||||||||||||||||||||||||
31 | - | |||||||||||||||||||||||||
32 | - | |||||||||||||||||||||||||
33 | - | |||||||||||||||||||||||||
34 | static const int xpmRgbTblSize = 657; | - | ||||||||||||||||||||||||
35 | - | |||||||||||||||||||||||||
36 | static const struct XPMRGBData { | - | ||||||||||||||||||||||||
37 | uint value; | - | ||||||||||||||||||||||||
38 | const char name[21]; | - | ||||||||||||||||||||||||
39 | } xpmRgbTbl[] = { | - | ||||||||||||||||||||||||
40 | { (240*65536 + 248*256 + 255), "aliceblue" }, | - | ||||||||||||||||||||||||
41 | { (250*65536 + 235*256 + 215), "antiquewhite" }, | - | ||||||||||||||||||||||||
42 | { (255*65536 + 239*256 + 219), "antiquewhite1" }, | - | ||||||||||||||||||||||||
43 | { (238*65536 + 223*256 + 204), "antiquewhite2" }, | - | ||||||||||||||||||||||||
44 | { (205*65536 + 192*256 + 176), "antiquewhite3" }, | - | ||||||||||||||||||||||||
45 | { (139*65536 + 131*256 + 120), "antiquewhite4" }, | - | ||||||||||||||||||||||||
46 | { (127*65536 + 255*256 + 212), "aquamarine" }, | - | ||||||||||||||||||||||||
47 | { (127*65536 + 255*256 + 212), "aquamarine1" }, | - | ||||||||||||||||||||||||
48 | { (118*65536 + 238*256 + 198), "aquamarine2" }, | - | ||||||||||||||||||||||||
49 | { (102*65536 + 205*256 + 170), "aquamarine3" }, | - | ||||||||||||||||||||||||
50 | { (69*65536 + 139*256 + 116), "aquamarine4" }, | - | ||||||||||||||||||||||||
51 | { (240*65536 + 255*256 + 255), "azure" }, | - | ||||||||||||||||||||||||
52 | { (240*65536 + 255*256 + 255), "azure1" }, | - | ||||||||||||||||||||||||
53 | { (224*65536 + 238*256 + 238), "azure2" }, | - | ||||||||||||||||||||||||
54 | { (193*65536 + 205*256 + 205), "azure3" }, | - | ||||||||||||||||||||||||
55 | { (131*65536 + 139*256 + 139), "azure4" }, | - | ||||||||||||||||||||||||
56 | { (245*65536 + 245*256 + 220), "beige" }, | - | ||||||||||||||||||||||||
57 | { (255*65536 + 228*256 + 196), "bisque" }, | - | ||||||||||||||||||||||||
58 | { (255*65536 + 228*256 + 196), "bisque1" }, | - | ||||||||||||||||||||||||
59 | { (238*65536 + 213*256 + 183), "bisque2" }, | - | ||||||||||||||||||||||||
60 | { (205*65536 + 183*256 + 158), "bisque3" }, | - | ||||||||||||||||||||||||
61 | { (139*65536 + 125*256 + 107), "bisque4" }, | - | ||||||||||||||||||||||||
62 | { (0*65536 + 0*256 + 0), "black" }, | - | ||||||||||||||||||||||||
63 | { (255*65536 + 235*256 + 205), "blanchedalmond" }, | - | ||||||||||||||||||||||||
64 | { (0*65536 + 0*256 + 255), "blue" }, | - | ||||||||||||||||||||||||
65 | { (0*65536 + 0*256 + 255), "blue1" }, | - | ||||||||||||||||||||||||
66 | { (0*65536 + 0*256 + 238), "blue2" }, | - | ||||||||||||||||||||||||
67 | { (0*65536 + 0*256 + 205), "blue3" }, | - | ||||||||||||||||||||||||
68 | { (0*65536 + 0*256 + 139), "blue4" }, | - | ||||||||||||||||||||||||
69 | { (138*65536 + 43*256 + 226), "blueviolet" }, | - | ||||||||||||||||||||||||
70 | { (165*65536 + 42*256 + 42), "brown" }, | - | ||||||||||||||||||||||||
71 | { (255*65536 + 64*256 + 64), "brown1" }, | - | ||||||||||||||||||||||||
72 | { (238*65536 + 59*256 + 59), "brown2" }, | - | ||||||||||||||||||||||||
73 | { (205*65536 + 51*256 + 51), "brown3" }, | - | ||||||||||||||||||||||||
74 | { (139*65536 + 35*256 + 35), "brown4" }, | - | ||||||||||||||||||||||||
75 | { (222*65536 + 184*256 + 135), "burlywood" }, | - | ||||||||||||||||||||||||
76 | { (255*65536 + 211*256 + 155), "burlywood1" }, | - | ||||||||||||||||||||||||
77 | { (238*65536 + 197*256 + 145), "burlywood2" }, | - | ||||||||||||||||||||||||
78 | { (205*65536 + 170*256 + 125), "burlywood3" }, | - | ||||||||||||||||||||||||
79 | { (139*65536 + 115*256 + 85), "burlywood4" }, | - | ||||||||||||||||||||||||
80 | { (95*65536 + 158*256 + 160), "cadetblue" }, | - | ||||||||||||||||||||||||
81 | { (152*65536 + 245*256 + 255), "cadetblue1" }, | - | ||||||||||||||||||||||||
82 | { (142*65536 + 229*256 + 238), "cadetblue2" }, | - | ||||||||||||||||||||||||
83 | { (122*65536 + 197*256 + 205), "cadetblue3" }, | - | ||||||||||||||||||||||||
84 | { (83*65536 + 134*256 + 139), "cadetblue4" }, | - | ||||||||||||||||||||||||
85 | { (127*65536 + 255*256 + 0), "chartreuse" }, | - | ||||||||||||||||||||||||
86 | { (127*65536 + 255*256 + 0), "chartreuse1" }, | - | ||||||||||||||||||||||||
87 | { (118*65536 + 238*256 + 0), "chartreuse2" }, | - | ||||||||||||||||||||||||
88 | { (102*65536 + 205*256 + 0), "chartreuse3" }, | - | ||||||||||||||||||||||||
89 | { (69*65536 + 139*256 + 0), "chartreuse4" }, | - | ||||||||||||||||||||||||
90 | { (210*65536 + 105*256 + 30), "chocolate" }, | - | ||||||||||||||||||||||||
91 | { (255*65536 + 127*256 + 36), "chocolate1" }, | - | ||||||||||||||||||||||||
92 | { (238*65536 + 118*256 + 33), "chocolate2" }, | - | ||||||||||||||||||||||||
93 | { (205*65536 + 102*256 + 29), "chocolate3" }, | - | ||||||||||||||||||||||||
94 | { (139*65536 + 69*256 + 19), "chocolate4" }, | - | ||||||||||||||||||||||||
95 | { (255*65536 + 127*256 + 80), "coral" }, | - | ||||||||||||||||||||||||
96 | { (255*65536 + 114*256 + 86), "coral1" }, | - | ||||||||||||||||||||||||
97 | { (238*65536 + 106*256 + 80), "coral2" }, | - | ||||||||||||||||||||||||
98 | { (205*65536 + 91*256 + 69), "coral3" }, | - | ||||||||||||||||||||||||
99 | { (139*65536 + 62*256 + 47), "coral4" }, | - | ||||||||||||||||||||||||
100 | { (100*65536 + 149*256 + 237), "cornflowerblue" }, | - | ||||||||||||||||||||||||
101 | { (255*65536 + 248*256 + 220), "cornsilk" }, | - | ||||||||||||||||||||||||
102 | { (255*65536 + 248*256 + 220), "cornsilk1" }, | - | ||||||||||||||||||||||||
103 | { (238*65536 + 232*256 + 205), "cornsilk2" }, | - | ||||||||||||||||||||||||
104 | { (205*65536 + 200*256 + 177), "cornsilk3" }, | - | ||||||||||||||||||||||||
105 | { (139*65536 + 136*256 + 120), "cornsilk4" }, | - | ||||||||||||||||||||||||
106 | { (0*65536 + 255*256 + 255), "cyan" }, | - | ||||||||||||||||||||||||
107 | { (0*65536 + 255*256 + 255), "cyan1" }, | - | ||||||||||||||||||||||||
108 | { (0*65536 + 238*256 + 238), "cyan2" }, | - | ||||||||||||||||||||||||
109 | { (0*65536 + 205*256 + 205), "cyan3" }, | - | ||||||||||||||||||||||||
110 | { (0*65536 + 139*256 + 139), "cyan4" }, | - | ||||||||||||||||||||||||
111 | { (0*65536 + 0*256 + 139), "darkblue" }, | - | ||||||||||||||||||||||||
112 | { (0*65536 + 139*256 + 139), "darkcyan" }, | - | ||||||||||||||||||||||||
113 | { (184*65536 + 134*256 + 11), "darkgoldenrod" }, | - | ||||||||||||||||||||||||
114 | { (255*65536 + 185*256 + 15), "darkgoldenrod1" }, | - | ||||||||||||||||||||||||
115 | { (238*65536 + 173*256 + 14), "darkgoldenrod2" }, | - | ||||||||||||||||||||||||
116 | { (205*65536 + 149*256 + 12), "darkgoldenrod3" }, | - | ||||||||||||||||||||||||
117 | { (139*65536 + 101*256 + 8), "darkgoldenrod4" }, | - | ||||||||||||||||||||||||
118 | { (169*65536 + 169*256 + 169), "darkgray" }, | - | ||||||||||||||||||||||||
119 | { (0*65536 + 100*256 + 0), "darkgreen" }, | - | ||||||||||||||||||||||||
120 | { (169*65536 + 169*256 + 169), "darkgrey" }, | - | ||||||||||||||||||||||||
121 | { (189*65536 + 183*256 + 107), "darkkhaki" }, | - | ||||||||||||||||||||||||
122 | { (139*65536 + 0*256 + 139), "darkmagenta" }, | - | ||||||||||||||||||||||||
123 | { (85*65536 + 107*256 + 47), "darkolivegreen" }, | - | ||||||||||||||||||||||||
124 | { (202*65536 + 255*256 + 112), "darkolivegreen1" }, | - | ||||||||||||||||||||||||
125 | { (188*65536 + 238*256 + 104), "darkolivegreen2" }, | - | ||||||||||||||||||||||||
126 | { (162*65536 + 205*256 + 90), "darkolivegreen3" }, | - | ||||||||||||||||||||||||
127 | { (110*65536 + 139*256 + 61), "darkolivegreen4" }, | - | ||||||||||||||||||||||||
128 | { (255*65536 + 140*256 + 0), "darkorange" }, | - | ||||||||||||||||||||||||
129 | { (255*65536 + 127*256 + 0), "darkorange1" }, | - | ||||||||||||||||||||||||
130 | { (238*65536 + 118*256 + 0), "darkorange2" }, | - | ||||||||||||||||||||||||
131 | { (205*65536 + 102*256 + 0), "darkorange3" }, | - | ||||||||||||||||||||||||
132 | { (139*65536 + 69*256 + 0), "darkorange4" }, | - | ||||||||||||||||||||||||
133 | { (153*65536 + 50*256 + 204), "darkorchid" }, | - | ||||||||||||||||||||||||
134 | { (191*65536 + 62*256 + 255), "darkorchid1" }, | - | ||||||||||||||||||||||||
135 | { (178*65536 + 58*256 + 238), "darkorchid2" }, | - | ||||||||||||||||||||||||
136 | { (154*65536 + 50*256 + 205), "darkorchid3" }, | - | ||||||||||||||||||||||||
137 | { (104*65536 + 34*256 + 139), "darkorchid4" }, | - | ||||||||||||||||||||||||
138 | { (139*65536 + 0*256 + 0), "darkred" }, | - | ||||||||||||||||||||||||
139 | { (233*65536 + 150*256 + 122), "darksalmon" }, | - | ||||||||||||||||||||||||
140 | { (143*65536 + 188*256 + 143), "darkseagreen" }, | - | ||||||||||||||||||||||||
141 | { (193*65536 + 255*256 + 193), "darkseagreen1" }, | - | ||||||||||||||||||||||||
142 | { (180*65536 + 238*256 + 180), "darkseagreen2" }, | - | ||||||||||||||||||||||||
143 | { (155*65536 + 205*256 + 155), "darkseagreen3" }, | - | ||||||||||||||||||||||||
144 | { (105*65536 + 139*256 + 105), "darkseagreen4" }, | - | ||||||||||||||||||||||||
145 | { (72*65536 + 61*256 + 139), "darkslateblue" }, | - | ||||||||||||||||||||||||
146 | { (47*65536 + 79*256 + 79), "darkslategray" }, | - | ||||||||||||||||||||||||
147 | { (151*65536 + 255*256 + 255), "darkslategray1" }, | - | ||||||||||||||||||||||||
148 | { (141*65536 + 238*256 + 238), "darkslategray2" }, | - | ||||||||||||||||||||||||
149 | { (121*65536 + 205*256 + 205), "darkslategray3" }, | - | ||||||||||||||||||||||||
150 | { (82*65536 + 139*256 + 139), "darkslategray4" }, | - | ||||||||||||||||||||||||
151 | { (47*65536 + 79*256 + 79), "darkslategrey" }, | - | ||||||||||||||||||||||||
152 | { (0*65536 + 206*256 + 209), "darkturquoise" }, | - | ||||||||||||||||||||||||
153 | { (148*65536 + 0*256 + 211), "darkviolet" }, | - | ||||||||||||||||||||||||
154 | { (255*65536 + 20*256 + 147), "deeppink" }, | - | ||||||||||||||||||||||||
155 | { (255*65536 + 20*256 + 147), "deeppink1" }, | - | ||||||||||||||||||||||||
156 | { (238*65536 + 18*256 + 137), "deeppink2" }, | - | ||||||||||||||||||||||||
157 | { (205*65536 + 16*256 + 118), "deeppink3" }, | - | ||||||||||||||||||||||||
158 | { (139*65536 + 10*256 + 80), "deeppink4" }, | - | ||||||||||||||||||||||||
159 | { (0*65536 + 191*256 + 255), "deepskyblue" }, | - | ||||||||||||||||||||||||
160 | { (0*65536 + 191*256 + 255), "deepskyblue1" }, | - | ||||||||||||||||||||||||
161 | { (0*65536 + 178*256 + 238), "deepskyblue2" }, | - | ||||||||||||||||||||||||
162 | { (0*65536 + 154*256 + 205), "deepskyblue3" }, | - | ||||||||||||||||||||||||
163 | { (0*65536 + 104*256 + 139), "deepskyblue4" }, | - | ||||||||||||||||||||||||
164 | { (105*65536 + 105*256 + 105), "dimgray" }, | - | ||||||||||||||||||||||||
165 | { (105*65536 + 105*256 + 105), "dimgrey" }, | - | ||||||||||||||||||||||||
166 | { (30*65536 + 144*256 + 255), "dodgerblue" }, | - | ||||||||||||||||||||||||
167 | { (30*65536 + 144*256 + 255), "dodgerblue1" }, | - | ||||||||||||||||||||||||
168 | { (28*65536 + 134*256 + 238), "dodgerblue2" }, | - | ||||||||||||||||||||||||
169 | { (24*65536 + 116*256 + 205), "dodgerblue3" }, | - | ||||||||||||||||||||||||
170 | { (16*65536 + 78*256 + 139), "dodgerblue4" }, | - | ||||||||||||||||||||||||
171 | { (178*65536 + 34*256 + 34), "firebrick" }, | - | ||||||||||||||||||||||||
172 | { (255*65536 + 48*256 + 48), "firebrick1" }, | - | ||||||||||||||||||||||||
173 | { (238*65536 + 44*256 + 44), "firebrick2" }, | - | ||||||||||||||||||||||||
174 | { (205*65536 + 38*256 + 38), "firebrick3" }, | - | ||||||||||||||||||||||||
175 | { (139*65536 + 26*256 + 26), "firebrick4" }, | - | ||||||||||||||||||||||||
176 | { (255*65536 + 250*256 + 240), "floralwhite" }, | - | ||||||||||||||||||||||||
177 | { (34*65536 + 139*256 + 34), "forestgreen" }, | - | ||||||||||||||||||||||||
178 | { (220*65536 + 220*256 + 220), "gainsboro" }, | - | ||||||||||||||||||||||||
179 | { (248*65536 + 248*256 + 255), "ghostwhite" }, | - | ||||||||||||||||||||||||
180 | { (255*65536 + 215*256 + 0), "gold" }, | - | ||||||||||||||||||||||||
181 | { (255*65536 + 215*256 + 0), "gold1" }, | - | ||||||||||||||||||||||||
182 | { (238*65536 + 201*256 + 0), "gold2" }, | - | ||||||||||||||||||||||||
183 | { (205*65536 + 173*256 + 0), "gold3" }, | - | ||||||||||||||||||||||||
184 | { (139*65536 + 117*256 + 0), "gold4" }, | - | ||||||||||||||||||||||||
185 | { (218*65536 + 165*256 + 32), "goldenrod" }, | - | ||||||||||||||||||||||||
186 | { (255*65536 + 193*256 + 37), "goldenrod1" }, | - | ||||||||||||||||||||||||
187 | { (238*65536 + 180*256 + 34), "goldenrod2" }, | - | ||||||||||||||||||||||||
188 | { (205*65536 + 155*256 + 29), "goldenrod3" }, | - | ||||||||||||||||||||||||
189 | { (139*65536 + 105*256 + 20), "goldenrod4" }, | - | ||||||||||||||||||||||||
190 | { (190*65536 + 190*256 + 190), "gray" }, | - | ||||||||||||||||||||||||
191 | { (0*65536 + 0*256 + 0), "gray0" }, | - | ||||||||||||||||||||||||
192 | { (3*65536 + 3*256 + 3), "gray1" }, | - | ||||||||||||||||||||||||
193 | { (26*65536 + 26*256 + 26), "gray10" }, | - | ||||||||||||||||||||||||
194 | { (255*65536 + 255*256 + 255), "gray100" }, | - | ||||||||||||||||||||||||
195 | { (28*65536 + 28*256 + 28), "gray11" }, | - | ||||||||||||||||||||||||
196 | { (31*65536 + 31*256 + 31), "gray12" }, | - | ||||||||||||||||||||||||
197 | { (33*65536 + 33*256 + 33), "gray13" }, | - | ||||||||||||||||||||||||
198 | { (36*65536 + 36*256 + 36), "gray14" }, | - | ||||||||||||||||||||||||
199 | { (38*65536 + 38*256 + 38), "gray15" }, | - | ||||||||||||||||||||||||
200 | { (41*65536 + 41*256 + 41), "gray16" }, | - | ||||||||||||||||||||||||
201 | { (43*65536 + 43*256 + 43), "gray17" }, | - | ||||||||||||||||||||||||
202 | { (46*65536 + 46*256 + 46), "gray18" }, | - | ||||||||||||||||||||||||
203 | { (48*65536 + 48*256 + 48), "gray19" }, | - | ||||||||||||||||||||||||
204 | { (5*65536 + 5*256 + 5), "gray2" }, | - | ||||||||||||||||||||||||
205 | { (51*65536 + 51*256 + 51), "gray20" }, | - | ||||||||||||||||||||||||
206 | { (54*65536 + 54*256 + 54), "gray21" }, | - | ||||||||||||||||||||||||
207 | { (56*65536 + 56*256 + 56), "gray22" }, | - | ||||||||||||||||||||||||
208 | { (59*65536 + 59*256 + 59), "gray23" }, | - | ||||||||||||||||||||||||
209 | { (61*65536 + 61*256 + 61), "gray24" }, | - | ||||||||||||||||||||||||
210 | { (64*65536 + 64*256 + 64), "gray25" }, | - | ||||||||||||||||||||||||
211 | { (66*65536 + 66*256 + 66), "gray26" }, | - | ||||||||||||||||||||||||
212 | { (69*65536 + 69*256 + 69), "gray27" }, | - | ||||||||||||||||||||||||
213 | { (71*65536 + 71*256 + 71), "gray28" }, | - | ||||||||||||||||||||||||
214 | { (74*65536 + 74*256 + 74), "gray29" }, | - | ||||||||||||||||||||||||
215 | { (8*65536 + 8*256 + 8), "gray3" }, | - | ||||||||||||||||||||||||
216 | { (77*65536 + 77*256 + 77), "gray30" }, | - | ||||||||||||||||||||||||
217 | { (79*65536 + 79*256 + 79), "gray31" }, | - | ||||||||||||||||||||||||
218 | { (82*65536 + 82*256 + 82), "gray32" }, | - | ||||||||||||||||||||||||
219 | { (84*65536 + 84*256 + 84), "gray33" }, | - | ||||||||||||||||||||||||
220 | { (87*65536 + 87*256 + 87), "gray34" }, | - | ||||||||||||||||||||||||
221 | { (89*65536 + 89*256 + 89), "gray35" }, | - | ||||||||||||||||||||||||
222 | { (92*65536 + 92*256 + 92), "gray36" }, | - | ||||||||||||||||||||||||
223 | { (94*65536 + 94*256 + 94), "gray37" }, | - | ||||||||||||||||||||||||
224 | { (97*65536 + 97*256 + 97), "gray38" }, | - | ||||||||||||||||||||||||
225 | { (99*65536 + 99*256 + 99), "gray39" }, | - | ||||||||||||||||||||||||
226 | { (10*65536 + 10*256 + 10), "gray4" }, | - | ||||||||||||||||||||||||
227 | { (102*65536 + 102*256 + 102), "gray40" }, | - | ||||||||||||||||||||||||
228 | { (105*65536 + 105*256 + 105), "gray41" }, | - | ||||||||||||||||||||||||
229 | { (107*65536 + 107*256 + 107), "gray42" }, | - | ||||||||||||||||||||||||
230 | { (110*65536 + 110*256 + 110), "gray43" }, | - | ||||||||||||||||||||||||
231 | { (112*65536 + 112*256 + 112), "gray44" }, | - | ||||||||||||||||||||||||
232 | { (115*65536 + 115*256 + 115), "gray45" }, | - | ||||||||||||||||||||||||
233 | { (117*65536 + 117*256 + 117), "gray46" }, | - | ||||||||||||||||||||||||
234 | { (120*65536 + 120*256 + 120), "gray47" }, | - | ||||||||||||||||||||||||
235 | { (122*65536 + 122*256 + 122), "gray48" }, | - | ||||||||||||||||||||||||
236 | { (125*65536 + 125*256 + 125), "gray49" }, | - | ||||||||||||||||||||||||
237 | { (13*65536 + 13*256 + 13), "gray5" }, | - | ||||||||||||||||||||||||
238 | { (127*65536 + 127*256 + 127), "gray50" }, | - | ||||||||||||||||||||||||
239 | { (130*65536 + 130*256 + 130), "gray51" }, | - | ||||||||||||||||||||||||
240 | { (133*65536 + 133*256 + 133), "gray52" }, | - | ||||||||||||||||||||||||
241 | { (135*65536 + 135*256 + 135), "gray53" }, | - | ||||||||||||||||||||||||
242 | { (138*65536 + 138*256 + 138), "gray54" }, | - | ||||||||||||||||||||||||
243 | { (140*65536 + 140*256 + 140), "gray55" }, | - | ||||||||||||||||||||||||
244 | { (143*65536 + 143*256 + 143), "gray56" }, | - | ||||||||||||||||||||||||
245 | { (145*65536 + 145*256 + 145), "gray57" }, | - | ||||||||||||||||||||||||
246 | { (148*65536 + 148*256 + 148), "gray58" }, | - | ||||||||||||||||||||||||
247 | { (150*65536 + 150*256 + 150), "gray59" }, | - | ||||||||||||||||||||||||
248 | { (15*65536 + 15*256 + 15), "gray6" }, | - | ||||||||||||||||||||||||
249 | { (153*65536 + 153*256 + 153), "gray60" }, | - | ||||||||||||||||||||||||
250 | { (156*65536 + 156*256 + 156), "gray61" }, | - | ||||||||||||||||||||||||
251 | { (158*65536 + 158*256 + 158), "gray62" }, | - | ||||||||||||||||||||||||
252 | { (161*65536 + 161*256 + 161), "gray63" }, | - | ||||||||||||||||||||||||
253 | { (163*65536 + 163*256 + 163), "gray64" }, | - | ||||||||||||||||||||||||
254 | { (166*65536 + 166*256 + 166), "gray65" }, | - | ||||||||||||||||||||||||
255 | { (168*65536 + 168*256 + 168), "gray66" }, | - | ||||||||||||||||||||||||
256 | { (171*65536 + 171*256 + 171), "gray67" }, | - | ||||||||||||||||||||||||
257 | { (173*65536 + 173*256 + 173), "gray68" }, | - | ||||||||||||||||||||||||
258 | { (176*65536 + 176*256 + 176), "gray69" }, | - | ||||||||||||||||||||||||
259 | { (18*65536 + 18*256 + 18), "gray7" }, | - | ||||||||||||||||||||||||
260 | { (179*65536 + 179*256 + 179), "gray70" }, | - | ||||||||||||||||||||||||
261 | { (181*65536 + 181*256 + 181), "gray71" }, | - | ||||||||||||||||||||||||
262 | { (184*65536 + 184*256 + 184), "gray72" }, | - | ||||||||||||||||||||||||
263 | { (186*65536 + 186*256 + 186), "gray73" }, | - | ||||||||||||||||||||||||
264 | { (189*65536 + 189*256 + 189), "gray74" }, | - | ||||||||||||||||||||||||
265 | { (191*65536 + 191*256 + 191), "gray75" }, | - | ||||||||||||||||||||||||
266 | { (194*65536 + 194*256 + 194), "gray76" }, | - | ||||||||||||||||||||||||
267 | { (196*65536 + 196*256 + 196), "gray77" }, | - | ||||||||||||||||||||||||
268 | { (199*65536 + 199*256 + 199), "gray78" }, | - | ||||||||||||||||||||||||
269 | { (201*65536 + 201*256 + 201), "gray79" }, | - | ||||||||||||||||||||||||
270 | { (20*65536 + 20*256 + 20), "gray8" }, | - | ||||||||||||||||||||||||
271 | { (204*65536 + 204*256 + 204), "gray80" }, | - | ||||||||||||||||||||||||
272 | { (207*65536 + 207*256 + 207), "gray81" }, | - | ||||||||||||||||||||||||
273 | { (209*65536 + 209*256 + 209), "gray82" }, | - | ||||||||||||||||||||||||
274 | { (212*65536 + 212*256 + 212), "gray83" }, | - | ||||||||||||||||||||||||
275 | { (214*65536 + 214*256 + 214), "gray84" }, | - | ||||||||||||||||||||||||
276 | { (217*65536 + 217*256 + 217), "gray85" }, | - | ||||||||||||||||||||||||
277 | { (219*65536 + 219*256 + 219), "gray86" }, | - | ||||||||||||||||||||||||
278 | { (222*65536 + 222*256 + 222), "gray87" }, | - | ||||||||||||||||||||||||
279 | { (224*65536 + 224*256 + 224), "gray88" }, | - | ||||||||||||||||||||||||
280 | { (227*65536 + 227*256 + 227), "gray89" }, | - | ||||||||||||||||||||||||
281 | { (23*65536 + 23*256 + 23), "gray9" }, | - | ||||||||||||||||||||||||
282 | { (229*65536 + 229*256 + 229), "gray90" }, | - | ||||||||||||||||||||||||
283 | { (232*65536 + 232*256 + 232), "gray91" }, | - | ||||||||||||||||||||||||
284 | { (235*65536 + 235*256 + 235), "gray92" }, | - | ||||||||||||||||||||||||
285 | { (237*65536 + 237*256 + 237), "gray93" }, | - | ||||||||||||||||||||||||
286 | { (240*65536 + 240*256 + 240), "gray94" }, | - | ||||||||||||||||||||||||
287 | { (242*65536 + 242*256 + 242), "gray95" }, | - | ||||||||||||||||||||||||
288 | { (245*65536 + 245*256 + 245), "gray96" }, | - | ||||||||||||||||||||||||
289 | { (247*65536 + 247*256 + 247), "gray97" }, | - | ||||||||||||||||||||||||
290 | { (250*65536 + 250*256 + 250), "gray98" }, | - | ||||||||||||||||||||||||
291 | { (252*65536 + 252*256 + 252), "gray99" }, | - | ||||||||||||||||||||||||
292 | { (0*65536 + 255*256 + 0), "green" }, | - | ||||||||||||||||||||||||
293 | { (0*65536 + 255*256 + 0), "green1" }, | - | ||||||||||||||||||||||||
294 | { (0*65536 + 238*256 + 0), "green2" }, | - | ||||||||||||||||||||||||
295 | { (0*65536 + 205*256 + 0), "green3" }, | - | ||||||||||||||||||||||||
296 | { (0*65536 + 139*256 + 0), "green4" }, | - | ||||||||||||||||||||||||
297 | { (173*65536 + 255*256 + 47), "greenyellow" }, | - | ||||||||||||||||||||||||
298 | { (190*65536 + 190*256 + 190), "grey" }, | - | ||||||||||||||||||||||||
299 | { (0*65536 + 0*256 + 0), "grey0" }, | - | ||||||||||||||||||||||||
300 | { (3*65536 + 3*256 + 3), "grey1" }, | - | ||||||||||||||||||||||||
301 | { (26*65536 + 26*256 + 26), "grey10" }, | - | ||||||||||||||||||||||||
302 | { (255*65536 + 255*256 + 255), "grey100" }, | - | ||||||||||||||||||||||||
303 | { (28*65536 + 28*256 + 28), "grey11" }, | - | ||||||||||||||||||||||||
304 | { (31*65536 + 31*256 + 31), "grey12" }, | - | ||||||||||||||||||||||||
305 | { (33*65536 + 33*256 + 33), "grey13" }, | - | ||||||||||||||||||||||||
306 | { (36*65536 + 36*256 + 36), "grey14" }, | - | ||||||||||||||||||||||||
307 | { (38*65536 + 38*256 + 38), "grey15" }, | - | ||||||||||||||||||||||||
308 | { (41*65536 + 41*256 + 41), "grey16" }, | - | ||||||||||||||||||||||||
309 | { (43*65536 + 43*256 + 43), "grey17" }, | - | ||||||||||||||||||||||||
310 | { (46*65536 + 46*256 + 46), "grey18" }, | - | ||||||||||||||||||||||||
311 | { (48*65536 + 48*256 + 48), "grey19" }, | - | ||||||||||||||||||||||||
312 | { (5*65536 + 5*256 + 5), "grey2" }, | - | ||||||||||||||||||||||||
313 | { (51*65536 + 51*256 + 51), "grey20" }, | - | ||||||||||||||||||||||||
314 | { (54*65536 + 54*256 + 54), "grey21" }, | - | ||||||||||||||||||||||||
315 | { (56*65536 + 56*256 + 56), "grey22" }, | - | ||||||||||||||||||||||||
316 | { (59*65536 + 59*256 + 59), "grey23" }, | - | ||||||||||||||||||||||||
317 | { (61*65536 + 61*256 + 61), "grey24" }, | - | ||||||||||||||||||||||||
318 | { (64*65536 + 64*256 + 64), "grey25" }, | - | ||||||||||||||||||||||||
319 | { (66*65536 + 66*256 + 66), "grey26" }, | - | ||||||||||||||||||||||||
320 | { (69*65536 + 69*256 + 69), "grey27" }, | - | ||||||||||||||||||||||||
321 | { (71*65536 + 71*256 + 71), "grey28" }, | - | ||||||||||||||||||||||||
322 | { (74*65536 + 74*256 + 74), "grey29" }, | - | ||||||||||||||||||||||||
323 | { (8*65536 + 8*256 + 8), "grey3" }, | - | ||||||||||||||||||||||||
324 | { (77*65536 + 77*256 + 77), "grey30" }, | - | ||||||||||||||||||||||||
325 | { (79*65536 + 79*256 + 79), "grey31" }, | - | ||||||||||||||||||||||||
326 | { (82*65536 + 82*256 + 82), "grey32" }, | - | ||||||||||||||||||||||||
327 | { (84*65536 + 84*256 + 84), "grey33" }, | - | ||||||||||||||||||||||||
328 | { (87*65536 + 87*256 + 87), "grey34" }, | - | ||||||||||||||||||||||||
329 | { (89*65536 + 89*256 + 89), "grey35" }, | - | ||||||||||||||||||||||||
330 | { (92*65536 + 92*256 + 92), "grey36" }, | - | ||||||||||||||||||||||||
331 | { (94*65536 + 94*256 + 94), "grey37" }, | - | ||||||||||||||||||||||||
332 | { (97*65536 + 97*256 + 97), "grey38" }, | - | ||||||||||||||||||||||||
333 | { (99*65536 + 99*256 + 99), "grey39" }, | - | ||||||||||||||||||||||||
334 | { (10*65536 + 10*256 + 10), "grey4" }, | - | ||||||||||||||||||||||||
335 | { (102*65536 + 102*256 + 102), "grey40" }, | - | ||||||||||||||||||||||||
336 | { (105*65536 + 105*256 + 105), "grey41" }, | - | ||||||||||||||||||||||||
337 | { (107*65536 + 107*256 + 107), "grey42" }, | - | ||||||||||||||||||||||||
338 | { (110*65536 + 110*256 + 110), "grey43" }, | - | ||||||||||||||||||||||||
339 | { (112*65536 + 112*256 + 112), "grey44" }, | - | ||||||||||||||||||||||||
340 | { (115*65536 + 115*256 + 115), "grey45" }, | - | ||||||||||||||||||||||||
341 | { (117*65536 + 117*256 + 117), "grey46" }, | - | ||||||||||||||||||||||||
342 | { (120*65536 + 120*256 + 120), "grey47" }, | - | ||||||||||||||||||||||||
343 | { (122*65536 + 122*256 + 122), "grey48" }, | - | ||||||||||||||||||||||||
344 | { (125*65536 + 125*256 + 125), "grey49" }, | - | ||||||||||||||||||||||||
345 | { (13*65536 + 13*256 + 13), "grey5" }, | - | ||||||||||||||||||||||||
346 | { (127*65536 + 127*256 + 127), "grey50" }, | - | ||||||||||||||||||||||||
347 | { (130*65536 + 130*256 + 130), "grey51" }, | - | ||||||||||||||||||||||||
348 | { (133*65536 + 133*256 + 133), "grey52" }, | - | ||||||||||||||||||||||||
349 | { (135*65536 + 135*256 + 135), "grey53" }, | - | ||||||||||||||||||||||||
350 | { (138*65536 + 138*256 + 138), "grey54" }, | - | ||||||||||||||||||||||||
351 | { (140*65536 + 140*256 + 140), "grey55" }, | - | ||||||||||||||||||||||||
352 | { (143*65536 + 143*256 + 143), "grey56" }, | - | ||||||||||||||||||||||||
353 | { (145*65536 + 145*256 + 145), "grey57" }, | - | ||||||||||||||||||||||||
354 | { (148*65536 + 148*256 + 148), "grey58" }, | - | ||||||||||||||||||||||||
355 | { (150*65536 + 150*256 + 150), "grey59" }, | - | ||||||||||||||||||||||||
356 | { (15*65536 + 15*256 + 15), "grey6" }, | - | ||||||||||||||||||||||||
357 | { (153*65536 + 153*256 + 153), "grey60" }, | - | ||||||||||||||||||||||||
358 | { (156*65536 + 156*256 + 156), "grey61" }, | - | ||||||||||||||||||||||||
359 | { (158*65536 + 158*256 + 158), "grey62" }, | - | ||||||||||||||||||||||||
360 | { (161*65536 + 161*256 + 161), "grey63" }, | - | ||||||||||||||||||||||||
361 | { (163*65536 + 163*256 + 163), "grey64" }, | - | ||||||||||||||||||||||||
362 | { (166*65536 + 166*256 + 166), "grey65" }, | - | ||||||||||||||||||||||||
363 | { (168*65536 + 168*256 + 168), "grey66" }, | - | ||||||||||||||||||||||||
364 | { (171*65536 + 171*256 + 171), "grey67" }, | - | ||||||||||||||||||||||||
365 | { (173*65536 + 173*256 + 173), "grey68" }, | - | ||||||||||||||||||||||||
366 | { (176*65536 + 176*256 + 176), "grey69" }, | - | ||||||||||||||||||||||||
367 | { (18*65536 + 18*256 + 18), "grey7" }, | - | ||||||||||||||||||||||||
368 | { (179*65536 + 179*256 + 179), "grey70" }, | - | ||||||||||||||||||||||||
369 | { (181*65536 + 181*256 + 181), "grey71" }, | - | ||||||||||||||||||||||||
370 | { (184*65536 + 184*256 + 184), "grey72" }, | - | ||||||||||||||||||||||||
371 | { (186*65536 + 186*256 + 186), "grey73" }, | - | ||||||||||||||||||||||||
372 | { (189*65536 + 189*256 + 189), "grey74" }, | - | ||||||||||||||||||||||||
373 | { (191*65536 + 191*256 + 191), "grey75" }, | - | ||||||||||||||||||||||||
374 | { (194*65536 + 194*256 + 194), "grey76" }, | - | ||||||||||||||||||||||||
375 | { (196*65536 + 196*256 + 196), "grey77" }, | - | ||||||||||||||||||||||||
376 | { (199*65536 + 199*256 + 199), "grey78" }, | - | ||||||||||||||||||||||||
377 | { (201*65536 + 201*256 + 201), "grey79" }, | - | ||||||||||||||||||||||||
378 | { (20*65536 + 20*256 + 20), "grey8" }, | - | ||||||||||||||||||||||||
379 | { (204*65536 + 204*256 + 204), "grey80" }, | - | ||||||||||||||||||||||||
380 | { (207*65536 + 207*256 + 207), "grey81" }, | - | ||||||||||||||||||||||||
381 | { (209*65536 + 209*256 + 209), "grey82" }, | - | ||||||||||||||||||||||||
382 | { (212*65536 + 212*256 + 212), "grey83" }, | - | ||||||||||||||||||||||||
383 | { (214*65536 + 214*256 + 214), "grey84" }, | - | ||||||||||||||||||||||||
384 | { (217*65536 + 217*256 + 217), "grey85" }, | - | ||||||||||||||||||||||||
385 | { (219*65536 + 219*256 + 219), "grey86" }, | - | ||||||||||||||||||||||||
386 | { (222*65536 + 222*256 + 222), "grey87" }, | - | ||||||||||||||||||||||||
387 | { (224*65536 + 224*256 + 224), "grey88" }, | - | ||||||||||||||||||||||||
388 | { (227*65536 + 227*256 + 227), "grey89" }, | - | ||||||||||||||||||||||||
389 | { (23*65536 + 23*256 + 23), "grey9" }, | - | ||||||||||||||||||||||||
390 | { (229*65536 + 229*256 + 229), "grey90" }, | - | ||||||||||||||||||||||||
391 | { (232*65536 + 232*256 + 232), "grey91" }, | - | ||||||||||||||||||||||||
392 | { (235*65536 + 235*256 + 235), "grey92" }, | - | ||||||||||||||||||||||||
393 | { (237*65536 + 237*256 + 237), "grey93" }, | - | ||||||||||||||||||||||||
394 | { (240*65536 + 240*256 + 240), "grey94" }, | - | ||||||||||||||||||||||||
395 | { (242*65536 + 242*256 + 242), "grey95" }, | - | ||||||||||||||||||||||||
396 | { (245*65536 + 245*256 + 245), "grey96" }, | - | ||||||||||||||||||||||||
397 | { (247*65536 + 247*256 + 247), "grey97" }, | - | ||||||||||||||||||||||||
398 | { (250*65536 + 250*256 + 250), "grey98" }, | - | ||||||||||||||||||||||||
399 | { (252*65536 + 252*256 + 252), "grey99" }, | - | ||||||||||||||||||||||||
400 | { (240*65536 + 255*256 + 240), "honeydew" }, | - | ||||||||||||||||||||||||
401 | { (240*65536 + 255*256 + 240), "honeydew1" }, | - | ||||||||||||||||||||||||
402 | { (224*65536 + 238*256 + 224), "honeydew2" }, | - | ||||||||||||||||||||||||
403 | { (193*65536 + 205*256 + 193), "honeydew3" }, | - | ||||||||||||||||||||||||
404 | { (131*65536 + 139*256 + 131), "honeydew4" }, | - | ||||||||||||||||||||||||
405 | { (255*65536 + 105*256 + 180), "hotpink" }, | - | ||||||||||||||||||||||||
406 | { (255*65536 + 110*256 + 180), "hotpink1" }, | - | ||||||||||||||||||||||||
407 | { (238*65536 + 106*256 + 167), "hotpink2" }, | - | ||||||||||||||||||||||||
408 | { (205*65536 + 96*256 + 144), "hotpink3" }, | - | ||||||||||||||||||||||||
409 | { (139*65536 + 58*256 + 98), "hotpink4" }, | - | ||||||||||||||||||||||||
410 | { (205*65536 + 92*256 + 92), "indianred" }, | - | ||||||||||||||||||||||||
411 | { (255*65536 + 106*256 + 106), "indianred1" }, | - | ||||||||||||||||||||||||
412 | { (238*65536 + 99*256 + 99), "indianred2" }, | - | ||||||||||||||||||||||||
413 | { (205*65536 + 85*256 + 85), "indianred3" }, | - | ||||||||||||||||||||||||
414 | { (139*65536 + 58*256 + 58), "indianred4" }, | - | ||||||||||||||||||||||||
415 | { (255*65536 + 255*256 + 240), "ivory" }, | - | ||||||||||||||||||||||||
416 | { (255*65536 + 255*256 + 240), "ivory1" }, | - | ||||||||||||||||||||||||
417 | { (238*65536 + 238*256 + 224), "ivory2" }, | - | ||||||||||||||||||||||||
418 | { (205*65536 + 205*256 + 193), "ivory3" }, | - | ||||||||||||||||||||||||
419 | { (139*65536 + 139*256 + 131), "ivory4" }, | - | ||||||||||||||||||||||||
420 | { (240*65536 + 230*256 + 140), "khaki" }, | - | ||||||||||||||||||||||||
421 | { (255*65536 + 246*256 + 143), "khaki1" }, | - | ||||||||||||||||||||||||
422 | { (238*65536 + 230*256 + 133), "khaki2" }, | - | ||||||||||||||||||||||||
423 | { (205*65536 + 198*256 + 115), "khaki3" }, | - | ||||||||||||||||||||||||
424 | { (139*65536 + 134*256 + 78), "khaki4" }, | - | ||||||||||||||||||||||||
425 | { (230*65536 + 230*256 + 250), "lavender" }, | - | ||||||||||||||||||||||||
426 | { (255*65536 + 240*256 + 245), "lavenderblush" }, | - | ||||||||||||||||||||||||
427 | { (255*65536 + 240*256 + 245), "lavenderblush1" }, | - | ||||||||||||||||||||||||
428 | { (238*65536 + 224*256 + 229), "lavenderblush2" }, | - | ||||||||||||||||||||||||
429 | { (205*65536 + 193*256 + 197), "lavenderblush3" }, | - | ||||||||||||||||||||||||
430 | { (139*65536 + 131*256 + 134), "lavenderblush4" }, | - | ||||||||||||||||||||||||
431 | { (124*65536 + 252*256 + 0), "lawngreen" }, | - | ||||||||||||||||||||||||
432 | { (255*65536 + 250*256 + 205), "lemonchiffon" }, | - | ||||||||||||||||||||||||
433 | { (255*65536 + 250*256 + 205), "lemonchiffon1" }, | - | ||||||||||||||||||||||||
434 | { (238*65536 + 233*256 + 191), "lemonchiffon2" }, | - | ||||||||||||||||||||||||
435 | { (205*65536 + 201*256 + 165), "lemonchiffon3" }, | - | ||||||||||||||||||||||||
436 | { (139*65536 + 137*256 + 112), "lemonchiffon4" }, | - | ||||||||||||||||||||||||
437 | { (173*65536 + 216*256 + 230), "lightblue" }, | - | ||||||||||||||||||||||||
438 | { (191*65536 + 239*256 + 255), "lightblue1" }, | - | ||||||||||||||||||||||||
439 | { (178*65536 + 223*256 + 238), "lightblue2" }, | - | ||||||||||||||||||||||||
440 | { (154*65536 + 192*256 + 205), "lightblue3" }, | - | ||||||||||||||||||||||||
441 | { (104*65536 + 131*256 + 139), "lightblue4" }, | - | ||||||||||||||||||||||||
442 | { (240*65536 + 128*256 + 128), "lightcoral" }, | - | ||||||||||||||||||||||||
443 | { (224*65536 + 255*256 + 255), "lightcyan" }, | - | ||||||||||||||||||||||||
444 | { (224*65536 + 255*256 + 255), "lightcyan1" }, | - | ||||||||||||||||||||||||
445 | { (209*65536 + 238*256 + 238), "lightcyan2" }, | - | ||||||||||||||||||||||||
446 | { (180*65536 + 205*256 + 205), "lightcyan3" }, | - | ||||||||||||||||||||||||
447 | { (122*65536 + 139*256 + 139), "lightcyan4" }, | - | ||||||||||||||||||||||||
448 | { (238*65536 + 221*256 + 130), "lightgoldenrod" }, | - | ||||||||||||||||||||||||
449 | { (255*65536 + 236*256 + 139), "lightgoldenrod1" }, | - | ||||||||||||||||||||||||
450 | { (238*65536 + 220*256 + 130), "lightgoldenrod2" }, | - | ||||||||||||||||||||||||
451 | { (205*65536 + 190*256 + 112), "lightgoldenrod3" }, | - | ||||||||||||||||||||||||
452 | { (139*65536 + 129*256 + 76), "lightgoldenrod4" }, | - | ||||||||||||||||||||||||
453 | { (250*65536 + 250*256 + 210), "lightgoldenrodyellow" }, | - | ||||||||||||||||||||||||
454 | { (211*65536 + 211*256 + 211), "lightgray" }, | - | ||||||||||||||||||||||||
455 | { (144*65536 + 238*256 + 144), "lightgreen" }, | - | ||||||||||||||||||||||||
456 | { (211*65536 + 211*256 + 211), "lightgrey" }, | - | ||||||||||||||||||||||||
457 | { (255*65536 + 182*256 + 193), "lightpink" }, | - | ||||||||||||||||||||||||
458 | { (255*65536 + 174*256 + 185), "lightpink1" }, | - | ||||||||||||||||||||||||
459 | { (238*65536 + 162*256 + 173), "lightpink2" }, | - | ||||||||||||||||||||||||
460 | { (205*65536 + 140*256 + 149), "lightpink3" }, | - | ||||||||||||||||||||||||
461 | { (139*65536 + 95*256 + 101), "lightpink4" }, | - | ||||||||||||||||||||||||
462 | { (255*65536 + 160*256 + 122), "lightsalmon" }, | - | ||||||||||||||||||||||||
463 | { (255*65536 + 160*256 + 122), "lightsalmon1" }, | - | ||||||||||||||||||||||||
464 | { (238*65536 + 149*256 + 114), "lightsalmon2" }, | - | ||||||||||||||||||||||||
465 | { (205*65536 + 129*256 + 98), "lightsalmon3" }, | - | ||||||||||||||||||||||||
466 | { (139*65536 + 87*256 + 66), "lightsalmon4" }, | - | ||||||||||||||||||||||||
467 | { (32*65536 + 178*256 + 170), "lightseagreen" }, | - | ||||||||||||||||||||||||
468 | { (135*65536 + 206*256 + 250), "lightskyblue" }, | - | ||||||||||||||||||||||||
469 | { (176*65536 + 226*256 + 255), "lightskyblue1" }, | - | ||||||||||||||||||||||||
470 | { (164*65536 + 211*256 + 238), "lightskyblue2" }, | - | ||||||||||||||||||||||||
471 | { (141*65536 + 182*256 + 205), "lightskyblue3" }, | - | ||||||||||||||||||||||||
472 | { (96*65536 + 123*256 + 139), "lightskyblue4" }, | - | ||||||||||||||||||||||||
473 | { (132*65536 + 112*256 + 255), "lightslateblue" }, | - | ||||||||||||||||||||||||
474 | { (119*65536 + 136*256 + 153), "lightslategray" }, | - | ||||||||||||||||||||||||
475 | { (119*65536 + 136*256 + 153), "lightslategrey" }, | - | ||||||||||||||||||||||||
476 | { (176*65536 + 196*256 + 222), "lightsteelblue" }, | - | ||||||||||||||||||||||||
477 | { (202*65536 + 225*256 + 255), "lightsteelblue1" }, | - | ||||||||||||||||||||||||
478 | { (188*65536 + 210*256 + 238), "lightsteelblue2" }, | - | ||||||||||||||||||||||||
479 | { (162*65536 + 181*256 + 205), "lightsteelblue3" }, | - | ||||||||||||||||||||||||
480 | { (110*65536 + 123*256 + 139), "lightsteelblue4" }, | - | ||||||||||||||||||||||||
481 | { (255*65536 + 255*256 + 224), "lightyellow" }, | - | ||||||||||||||||||||||||
482 | { (255*65536 + 255*256 + 224), "lightyellow1" }, | - | ||||||||||||||||||||||||
483 | { (238*65536 + 238*256 + 209), "lightyellow2" }, | - | ||||||||||||||||||||||||
484 | { (205*65536 + 205*256 + 180), "lightyellow3" }, | - | ||||||||||||||||||||||||
485 | { (139*65536 + 139*256 + 122), "lightyellow4" }, | - | ||||||||||||||||||||||||
486 | { (50*65536 + 205*256 + 50), "limegreen" }, | - | ||||||||||||||||||||||||
487 | { (250*65536 + 240*256 + 230), "linen" }, | - | ||||||||||||||||||||||||
488 | { (255*65536 + 0*256 + 255), "magenta" }, | - | ||||||||||||||||||||||||
489 | { (255*65536 + 0*256 + 255), "magenta1" }, | - | ||||||||||||||||||||||||
490 | { (238*65536 + 0*256 + 238), "magenta2" }, | - | ||||||||||||||||||||||||
491 | { (205*65536 + 0*256 + 205), "magenta3" }, | - | ||||||||||||||||||||||||
492 | { (139*65536 + 0*256 + 139), "magenta4" }, | - | ||||||||||||||||||||||||
493 | { (176*65536 + 48*256 + 96), "maroon" }, | - | ||||||||||||||||||||||||
494 | { (255*65536 + 52*256 + 179), "maroon1" }, | - | ||||||||||||||||||||||||
495 | { (238*65536 + 48*256 + 167), "maroon2" }, | - | ||||||||||||||||||||||||
496 | { (205*65536 + 41*256 + 144), "maroon3" }, | - | ||||||||||||||||||||||||
497 | { (139*65536 + 28*256 + 98), "maroon4" }, | - | ||||||||||||||||||||||||
498 | { (102*65536 + 205*256 + 170), "mediumaquamarine" }, | - | ||||||||||||||||||||||||
499 | { (0*65536 + 0*256 + 205), "mediumblue" }, | - | ||||||||||||||||||||||||
500 | { (186*65536 + 85*256 + 211), "mediumorchid" }, | - | ||||||||||||||||||||||||
501 | { (224*65536 + 102*256 + 255), "mediumorchid1" }, | - | ||||||||||||||||||||||||
502 | { (209*65536 + 95*256 + 238), "mediumorchid2" }, | - | ||||||||||||||||||||||||
503 | { (180*65536 + 82*256 + 205), "mediumorchid3" }, | - | ||||||||||||||||||||||||
504 | { (122*65536 + 55*256 + 139), "mediumorchid4" }, | - | ||||||||||||||||||||||||
505 | { (147*65536 + 112*256 + 219), "mediumpurple" }, | - | ||||||||||||||||||||||||
506 | { (171*65536 + 130*256 + 255), "mediumpurple1" }, | - | ||||||||||||||||||||||||
507 | { (159*65536 + 121*256 + 238), "mediumpurple2" }, | - | ||||||||||||||||||||||||
508 | { (137*65536 + 104*256 + 205), "mediumpurple3" }, | - | ||||||||||||||||||||||||
509 | { (93*65536 + 71*256 + 139), "mediumpurple4" }, | - | ||||||||||||||||||||||||
510 | { (60*65536 + 179*256 + 113), "mediumseagreen" }, | - | ||||||||||||||||||||||||
511 | { (123*65536 + 104*256 + 238), "mediumslateblue" }, | - | ||||||||||||||||||||||||
512 | { (0*65536 + 250*256 + 154), "mediumspringgreen" }, | - | ||||||||||||||||||||||||
513 | { (72*65536 + 209*256 + 204), "mediumturquoise" }, | - | ||||||||||||||||||||||||
514 | { (199*65536 + 21*256 + 133), "mediumvioletred" }, | - | ||||||||||||||||||||||||
515 | { (25*65536 + 25*256 + 112), "midnightblue" }, | - | ||||||||||||||||||||||||
516 | { (245*65536 + 255*256 + 250), "mintcream" }, | - | ||||||||||||||||||||||||
517 | { (255*65536 + 228*256 + 225), "mistyrose" }, | - | ||||||||||||||||||||||||
518 | { (255*65536 + 228*256 + 225), "mistyrose1" }, | - | ||||||||||||||||||||||||
519 | { (238*65536 + 213*256 + 210), "mistyrose2" }, | - | ||||||||||||||||||||||||
520 | { (205*65536 + 183*256 + 181), "mistyrose3" }, | - | ||||||||||||||||||||||||
521 | { (139*65536 + 125*256 + 123), "mistyrose4" }, | - | ||||||||||||||||||||||||
522 | { (255*65536 + 228*256 + 181), "moccasin" }, | - | ||||||||||||||||||||||||
523 | { (255*65536 + 222*256 + 173), "navajowhite" }, | - | ||||||||||||||||||||||||
524 | { (255*65536 + 222*256 + 173), "navajowhite1" }, | - | ||||||||||||||||||||||||
525 | { (238*65536 + 207*256 + 161), "navajowhite2" }, | - | ||||||||||||||||||||||||
526 | { (205*65536 + 179*256 + 139), "navajowhite3" }, | - | ||||||||||||||||||||||||
527 | { (139*65536 + 121*256 + 94), "navajowhite4" }, | - | ||||||||||||||||||||||||
528 | { (0*65536 + 0*256 + 128), "navy" }, | - | ||||||||||||||||||||||||
529 | { (0*65536 + 0*256 + 128), "navyblue" }, | - | ||||||||||||||||||||||||
530 | { (253*65536 + 245*256 + 230), "oldlace" }, | - | ||||||||||||||||||||||||
531 | { (107*65536 + 142*256 + 35), "olivedrab" }, | - | ||||||||||||||||||||||||
532 | { (192*65536 + 255*256 + 62), "olivedrab1" }, | - | ||||||||||||||||||||||||
533 | { (179*65536 + 238*256 + 58), "olivedrab2" }, | - | ||||||||||||||||||||||||
534 | { (154*65536 + 205*256 + 50), "olivedrab3" }, | - | ||||||||||||||||||||||||
535 | { (105*65536 + 139*256 + 34), "olivedrab4" }, | - | ||||||||||||||||||||||||
536 | { (255*65536 + 165*256 + 0), "orange" }, | - | ||||||||||||||||||||||||
537 | { (255*65536 + 165*256 + 0), "orange1" }, | - | ||||||||||||||||||||||||
538 | { (238*65536 + 154*256 + 0), "orange2" }, | - | ||||||||||||||||||||||||
539 | { (205*65536 + 133*256 + 0), "orange3" }, | - | ||||||||||||||||||||||||
540 | { (139*65536 + 90*256 + 0), "orange4" }, | - | ||||||||||||||||||||||||
541 | { (255*65536 + 69*256 + 0), "orangered" }, | - | ||||||||||||||||||||||||
542 | { (255*65536 + 69*256 + 0), "orangered1" }, | - | ||||||||||||||||||||||||
543 | { (238*65536 + 64*256 + 0), "orangered2" }, | - | ||||||||||||||||||||||||
544 | { (205*65536 + 55*256 + 0), "orangered3" }, | - | ||||||||||||||||||||||||
545 | { (139*65536 + 37*256 + 0), "orangered4" }, | - | ||||||||||||||||||||||||
546 | { (218*65536 + 112*256 + 214), "orchid" }, | - | ||||||||||||||||||||||||
547 | { (255*65536 + 131*256 + 250), "orchid1" }, | - | ||||||||||||||||||||||||
548 | { (238*65536 + 122*256 + 233), "orchid2" }, | - | ||||||||||||||||||||||||
549 | { (205*65536 + 105*256 + 201), "orchid3" }, | - | ||||||||||||||||||||||||
550 | { (139*65536 + 71*256 + 137), "orchid4" }, | - | ||||||||||||||||||||||||
551 | { (238*65536 + 232*256 + 170), "palegoldenrod" }, | - | ||||||||||||||||||||||||
552 | { (152*65536 + 251*256 + 152), "palegreen" }, | - | ||||||||||||||||||||||||
553 | { (154*65536 + 255*256 + 154), "palegreen1" }, | - | ||||||||||||||||||||||||
554 | { (144*65536 + 238*256 + 144), "palegreen2" }, | - | ||||||||||||||||||||||||
555 | { (124*65536 + 205*256 + 124), "palegreen3" }, | - | ||||||||||||||||||||||||
556 | { (84*65536 + 139*256 + 84), "palegreen4" }, | - | ||||||||||||||||||||||||
557 | { (175*65536 + 238*256 + 238), "paleturquoise" }, | - | ||||||||||||||||||||||||
558 | { (187*65536 + 255*256 + 255), "paleturquoise1" }, | - | ||||||||||||||||||||||||
559 | { (174*65536 + 238*256 + 238), "paleturquoise2" }, | - | ||||||||||||||||||||||||
560 | { (150*65536 + 205*256 + 205), "paleturquoise3" }, | - | ||||||||||||||||||||||||
561 | { (102*65536 + 139*256 + 139), "paleturquoise4" }, | - | ||||||||||||||||||||||||
562 | { (219*65536 + 112*256 + 147), "palevioletred" }, | - | ||||||||||||||||||||||||
563 | { (255*65536 + 130*256 + 171), "palevioletred1" }, | - | ||||||||||||||||||||||||
564 | { (238*65536 + 121*256 + 159), "palevioletred2" }, | - | ||||||||||||||||||||||||
565 | { (205*65536 + 104*256 + 137), "palevioletred3" }, | - | ||||||||||||||||||||||||
566 | { (139*65536 + 71*256 + 93), "palevioletred4" }, | - | ||||||||||||||||||||||||
567 | { (255*65536 + 239*256 + 213), "papayawhip" }, | - | ||||||||||||||||||||||||
568 | { (255*65536 + 218*256 + 185), "peachpuff" }, | - | ||||||||||||||||||||||||
569 | { (255*65536 + 218*256 + 185), "peachpuff1" }, | - | ||||||||||||||||||||||||
570 | { (238*65536 + 203*256 + 173), "peachpuff2" }, | - | ||||||||||||||||||||||||
571 | { (205*65536 + 175*256 + 149), "peachpuff3" }, | - | ||||||||||||||||||||||||
572 | { (139*65536 + 119*256 + 101), "peachpuff4" }, | - | ||||||||||||||||||||||||
573 | { (205*65536 + 133*256 + 63), "peru" }, | - | ||||||||||||||||||||||||
574 | { (255*65536 + 192*256 + 203), "pink" }, | - | ||||||||||||||||||||||||
575 | { (255*65536 + 181*256 + 197), "pink1" }, | - | ||||||||||||||||||||||||
576 | { (238*65536 + 169*256 + 184), "pink2" }, | - | ||||||||||||||||||||||||
577 | { (205*65536 + 145*256 + 158), "pink3" }, | - | ||||||||||||||||||||||||
578 | { (139*65536 + 99*256 + 108), "pink4" }, | - | ||||||||||||||||||||||||
579 | { (221*65536 + 160*256 + 221), "plum" }, | - | ||||||||||||||||||||||||
580 | { (255*65536 + 187*256 + 255), "plum1" }, | - | ||||||||||||||||||||||||
581 | { (238*65536 + 174*256 + 238), "plum2" }, | - | ||||||||||||||||||||||||
582 | { (205*65536 + 150*256 + 205), "plum3" }, | - | ||||||||||||||||||||||||
583 | { (139*65536 + 102*256 + 139), "plum4" }, | - | ||||||||||||||||||||||||
584 | { (176*65536 + 224*256 + 230), "powderblue" }, | - | ||||||||||||||||||||||||
585 | { (160*65536 + 32*256 + 240), "purple" }, | - | ||||||||||||||||||||||||
586 | { (155*65536 + 48*256 + 255), "purple1" }, | - | ||||||||||||||||||||||||
587 | { (145*65536 + 44*256 + 238), "purple2" }, | - | ||||||||||||||||||||||||
588 | { (125*65536 + 38*256 + 205), "purple3" }, | - | ||||||||||||||||||||||||
589 | { (85*65536 + 26*256 + 139), "purple4" }, | - | ||||||||||||||||||||||||
590 | { (255*65536 + 0*256 + 0), "red" }, | - | ||||||||||||||||||||||||
591 | { (255*65536 + 0*256 + 0), "red1" }, | - | ||||||||||||||||||||||||
592 | { (238*65536 + 0*256 + 0), "red2" }, | - | ||||||||||||||||||||||||
593 | { (205*65536 + 0*256 + 0), "red3" }, | - | ||||||||||||||||||||||||
594 | { (139*65536 + 0*256 + 0), "red4" }, | - | ||||||||||||||||||||||||
595 | { (188*65536 + 143*256 + 143), "rosybrown" }, | - | ||||||||||||||||||||||||
596 | { (255*65536 + 193*256 + 193), "rosybrown1" }, | - | ||||||||||||||||||||||||
597 | { (238*65536 + 180*256 + 180), "rosybrown2" }, | - | ||||||||||||||||||||||||
598 | { (205*65536 + 155*256 + 155), "rosybrown3" }, | - | ||||||||||||||||||||||||
599 | { (139*65536 + 105*256 + 105), "rosybrown4" }, | - | ||||||||||||||||||||||||
600 | { (65*65536 + 105*256 + 225), "royalblue" }, | - | ||||||||||||||||||||||||
601 | { (72*65536 + 118*256 + 255), "royalblue1" }, | - | ||||||||||||||||||||||||
602 | { (67*65536 + 110*256 + 238), "royalblue2" }, | - | ||||||||||||||||||||||||
603 | { (58*65536 + 95*256 + 205), "royalblue3" }, | - | ||||||||||||||||||||||||
604 | { (39*65536 + 64*256 + 139), "royalblue4" }, | - | ||||||||||||||||||||||||
605 | { (139*65536 + 69*256 + 19), "saddlebrown" }, | - | ||||||||||||||||||||||||
606 | { (250*65536 + 128*256 + 114), "salmon" }, | - | ||||||||||||||||||||||||
607 | { (255*65536 + 140*256 + 105), "salmon1" }, | - | ||||||||||||||||||||||||
608 | { (238*65536 + 130*256 + 98), "salmon2" }, | - | ||||||||||||||||||||||||
609 | { (205*65536 + 112*256 + 84), "salmon3" }, | - | ||||||||||||||||||||||||
610 | { (139*65536 + 76*256 + 57), "salmon4" }, | - | ||||||||||||||||||||||||
611 | { (244*65536 + 164*256 + 96), "sandybrown" }, | - | ||||||||||||||||||||||||
612 | { (46*65536 + 139*256 + 87), "seagreen" }, | - | ||||||||||||||||||||||||
613 | { (84*65536 + 255*256 + 159), "seagreen1" }, | - | ||||||||||||||||||||||||
614 | { (78*65536 + 238*256 + 148), "seagreen2" }, | - | ||||||||||||||||||||||||
615 | { (67*65536 + 205*256 + 128), "seagreen3" }, | - | ||||||||||||||||||||||||
616 | { (46*65536 + 139*256 + 87), "seagreen4" }, | - | ||||||||||||||||||||||||
617 | { (255*65536 + 245*256 + 238), "seashell" }, | - | ||||||||||||||||||||||||
618 | { (255*65536 + 245*256 + 238), "seashell1" }, | - | ||||||||||||||||||||||||
619 | { (238*65536 + 229*256 + 222), "seashell2" }, | - | ||||||||||||||||||||||||
620 | { (205*65536 + 197*256 + 191), "seashell3" }, | - | ||||||||||||||||||||||||
621 | { (139*65536 + 134*256 + 130), "seashell4" }, | - | ||||||||||||||||||||||||
622 | { (160*65536 + 82*256 + 45), "sienna" }, | - | ||||||||||||||||||||||||
623 | { (255*65536 + 130*256 + 71), "sienna1" }, | - | ||||||||||||||||||||||||
624 | { (238*65536 + 121*256 + 66), "sienna2" }, | - | ||||||||||||||||||||||||
625 | { (205*65536 + 104*256 + 57), "sienna3" }, | - | ||||||||||||||||||||||||
626 | { (139*65536 + 71*256 + 38), "sienna4" }, | - | ||||||||||||||||||||||||
627 | { (135*65536 + 206*256 + 235), "skyblue" }, | - | ||||||||||||||||||||||||
628 | { (135*65536 + 206*256 + 255), "skyblue1" }, | - | ||||||||||||||||||||||||
629 | { (126*65536 + 192*256 + 238), "skyblue2" }, | - | ||||||||||||||||||||||||
630 | { (108*65536 + 166*256 + 205), "skyblue3" }, | - | ||||||||||||||||||||||||
631 | { (74*65536 + 112*256 + 139), "skyblue4" }, | - | ||||||||||||||||||||||||
632 | { (106*65536 + 90*256 + 205), "slateblue" }, | - | ||||||||||||||||||||||||
633 | { (131*65536 + 111*256 + 255), "slateblue1" }, | - | ||||||||||||||||||||||||
634 | { (122*65536 + 103*256 + 238), "slateblue2" }, | - | ||||||||||||||||||||||||
635 | { (105*65536 + 89*256 + 205), "slateblue3" }, | - | ||||||||||||||||||||||||
636 | { (71*65536 + 60*256 + 139), "slateblue4" }, | - | ||||||||||||||||||||||||
637 | { (112*65536 + 128*256 + 144), "slategray" }, | - | ||||||||||||||||||||||||
638 | { (198*65536 + 226*256 + 255), "slategray1" }, | - | ||||||||||||||||||||||||
639 | { (185*65536 + 211*256 + 238), "slategray2" }, | - | ||||||||||||||||||||||||
640 | { (159*65536 + 182*256 + 205), "slategray3" }, | - | ||||||||||||||||||||||||
641 | { (108*65536 + 123*256 + 139), "slategray4" }, | - | ||||||||||||||||||||||||
642 | { (112*65536 + 128*256 + 144), "slategrey" }, | - | ||||||||||||||||||||||||
643 | { (255*65536 + 250*256 + 250), "snow" }, | - | ||||||||||||||||||||||||
644 | { (255*65536 + 250*256 + 250), "snow1" }, | - | ||||||||||||||||||||||||
645 | { (238*65536 + 233*256 + 233), "snow2" }, | - | ||||||||||||||||||||||||
646 | { (205*65536 + 201*256 + 201), "snow3" }, | - | ||||||||||||||||||||||||
647 | { (139*65536 + 137*256 + 137), "snow4" }, | - | ||||||||||||||||||||||||
648 | { (0*65536 + 255*256 + 127), "springgreen" }, | - | ||||||||||||||||||||||||
649 | { (0*65536 + 255*256 + 127), "springgreen1" }, | - | ||||||||||||||||||||||||
650 | { (0*65536 + 238*256 + 118), "springgreen2" }, | - | ||||||||||||||||||||||||
651 | { (0*65536 + 205*256 + 102), "springgreen3" }, | - | ||||||||||||||||||||||||
652 | { (0*65536 + 139*256 + 69), "springgreen4" }, | - | ||||||||||||||||||||||||
653 | { (70*65536 + 130*256 + 180), "steelblue" }, | - | ||||||||||||||||||||||||
654 | { (99*65536 + 184*256 + 255), "steelblue1" }, | - | ||||||||||||||||||||||||
655 | { (92*65536 + 172*256 + 238), "steelblue2" }, | - | ||||||||||||||||||||||||
656 | { (79*65536 + 148*256 + 205), "steelblue3" }, | - | ||||||||||||||||||||||||
657 | { (54*65536 + 100*256 + 139), "steelblue4" }, | - | ||||||||||||||||||||||||
658 | { (210*65536 + 180*256 + 140), "tan" }, | - | ||||||||||||||||||||||||
659 | { (255*65536 + 165*256 + 79), "tan1" }, | - | ||||||||||||||||||||||||
660 | { (238*65536 + 154*256 + 73), "tan2" }, | - | ||||||||||||||||||||||||
661 | { (205*65536 + 133*256 + 63), "tan3" }, | - | ||||||||||||||||||||||||
662 | { (139*65536 + 90*256 + 43), "tan4" }, | - | ||||||||||||||||||||||||
663 | { (216*65536 + 191*256 + 216), "thistle" }, | - | ||||||||||||||||||||||||
664 | { (255*65536 + 225*256 + 255), "thistle1" }, | - | ||||||||||||||||||||||||
665 | { (238*65536 + 210*256 + 238), "thistle2" }, | - | ||||||||||||||||||||||||
666 | { (205*65536 + 181*256 + 205), "thistle3" }, | - | ||||||||||||||||||||||||
667 | { (139*65536 + 123*256 + 139), "thistle4" }, | - | ||||||||||||||||||||||||
668 | { (255*65536 + 99*256 + 71), "tomato" }, | - | ||||||||||||||||||||||||
669 | { (255*65536 + 99*256 + 71), "tomato1" }, | - | ||||||||||||||||||||||||
670 | { (238*65536 + 92*256 + 66), "tomato2" }, | - | ||||||||||||||||||||||||
671 | { (205*65536 + 79*256 + 57), "tomato3" }, | - | ||||||||||||||||||||||||
672 | { (139*65536 + 54*256 + 38), "tomato4" }, | - | ||||||||||||||||||||||||
673 | { (64*65536 + 224*256 + 208), "turquoise" }, | - | ||||||||||||||||||||||||
674 | { (0*65536 + 245*256 + 255), "turquoise1" }, | - | ||||||||||||||||||||||||
675 | { (0*65536 + 229*256 + 238), "turquoise2" }, | - | ||||||||||||||||||||||||
676 | { (0*65536 + 197*256 + 205), "turquoise3" }, | - | ||||||||||||||||||||||||
677 | { (0*65536 + 134*256 + 139), "turquoise4" }, | - | ||||||||||||||||||||||||
678 | { (238*65536 + 130*256 + 238), "violet" }, | - | ||||||||||||||||||||||||
679 | { (208*65536 + 32*256 + 144), "violetred" }, | - | ||||||||||||||||||||||||
680 | { (255*65536 + 62*256 + 150), "violetred1" }, | - | ||||||||||||||||||||||||
681 | { (238*65536 + 58*256 + 140), "violetred2" }, | - | ||||||||||||||||||||||||
682 | { (205*65536 + 50*256 + 120), "violetred3" }, | - | ||||||||||||||||||||||||
683 | { (139*65536 + 34*256 + 82), "violetred4" }, | - | ||||||||||||||||||||||||
684 | { (245*65536 + 222*256 + 179), "wheat" }, | - | ||||||||||||||||||||||||
685 | { (255*65536 + 231*256 + 186), "wheat1" }, | - | ||||||||||||||||||||||||
686 | { (238*65536 + 216*256 + 174), "wheat2" }, | - | ||||||||||||||||||||||||
687 | { (205*65536 + 186*256 + 150), "wheat3" }, | - | ||||||||||||||||||||||||
688 | { (139*65536 + 126*256 + 102), "wheat4" }, | - | ||||||||||||||||||||||||
689 | { (255*65536 + 255*256 + 255), "white" }, | - | ||||||||||||||||||||||||
690 | { (245*65536 + 245*256 + 245), "whitesmoke" }, | - | ||||||||||||||||||||||||
691 | { (255*65536 + 255*256 + 0), "yellow" }, | - | ||||||||||||||||||||||||
692 | { (255*65536 + 255*256 + 0), "yellow1" }, | - | ||||||||||||||||||||||||
693 | { (238*65536 + 238*256 + 0), "yellow2" }, | - | ||||||||||||||||||||||||
694 | { (205*65536 + 205*256 + 0), "yellow3" }, | - | ||||||||||||||||||||||||
695 | { (139*65536 + 139*256 + 0), "yellow4" }, | - | ||||||||||||||||||||||||
696 | { (154*65536 + 205*256 + 50), "yellowgreen" } }; | - | ||||||||||||||||||||||||
697 | - | |||||||||||||||||||||||||
698 | - | |||||||||||||||||||||||||
699 | - | |||||||||||||||||||||||||
700 | - | |||||||||||||||||||||||||
701 | - | |||||||||||||||||||||||||
702 | - | |||||||||||||||||||||||||
703 | inline bool operator<(const char *name, const XPMRGBData &data) | - | ||||||||||||||||||||||||
704 | { return never executed: qstrcmp(name, data.name) < 0;return qstrcmp(name, data.name) < 0; never executed: }return qstrcmp(name, data.name) < 0; | 0 | ||||||||||||||||||||||||
705 | inline bool operator<(const XPMRGBData &data, const char *name) | - | ||||||||||||||||||||||||
706 | { return never executed: qstrcmp(data.name, name) < 0;return qstrcmp(data.name, name) < 0; never executed: }return qstrcmp(data.name, name) < 0; | 0 | ||||||||||||||||||||||||
707 | - | |||||||||||||||||||||||||
708 | static inline bool qt_get_named_xpm_rgb(const char *name_no_space, QRgb *rgb) | - | ||||||||||||||||||||||||
709 | { | - | ||||||||||||||||||||||||
710 | const XPMRGBData *r = std::lower_bound(xpmRgbTbl, xpmRgbTbl + xpmRgbTblSize, name_no_space); | - | ||||||||||||||||||||||||
711 | if ((
| 0 | ||||||||||||||||||||||||
712 | *rgb = r->value; | - | ||||||||||||||||||||||||
713 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||||||||
714 | } else { | - | ||||||||||||||||||||||||
715 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
716 | } | - | ||||||||||||||||||||||||
717 | } | - | ||||||||||||||||||||||||
718 | - | |||||||||||||||||||||||||
719 | - | |||||||||||||||||||||||||
720 | - | |||||||||||||||||||||||||
721 | - | |||||||||||||||||||||||||
722 | static QString fbname(const QString &fileName) | - | ||||||||||||||||||||||||
723 | { | - | ||||||||||||||||||||||||
724 | QString s = fileName; | - | ||||||||||||||||||||||||
725 | if (!s.isEmpty()
| 0 | ||||||||||||||||||||||||
726 | int i; | - | ||||||||||||||||||||||||
727 | if ((
| 0 | ||||||||||||||||||||||||
728 | s = s.mid(i); never executed: s = s.mid(i); | 0 | ||||||||||||||||||||||||
729 | if ((
| 0 | ||||||||||||||||||||||||
730 | s = s.mid(i); never executed: s = s.mid(i); | 0 | ||||||||||||||||||||||||
731 | QRegExp r(QLatin1String("[a-zA-Z][a-zA-Z0-9_]*")); | - | ||||||||||||||||||||||||
732 | int p = r.indexIn(s); | - | ||||||||||||||||||||||||
733 | if (p == -1
| 0 | ||||||||||||||||||||||||
734 | s.clear(); never executed: s.clear(); | 0 | ||||||||||||||||||||||||
735 | else | - | ||||||||||||||||||||||||
736 | s = s.mid(p, r.matchedLength()); never executed: s = s.mid(p, r.matchedLength()); | 0 | ||||||||||||||||||||||||
737 | } | - | ||||||||||||||||||||||||
738 | if (s.isEmpty()
| 0 | ||||||||||||||||||||||||
739 | s = QString::fromLatin1("dummy"); never executed: s = QString::fromLatin1("dummy"); | 0 | ||||||||||||||||||||||||
740 | return never executed: s;return s; never executed: return s; | 0 | ||||||||||||||||||||||||
741 | } | - | ||||||||||||||||||||||||
742 | - | |||||||||||||||||||||||||
743 | - | |||||||||||||||||||||||||
744 | - | |||||||||||||||||||||||||
745 | - | |||||||||||||||||||||||||
746 | static bool read_xpm_string(QByteArray &buf, QIODevice *d, const char * const *source, int &index, | - | ||||||||||||||||||||||||
747 | QByteArray &state) | - | ||||||||||||||||||||||||
748 | { | - | ||||||||||||||||||||||||
749 | if (source
| 0 | ||||||||||||||||||||||||
750 | buf = source[index++]; | - | ||||||||||||||||||||||||
751 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||||||||
752 | } | - | ||||||||||||||||||||||||
753 | - | |||||||||||||||||||||||||
754 | buf = ""; | - | ||||||||||||||||||||||||
755 | bool gotQuote = false; | - | ||||||||||||||||||||||||
756 | int offset = 0; | - | ||||||||||||||||||||||||
757 | for(;;) { | - | ||||||||||||||||||||||||
758 | if (offset == state.size()
| 0 | ||||||||||||||||||||||||
759 | char buf[2048]; | - | ||||||||||||||||||||||||
760 | qint64 bytesRead = d->read(buf, sizeof(buf)); | - | ||||||||||||||||||||||||
761 | if (bytesRead <= 0
| 0 | ||||||||||||||||||||||||
762 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
763 | state = QByteArray(buf, int(bytesRead)); | - | ||||||||||||||||||||||||
764 | offset = 0; | - | ||||||||||||||||||||||||
765 | } never executed: end of block | 0 | ||||||||||||||||||||||||
766 | - | |||||||||||||||||||||||||
767 | if (!gotQuote
| 0 | ||||||||||||||||||||||||
768 | if (state.at(offset++) == '"'
| 0 | ||||||||||||||||||||||||
769 | gotQuote = true; never executed: gotQuote = true; | 0 | ||||||||||||||||||||||||
770 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||
771 | char c = state.at(offset++); | - | ||||||||||||||||||||||||
772 | if (c == '"'
| 0 | ||||||||||||||||||||||||
773 | break; never executed: break; | 0 | ||||||||||||||||||||||||
774 | buf += c; | - | ||||||||||||||||||||||||
775 | } never executed: end of block | 0 | ||||||||||||||||||||||||
776 | } | - | ||||||||||||||||||||||||
777 | state.remove(0, offset); | - | ||||||||||||||||||||||||
778 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||||||||
779 | } | - | ||||||||||||||||||||||||
780 | - | |||||||||||||||||||||||||
781 | - | |||||||||||||||||||||||||
782 | - | |||||||||||||||||||||||||
783 | static bool is_xpm_color_spec_prefix(const QByteArray& prefix) | - | ||||||||||||||||||||||||
784 | { | - | ||||||||||||||||||||||||
785 | return never executed: prefix == "c" ||return prefix == "c" || prefix == "g" || prefix == "g4" || prefix == "m" || prefix == "s"; never executed: return prefix == "c" || prefix == "g" || prefix == "g4" || prefix == "m" || prefix == "s"; | 0 | ||||||||||||||||||||||||
786 | prefix == "g" || never executed: return prefix == "c" || prefix == "g" || prefix == "g4" || prefix == "m" || prefix == "s"; | 0 | ||||||||||||||||||||||||
787 | prefix == "g4" || never executed: return prefix == "c" || prefix == "g" || prefix == "g4" || prefix == "m" || prefix == "s"; | 0 | ||||||||||||||||||||||||
788 | prefix == "m" || never executed: return prefix == "c" || prefix == "g" || prefix == "g4" || prefix == "m" || prefix == "s"; | 0 | ||||||||||||||||||||||||
789 | prefix == "s"; never executed: return prefix == "c" || prefix == "g" || prefix == "g4" || prefix == "m" || prefix == "s"; | 0 | ||||||||||||||||||||||||
790 | } | - | ||||||||||||||||||||||||
791 | - | |||||||||||||||||||||||||
792 | - | |||||||||||||||||||||||||
793 | - | |||||||||||||||||||||||||
794 | static bool read_xpm_header( | - | ||||||||||||||||||||||||
795 | QIODevice *device, const char * const * source, int& index, QByteArray &state, | - | ||||||||||||||||||||||||
796 | int *cpp, int *ncols, int *w, int *h) | - | ||||||||||||||||||||||||
797 | { | - | ||||||||||||||||||||||||
798 | QByteArray buf(200, 0); | - | ||||||||||||||||||||||||
799 | - | |||||||||||||||||||||||||
800 | if (!read_xpm_string(buf, device, source, index, state)
| 0 | ||||||||||||||||||||||||
801 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
802 | - | |||||||||||||||||||||||||
803 | - | |||||||||||||||||||||||||
804 | - | |||||||||||||||||||||||||
805 | - | |||||||||||||||||||||||||
806 | if (sscanf(buf, "%d %d %d %d", w, h, ncols, cpp) < 4
| 0 | ||||||||||||||||||||||||
807 | - | |||||||||||||||||||||||||
808 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
809 | - | |||||||||||||||||||||||||
810 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||||||||
811 | } | - | ||||||||||||||||||||||||
812 | - | |||||||||||||||||||||||||
813 | - | |||||||||||||||||||||||||
814 | - | |||||||||||||||||||||||||
815 | static bool read_xpm_body( | - | ||||||||||||||||||||||||
816 | QIODevice *device, const char * const * source, int& index, QByteArray& state, | - | ||||||||||||||||||||||||
817 | int cpp, int ncols, int w, int h, QImage& image) | - | ||||||||||||||||||||||||
818 | { | - | ||||||||||||||||||||||||
819 | QByteArray buf(200, 0); | - | ||||||||||||||||||||||||
820 | int i; | - | ||||||||||||||||||||||||
821 | - | |||||||||||||||||||||||||
822 | if (cpp < 0
| 0 | ||||||||||||||||||||||||
823 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
824 | - | |||||||||||||||||||||||||
825 | - | |||||||||||||||||||||||||
826 | - | |||||||||||||||||||||||||
827 | - | |||||||||||||||||||||||||
828 | - | |||||||||||||||||||||||||
829 | if (ncols <= 256
| 0 | ||||||||||||||||||||||||
830 | if (image.size() != QSize(w, h)
| 0 | ||||||||||||||||||||||||
831 | image = QImage(w, h, QImage::Format_Indexed8); | - | ||||||||||||||||||||||||
832 | if (image.isNull()
| 0 | ||||||||||||||||||||||||
833 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
834 | } never executed: end of block | 0 | ||||||||||||||||||||||||
835 | image.setColorCount(ncols); | - | ||||||||||||||||||||||||
836 | } never executed: end of block | 0 | ||||||||||||||||||||||||
837 | - | |||||||||||||||||||||||||
838 | QMap<quint64, int> colorMap; | - | ||||||||||||||||||||||||
839 | int currentColor; | - | ||||||||||||||||||||||||
840 | bool hasTransparency = false; | - | ||||||||||||||||||||||||
841 | - | |||||||||||||||||||||||||
842 | for(currentColor=0; currentColor < ncols
| 0 | ||||||||||||||||||||||||
843 | if (!read_xpm_string(buf, device, source, index, state)
| 0 | ||||||||||||||||||||||||
844 | QMessageLogger(__FILE__, 889, __PRETTY_FUNCTION__).warning("QImage: XPM color specification missing"); | - | ||||||||||||||||||||||||
845 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
846 | } | - | ||||||||||||||||||||||||
847 | QByteArray index; | - | ||||||||||||||||||||||||
848 | index = buf.left(cpp); | - | ||||||||||||||||||||||||
849 | buf = buf.mid(cpp).simplified().trimmed().toLower(); | - | ||||||||||||||||||||||||
850 | QList<QByteArray> tokens = buf.split(' '); | - | ||||||||||||||||||||||||
851 | i = tokens.indexOf("c"); | - | ||||||||||||||||||||||||
852 | if (i < 0
| 0 | ||||||||||||||||||||||||
853 | i = tokens.indexOf("g"); never executed: i = tokens.indexOf("g"); | 0 | ||||||||||||||||||||||||
854 | if (i < 0
| 0 | ||||||||||||||||||||||||
855 | i = tokens.indexOf("g4"); never executed: i = tokens.indexOf("g4"); | 0 | ||||||||||||||||||||||||
856 | if (i < 0
| 0 | ||||||||||||||||||||||||
857 | i = tokens.indexOf("m"); never executed: i = tokens.indexOf("m"); | 0 | ||||||||||||||||||||||||
858 | if (i < 0
| 0 | ||||||||||||||||||||||||
859 | QMessageLogger(__FILE__, 904, __PRETTY_FUNCTION__).warning("QImage: XPM color specification is missing: %s", buf.constData()); | - | ||||||||||||||||||||||||
860 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
861 | } | - | ||||||||||||||||||||||||
862 | QByteArray color; | - | ||||||||||||||||||||||||
863 | while ((++
| 0 | ||||||||||||||||||||||||
864 | color.append(tokens.at(i)); | - | ||||||||||||||||||||||||
865 | } never executed: end of block | 0 | ||||||||||||||||||||||||
866 | if (color.isEmpty()
| 0 | ||||||||||||||||||||||||
867 | QMessageLogger(__FILE__, 912, __PRETTY_FUNCTION__).warning("QImage: XPM color value is missing from specification: %s", buf.constData()); | - | ||||||||||||||||||||||||
868 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
869 | } | - | ||||||||||||||||||||||||
870 | buf = color; | - | ||||||||||||||||||||||||
871 | if (buf == "none"
| 0 | ||||||||||||||||||||||||
872 | hasTransparency = true; | - | ||||||||||||||||||||||||
873 | int transparentColor = currentColor; | - | ||||||||||||||||||||||||
874 | if (ncols <= 256
| 0 | ||||||||||||||||||||||||
875 | image.setColor(transparentColor, 0); | - | ||||||||||||||||||||||||
876 | colorMap.insert(xpmHash(QLatin1String(index.constData())), transparentColor); | - | ||||||||||||||||||||||||
877 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||
878 | colorMap.insert(xpmHash(QLatin1String(index.constData())), 0); | - | ||||||||||||||||||||||||
879 | } never executed: end of block | 0 | ||||||||||||||||||||||||
880 | } else { | - | ||||||||||||||||||||||||
881 | QRgb c_rgb; | - | ||||||||||||||||||||||||
882 | if (((
| 0 | ||||||||||||||||||||||||
883 | buf.truncate(((buf.length()-1) / 4 * 3) + 1); | - | ||||||||||||||||||||||||
884 | } never executed: end of block | 0 | ||||||||||||||||||||||||
885 | if (buf[0] == '#'
| 0 | ||||||||||||||||||||||||
886 | qt_get_hex_rgb(buf, &c_rgb); | - | ||||||||||||||||||||||||
887 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||
888 | qt_get_named_xpm_rgb(buf, &c_rgb); | - | ||||||||||||||||||||||||
889 | } never executed: end of block | 0 | ||||||||||||||||||||||||
890 | if (ncols <= 256
| 0 | ||||||||||||||||||||||||
891 | image.setColor(currentColor, 0xff000000 | c_rgb); | - | ||||||||||||||||||||||||
892 | colorMap.insert(xpmHash(QLatin1String(index.constData())), currentColor); | - | ||||||||||||||||||||||||
893 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||
894 | colorMap.insert(xpmHash(QLatin1String(index.constData())), 0xff000000 | c_rgb); | - | ||||||||||||||||||||||||
895 | } never executed: end of block | 0 | ||||||||||||||||||||||||
896 | } | - | ||||||||||||||||||||||||
897 | } | - | ||||||||||||||||||||||||
898 | - | |||||||||||||||||||||||||
899 | if (ncols > 256
| 0 | ||||||||||||||||||||||||
900 | - | |||||||||||||||||||||||||
901 | QImage::Format format = hasTransparency
| 0 | ||||||||||||||||||||||||
902 | QImage::Format_ARGB32 : QImage::Format_RGB32; | - | ||||||||||||||||||||||||
903 | if (image.size() != QSize(w, h)
| 0 | ||||||||||||||||||||||||
904 | image = QImage(w, h, format); | - | ||||||||||||||||||||||||
905 | if (image.isNull()
| 0 | ||||||||||||||||||||||||
906 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
907 | } never executed: end of block | 0 | ||||||||||||||||||||||||
908 | } never executed: end of block | 0 | ||||||||||||||||||||||||
909 | - | |||||||||||||||||||||||||
910 | - | |||||||||||||||||||||||||
911 | for(int y=0; y<h
| 0 | ||||||||||||||||||||||||
912 | if (!read_xpm_string(buf, device, source, index, state)
| 0 | ||||||||||||||||||||||||
913 | QMessageLogger(__FILE__, 958, __PRETTY_FUNCTION__).warning("QImage: XPM pixels missing on image line %d", y); | - | ||||||||||||||||||||||||
914 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
915 | } | - | ||||||||||||||||||||||||
916 | if (image.depth() == 8
| 0 | ||||||||||||||||||||||||
917 | uchar *p = image.scanLine(y); | - | ||||||||||||||||||||||||
918 | uchar *d = (uchar *)buf.data(); | - | ||||||||||||||||||||||||
919 | uchar *end = d + buf.length(); | - | ||||||||||||||||||||||||
920 | int x; | - | ||||||||||||||||||||||||
921 | if (cpp == 1
| 0 | ||||||||||||||||||||||||
922 | char b[2]; | - | ||||||||||||||||||||||||
923 | b[1] = '\0'; | - | ||||||||||||||||||||||||
924 | for (x=0; x<w
| 0 | ||||||||||||||||||||||||
925 | b[0] = *d++; | - | ||||||||||||||||||||||||
926 | *p++ = (uchar)colorMap[xpmHash(b)]; | - | ||||||||||||||||||||||||
927 | } never executed: end of block | 0 | ||||||||||||||||||||||||
928 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||
929 | char b[16]; | - | ||||||||||||||||||||||||
930 | b[cpp] = '\0'; | - | ||||||||||||||||||||||||
931 | for (x=0; x<w
| 0 | ||||||||||||||||||||||||
932 | memcpy(b, (char *)d, cpp); | - | ||||||||||||||||||||||||
933 | *p++ = (uchar)colorMap[xpmHash(b)]; | - | ||||||||||||||||||||||||
934 | d += cpp; | - | ||||||||||||||||||||||||
935 | } never executed: end of block | 0 | ||||||||||||||||||||||||
936 | } never executed: end of block | 0 | ||||||||||||||||||||||||
937 | - | |||||||||||||||||||||||||
938 | if (x < w
| 0 | ||||||||||||||||||||||||
939 | QMessageLogger(__FILE__, 984, __PRETTY_FUNCTION__).warning("QImage: XPM pixels missing on image line %d (possibly a C++ trigraph).", y); | - | ||||||||||||||||||||||||
940 | memset(p, 0, w - x); | - | ||||||||||||||||||||||||
941 | } never executed: end of block | 0 | ||||||||||||||||||||||||
942 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||
943 | QRgb *p = (QRgb*)image.scanLine(y); | - | ||||||||||||||||||||||||
944 | uchar *d = (uchar *)buf.data(); | - | ||||||||||||||||||||||||
945 | uchar *end = d + buf.length(); | - | ||||||||||||||||||||||||
946 | int x; | - | ||||||||||||||||||||||||
947 | char b[16]; | - | ||||||||||||||||||||||||
948 | b[cpp] = '\0'; | - | ||||||||||||||||||||||||
949 | for (x=0; x<w
| 0 | ||||||||||||||||||||||||
950 | memcpy(b, (char *)d, cpp); | - | ||||||||||||||||||||||||
951 | *p++ = (QRgb)colorMap[xpmHash(b)]; | - | ||||||||||||||||||||||||
952 | d += cpp; | - | ||||||||||||||||||||||||
953 | } never executed: end of block | 0 | ||||||||||||||||||||||||
954 | - | |||||||||||||||||||||||||
955 | if (x < w
| 0 | ||||||||||||||||||||||||
956 | QMessageLogger(__FILE__, 1001, __PRETTY_FUNCTION__).warning("QImage: XPM pixels missing on image line %d (possibly a C++ trigraph).", y); | - | ||||||||||||||||||||||||
957 | memset(p, 0, (w - x)*4); | - | ||||||||||||||||||||||||
958 | } never executed: end of block | 0 | ||||||||||||||||||||||||
959 | } never executed: end of block | 0 | ||||||||||||||||||||||||
960 | } | - | ||||||||||||||||||||||||
961 | - | |||||||||||||||||||||||||
962 | if (device
| 0 | ||||||||||||||||||||||||
963 | - | |||||||||||||||||||||||||
964 | for (int i = state.size() - 1; i >= 0
| 0 | ||||||||||||||||||||||||
965 | device->ungetChar(state[i]); never executed: device->ungetChar(state[i]); | 0 | ||||||||||||||||||||||||
966 | char c; | - | ||||||||||||||||||||||||
967 | while (device->getChar(&c)
never executed: end of block | 0 | ||||||||||||||||||||||||
968 | while (device->getChar(&c)
never executed: end of block | 0 | ||||||||||||||||||||||||
969 | } never executed: end of block | 0 | ||||||||||||||||||||||||
970 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||||||||
971 | } | - | ||||||||||||||||||||||||
972 | bool qt_read_xpm_image_or_array(QIODevice *device, const char * const * source, QImage &image) | - | ||||||||||||||||||||||||
973 | { | - | ||||||||||||||||||||||||
974 | if (!source
| 0 | ||||||||||||||||||||||||
975 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||||||||
976 | - | |||||||||||||||||||||||||
977 | QByteArray buf(200, 0); | - | ||||||||||||||||||||||||
978 | QByteArray state; | - | ||||||||||||||||||||||||
979 | - | |||||||||||||||||||||||||
980 | int cpp, ncols, w, h, index = 0; | - | ||||||||||||||||||||||||
981 | - | |||||||||||||||||||||||||
982 | if (device
| 0 | ||||||||||||||||||||||||
983 | - | |||||||||||||||||||||||||
984 | int readBytes; | - | ||||||||||||||||||||||||
985 | if ((
| 0 | ||||||||||||||||||||||||
986 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
987 | - | |||||||||||||||||||||||||
988 | if (buf.indexOf("/* XPM") != 0
| 0 | ||||||||||||||||||||||||
989 | while (readBytes > 0
| 0 | ||||||||||||||||||||||||
990 | device->ungetChar(buf.at(readBytes - 1)); | - | ||||||||||||||||||||||||
991 | --readBytes; | - | ||||||||||||||||||||||||
992 | } never executed: end of block | 0 | ||||||||||||||||||||||||
993 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
994 | } | - | ||||||||||||||||||||||||
995 | } never executed: end of block | 0 | ||||||||||||||||||||||||
996 | - | |||||||||||||||||||||||||
997 | if (!read_xpm_header(device, source, index, state, &cpp, &ncols, &w, &h)
| 0 | ||||||||||||||||||||||||
998 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
999 | - | |||||||||||||||||||||||||
1000 | return never executed: read_xpm_body(device, source, index, state, cpp, ncols, w, h, image);return read_xpm_body(device, source, index, state, cpp, ncols, w, h, image); never executed: return read_xpm_body(device, source, index, state, cpp, ncols, w, h, image); | 0 | ||||||||||||||||||||||||
1001 | } | - | ||||||||||||||||||||||||
1002 | - | |||||||||||||||||||||||||
1003 | static const char* xpm_color_name(int cpp, int index) | - | ||||||||||||||||||||||||
1004 | { | - | ||||||||||||||||||||||||
1005 | static char returnable[5]; | - | ||||||||||||||||||||||||
1006 | static const char code[] = ".#abcdefghijklmnopqrstuvwxyzABCD" | - | ||||||||||||||||||||||||
1007 | "EFGHIJKLMNOPQRSTUVWXYZ0123456789"; | - | ||||||||||||||||||||||||
1008 | - | |||||||||||||||||||||||||
1009 | if (cpp > 1
| 0 | ||||||||||||||||||||||||
1010 | if (cpp > 2
| 0 | ||||||||||||||||||||||||
1011 | if (cpp > 3
| 0 | ||||||||||||||||||||||||
1012 | returnable[3] = code[index % 64]; | - | ||||||||||||||||||||||||
1013 | index /= 64; | - | ||||||||||||||||||||||||
1014 | } never executed: elseend of block | 0 | ||||||||||||||||||||||||
1015 | returnable[3] = '\0'; never executed: returnable[3] = '\0'; | 0 | ||||||||||||||||||||||||
1016 | returnable[2] = code[index % 64]; | - | ||||||||||||||||||||||||
1017 | index /= 64; | - | ||||||||||||||||||||||||
1018 | } never executed: elseend of block | 0 | ||||||||||||||||||||||||
1019 | returnable[2] = '\0'; never executed: returnable[2] = '\0'; | 0 | ||||||||||||||||||||||||
1020 | - | |||||||||||||||||||||||||
1021 | if (index == 0
| 0 | ||||||||||||||||||||||||
1022 | index = 64*44+21; never executed: index = 64*44+21; | 0 | ||||||||||||||||||||||||
1023 | else if (index == 64*44+21
| 0 | ||||||||||||||||||||||||
1024 | index = 0; never executed: index = 0; | 0 | ||||||||||||||||||||||||
1025 | returnable[1] = code[index % 64]; | - | ||||||||||||||||||||||||
1026 | index /= 64; | - | ||||||||||||||||||||||||
1027 | } never executed: elseend of block | 0 | ||||||||||||||||||||||||
1028 | returnable[1] = '\0'; never executed: returnable[1] = '\0'; | 0 | ||||||||||||||||||||||||
1029 | returnable[0] = code[index]; | - | ||||||||||||||||||||||||
1030 | - | |||||||||||||||||||||||||
1031 | return never executed: returnable;return returnable; never executed: return returnable; | 0 | ||||||||||||||||||||||||
1032 | } | - | ||||||||||||||||||||||||
1033 | - | |||||||||||||||||||||||||
1034 | - | |||||||||||||||||||||||||
1035 | - | |||||||||||||||||||||||||
1036 | static bool write_xpm_image(const QImage &sourceImage, QIODevice *device, const QString &fileName) | - | ||||||||||||||||||||||||
1037 | { | - | ||||||||||||||||||||||||
1038 | if (!device->isWritable()
| 0 | ||||||||||||||||||||||||
1039 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
1040 | - | |||||||||||||||||||||||||
1041 | QImage image; | - | ||||||||||||||||||||||||
1042 | if (sourceImage.format() != QImage::Format_RGB32
| 0 | ||||||||||||||||||||||||
1043 | image = sourceImage.convertToFormat(QImage::Format_RGB32); never executed: image = sourceImage.convertToFormat(QImage::Format_RGB32); | 0 | ||||||||||||||||||||||||
1044 | else | - | ||||||||||||||||||||||||
1045 | image = sourceImage; never executed: image = sourceImage; | 0 | ||||||||||||||||||||||||
1046 | - | |||||||||||||||||||||||||
1047 | QMap<QRgb, int> colorMap; | - | ||||||||||||||||||||||||
1048 | - | |||||||||||||||||||||||||
1049 | int w = image.width(), h = image.height(), ncolors = 0; | - | ||||||||||||||||||||||||
1050 | int x, y; | - | ||||||||||||||||||||||||
1051 | - | |||||||||||||||||||||||||
1052 | - | |||||||||||||||||||||||||
1053 | for(y=0; y<h
| 0 | ||||||||||||||||||||||||
1054 | const QRgb *yp = reinterpret_cast<const QRgb *>(image.constScanLine(y)); | - | ||||||||||||||||||||||||
1055 | for(x=0; x<w
| 0 | ||||||||||||||||||||||||
1056 | QRgb color = *(yp + x); | - | ||||||||||||||||||||||||
1057 | if (!colorMap.contains(color)
| 0 | ||||||||||||||||||||||||
1058 | colorMap.insert(color, ncolors++); never executed: colorMap.insert(color, ncolors++); | 0 | ||||||||||||||||||||||||
1059 | } never executed: end of block | 0 | ||||||||||||||||||||||||
1060 | } never executed: end of block | 0 | ||||||||||||||||||||||||
1061 | - | |||||||||||||||||||||||||
1062 | - | |||||||||||||||||||||||||
1063 | int cpp = 1; | - | ||||||||||||||||||||||||
1064 | for (int k = 64; ncolors > k
| 0 | ||||||||||||||||||||||||
1065 | ++cpp; | - | ||||||||||||||||||||||||
1066 | - | |||||||||||||||||||||||||
1067 | - | |||||||||||||||||||||||||
1068 | if (cpp > 4
| 0 | ||||||||||||||||||||||||
1069 | break; never executed: break; | 0 | ||||||||||||||||||||||||
1070 | } never executed: end of block | 0 | ||||||||||||||||||||||||
1071 | - | |||||||||||||||||||||||||
1072 | QString line; | - | ||||||||||||||||||||||||
1073 | - | |||||||||||||||||||||||||
1074 | - | |||||||||||||||||||||||||
1075 | QTextStream s(device); | - | ||||||||||||||||||||||||
1076 | s << "/* XPM */" << endl | - | ||||||||||||||||||||||||
1077 | << "static char *" << fbname(fileName) << "[]={" << endl | - | ||||||||||||||||||||||||
1078 | << '\"' << w << ' ' << h << ' ' << ncolors << ' ' << cpp << '\"'; | - | ||||||||||||||||||||||||
1079 | - | |||||||||||||||||||||||||
1080 | - | |||||||||||||||||||||||||
1081 | QMap<QRgb, int>::Iterator c = colorMap.begin(); | - | ||||||||||||||||||||||||
1082 | while (c != colorMap.end()
| 0 | ||||||||||||||||||||||||
1083 | QRgb color = c.key(); | - | ||||||||||||||||||||||||
1084 | if (image.format() != QImage::Format_RGB32
| 0 | ||||||||||||||||||||||||
1085 | line = QString::asprintf("\"%s c None\"", never executed: line = QString::asprintf("\"%s c None\"", xpm_color_name(cpp, *c)); | 0 | ||||||||||||||||||||||||
1086 | xpm_color_name(cpp, *c)); never executed: line = QString::asprintf("\"%s c None\"", xpm_color_name(cpp, *c)); | 0 | ||||||||||||||||||||||||
1087 | else | - | ||||||||||||||||||||||||
1088 | line = QString::asprintf("\"%s c #%02x%02x%02x\"", never executed: line = QString::asprintf("\"%s c #%02x%02x%02x\"", xpm_color_name(cpp, *c), qRed(color), qGreen(color), qBlue(color)); | 0 | ||||||||||||||||||||||||
1089 | xpm_color_name(cpp, *c), never executed: line = QString::asprintf("\"%s c #%02x%02x%02x\"", xpm_color_name(cpp, *c), qRed(color), qGreen(color), qBlue(color)); | 0 | ||||||||||||||||||||||||
1090 | qRed(color), never executed: line = QString::asprintf("\"%s c #%02x%02x%02x\"", xpm_color_name(cpp, *c), qRed(color), qGreen(color), qBlue(color)); | 0 | ||||||||||||||||||||||||
1091 | qGreen(color), never executed: line = QString::asprintf("\"%s c #%02x%02x%02x\"", xpm_color_name(cpp, *c), qRed(color), qGreen(color), qBlue(color)); | 0 | ||||||||||||||||||||||||
1092 | qBlue(color)); never executed: line = QString::asprintf("\"%s c #%02x%02x%02x\"", xpm_color_name(cpp, *c), qRed(color), qGreen(color), qBlue(color)); | 0 | ||||||||||||||||||||||||
1093 | ++c; | - | ||||||||||||||||||||||||
1094 | s << ',' << endl << line; | - | ||||||||||||||||||||||||
1095 | } never executed: end of block | 0 | ||||||||||||||||||||||||
1096 | - | |||||||||||||||||||||||||
1097 | - | |||||||||||||||||||||||||
1098 | line.truncate(cpp*w); | - | ||||||||||||||||||||||||
1099 | for(y=0; y<h
| 0 | ||||||||||||||||||||||||
1100 | const QRgb *yp = reinterpret_cast<const QRgb *>(image.constScanLine(y)); | - | ||||||||||||||||||||||||
1101 | int cc = 0; | - | ||||||||||||||||||||||||
1102 | for(x=0; x<w
| 0 | ||||||||||||||||||||||||
1103 | int color = (int)(*(yp + x)); | - | ||||||||||||||||||||||||
1104 | const QByteArray chars(xpm_color_name(cpp, colorMap[color])); | - | ||||||||||||||||||||||||
1105 | line[cc++] = QLatin1Char(chars[0]); | - | ||||||||||||||||||||||||
1106 | if (cpp > 1
| 0 | ||||||||||||||||||||||||
1107 | line[cc++] = QLatin1Char(chars[1]); | - | ||||||||||||||||||||||||
1108 | if (cpp > 2
| 0 | ||||||||||||||||||||||||
1109 | line[cc++] = QLatin1Char(chars[2]); | - | ||||||||||||||||||||||||
1110 | if (cpp > 3
| 0 | ||||||||||||||||||||||||
1111 | line[cc++] = QLatin1Char(chars[3]); | - | ||||||||||||||||||||||||
1112 | } never executed: end of block | 0 | ||||||||||||||||||||||||
1113 | } never executed: end of block | 0 | ||||||||||||||||||||||||
1114 | } never executed: end of block | 0 | ||||||||||||||||||||||||
1115 | } never executed: end of block | 0 | ||||||||||||||||||||||||
1116 | s << ',' << endl << '\"' << line << '\"'; | - | ||||||||||||||||||||||||
1117 | } never executed: end of block | 0 | ||||||||||||||||||||||||
1118 | s << "};" << endl; | - | ||||||||||||||||||||||||
1119 | return never executed: (s.status() == QTextStream::Ok);return (s.status() == QTextStream::Ok); never executed: return (s.status() == QTextStream::Ok); | 0 | ||||||||||||||||||||||||
1120 | } | - | ||||||||||||||||||||||||
1121 | - | |||||||||||||||||||||||||
1122 | QXpmHandler::QXpmHandler() | - | ||||||||||||||||||||||||
1123 | : state(Ready), index(0) | - | ||||||||||||||||||||||||
1124 | { | - | ||||||||||||||||||||||||
1125 | } never executed: end of block | 0 | ||||||||||||||||||||||||
1126 | - | |||||||||||||||||||||||||
1127 | bool QXpmHandler::readHeader() | - | ||||||||||||||||||||||||
1128 | { | - | ||||||||||||||||||||||||
1129 | state = Error; | - | ||||||||||||||||||||||||
1130 | if (!read_xpm_header(device(), 0, index, buffer, &cpp, &ncols, &width, &height)
| 0 | ||||||||||||||||||||||||
1131 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
1132 | state = ReadHeader; | - | ||||||||||||||||||||||||
1133 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||||||||
1134 | } | - | ||||||||||||||||||||||||
1135 | - | |||||||||||||||||||||||||
1136 | bool QXpmHandler::readImage(QImage *image) | - | ||||||||||||||||||||||||
1137 | { | - | ||||||||||||||||||||||||
1138 | if (state == Error
| 0 | ||||||||||||||||||||||||
1139 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
1140 | - | |||||||||||||||||||||||||
1141 | if (state == Ready
| 0 | ||||||||||||||||||||||||
1142 | state = Error; | - | ||||||||||||||||||||||||
1143 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
1144 | } | - | ||||||||||||||||||||||||
1145 | - | |||||||||||||||||||||||||
1146 | if (!read_xpm_body(device(), 0, index, buffer, cpp, ncols, width, height, *image)
| 0 | ||||||||||||||||||||||||
1147 | state = Error; | - | ||||||||||||||||||||||||
1148 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
1149 | } | - | ||||||||||||||||||||||||
1150 | - | |||||||||||||||||||||||||
1151 | state = Ready; | - | ||||||||||||||||||||||||
1152 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||||||||
1153 | } | - | ||||||||||||||||||||||||
1154 | - | |||||||||||||||||||||||||
1155 | bool QXpmHandler::canRead() const | - | ||||||||||||||||||||||||
1156 | { | - | ||||||||||||||||||||||||
1157 | if (state == Ready
| 0 | ||||||||||||||||||||||||
1158 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
1159 | - | |||||||||||||||||||||||||
1160 | if (state != Error
| 0 | ||||||||||||||||||||||||
1161 | setFormat("xpm"); | - | ||||||||||||||||||||||||
1162 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||||||||||||||
1163 | } | - | ||||||||||||||||||||||||
1164 | - | |||||||||||||||||||||||||
1165 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
1166 | } | - | ||||||||||||||||||||||||
1167 | - | |||||||||||||||||||||||||
1168 | bool QXpmHandler::canRead(QIODevice *device) | - | ||||||||||||||||||||||||
1169 | { | - | ||||||||||||||||||||||||
1170 | if (!device
| 0 | ||||||||||||||||||||||||
1171 | QMessageLogger(__FILE__, 1224, __PRETTY_FUNCTION__).warning("QXpmHandler::canRead() called with no device"); | - | ||||||||||||||||||||||||
1172 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
1173 | } | - | ||||||||||||||||||||||||
1174 | - | |||||||||||||||||||||||||
1175 | char head[6]; | - | ||||||||||||||||||||||||
1176 | if (device->peek(head, sizeof(head)) != sizeof(head)
| 0 | ||||||||||||||||||||||||
1177 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
1178 | - | |||||||||||||||||||||||||
1179 | return never executed: qstrncmp(head, "/* XPM", 6) == 0;return qstrncmp(head, "/* XPM", 6) == 0; never executed: return qstrncmp(head, "/* XPM", 6) == 0; | 0 | ||||||||||||||||||||||||
1180 | } | - | ||||||||||||||||||||||||
1181 | - | |||||||||||||||||||||||||
1182 | bool QXpmHandler::read(QImage *image) | - | ||||||||||||||||||||||||
1183 | { | - | ||||||||||||||||||||||||
1184 | if (!canRead()
| 0 | ||||||||||||||||||||||||
1185 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||||||||||||||
1186 | return never executed: readImage(image);return readImage(image); never executed: return readImage(image); | 0 | ||||||||||||||||||||||||
1187 | } | - | ||||||||||||||||||||||||
1188 | - | |||||||||||||||||||||||||
1189 | bool QXpmHandler::write(const QImage &image) | - | ||||||||||||||||||||||||
1190 | { | - | ||||||||||||||||||||||||
1191 | return never executed: write_xpm_image(image, device(), fileName);return write_xpm_image(image, device(), fileName); never executed: return write_xpm_image(image, device(), fileName); | 0 | ||||||||||||||||||||||||
1192 | } | - | ||||||||||||||||||||||||
1193 | - | |||||||||||||||||||||||||
1194 | bool QXpmHandler::supportsOption(ImageOption option) const | - | ||||||||||||||||||||||||
1195 | { | - | ||||||||||||||||||||||||
1196 | return never executed: option == Namereturn option == Name || option == Size || option == ImageFormat; never executed: return option == Name || option == Size || option == ImageFormat; | 0 | ||||||||||||||||||||||||
1197 | || option == Size never executed: return option == Name || option == Size || option == ImageFormat; | 0 | ||||||||||||||||||||||||
1198 | || option == ImageFormat; never executed: return option == Name || option == Size || option == ImageFormat; | 0 | ||||||||||||||||||||||||
1199 | } | - | ||||||||||||||||||||||||
1200 | - | |||||||||||||||||||||||||
1201 | QVariant QXpmHandler::option(ImageOption option) const | - | ||||||||||||||||||||||||
1202 | { | - | ||||||||||||||||||||||||
1203 | if (option == Name
| 0 | ||||||||||||||||||||||||
1204 | return never executed: fileName;return fileName; never executed: return fileName; | 0 | ||||||||||||||||||||||||
1205 | } else if (option == Size
| 0 | ||||||||||||||||||||||||
1206 | if (state == Error
| 0 | ||||||||||||||||||||||||
1207 | return never executed: QVariant();return QVariant(); never executed: return QVariant(); | 0 | ||||||||||||||||||||||||
1208 | if (state == Ready
| 0 | ||||||||||||||||||||||||
1209 | return never executed: QVariant();return QVariant(); never executed: return QVariant(); | 0 | ||||||||||||||||||||||||
1210 | return never executed: QSize(width, height);return QSize(width, height); never executed: return QSize(width, height); | 0 | ||||||||||||||||||||||||
1211 | } else if (option == ImageFormat
| 0 | ||||||||||||||||||||||||
1212 | if (state == Error
| 0 | ||||||||||||||||||||||||
1213 | return never executed: QVariant();return QVariant(); never executed: return QVariant(); | 0 | ||||||||||||||||||||||||
1214 | if (state == Ready
| 0 | ||||||||||||||||||||||||
1215 | return never executed: QVariant();return QVariant(); never executed: return QVariant(); | 0 | ||||||||||||||||||||||||
1216 | - | |||||||||||||||||||||||||
1217 | - | |||||||||||||||||||||||||
1218 | - | |||||||||||||||||||||||||
1219 | - | |||||||||||||||||||||||||
1220 | if (ncols <= 256
| 0 | ||||||||||||||||||||||||
1221 | return never executed: QImage::Format_Indexed8;return QImage::Format_Indexed8; never executed: return QImage::Format_Indexed8; | 0 | ||||||||||||||||||||||||
1222 | else | - | ||||||||||||||||||||||||
1223 | return never executed: QImage::Format_Invalid;return QImage::Format_Invalid; never executed: return QImage::Format_Invalid; | 0 | ||||||||||||||||||||||||
1224 | } | - | ||||||||||||||||||||||||
1225 | - | |||||||||||||||||||||||||
1226 | return never executed: QVariant();return QVariant(); never executed: return QVariant(); | 0 | ||||||||||||||||||||||||
1227 | } | - | ||||||||||||||||||||||||
1228 | - | |||||||||||||||||||||||||
1229 | void QXpmHandler::setOption(ImageOption option, const QVariant &value) | - | ||||||||||||||||||||||||
1230 | { | - | ||||||||||||||||||||||||
1231 | if (option == Name
| 0 | ||||||||||||||||||||||||
1232 | fileName = value.toString(); never executed: fileName = value.toString(); | 0 | ||||||||||||||||||||||||
1233 | } never executed: end of block | 0 | ||||||||||||||||||||||||
1234 | - | |||||||||||||||||||||||||
1235 | QByteArray QXpmHandler::name() const | - | ||||||||||||||||||||||||
1236 | { | - | ||||||||||||||||||||||||
1237 | return never executed: "xpm";return "xpm"; never executed: return "xpm"; | 0 | ||||||||||||||||||||||||
1238 | } | - | ||||||||||||||||||||||||
1239 | - | |||||||||||||||||||||||||
1240 | - | |||||||||||||||||||||||||
Switch to Source code | Preprocessed file |