Updated German translation
[dasher.git] / Src / DasherCore / ColourIO.cpp
blobb7d7b04902736786cd36a07a8228830dedef5641
1 // ColourIO.cpp
2 //
3 // Copyright (c) 2002 Iain Murray
5 #include "../Common/Common.h"
7 #include "ColourIO.h"
8 #include <cstring>
10 using namespace Dasher;
11 using namespace std;
12 //using namespace expat;
14 // Track memory leaks on Windows to the line that new'd the memory
15 #ifdef _WIN32
16 #ifdef _DEBUG
17 #define DEBUG_NEW new( _NORMAL_BLOCK, THIS_FILE, __LINE__ )
18 #define new DEBUG_NEW
19 #undef THIS_FILE
20 static char THIS_FILE[] = __FILE__;
21 #endif
22 #endif
24 // TODO: Share information with AlphIO class?
26 CColourIO::CColourIO(CMessageDisplay *pMsgs) : AbstractXMLParser(pMsgs), BlankInfo() {
27 CreateDefault();
30 void CColourIO::GetColours(std::vector <std::string >*ColourList) const {
31 ColourList->clear();
33 typedef std::map < std::string, ColourInfo >::const_iterator CI;
34 CI End = Colours.end();
36 for(CI Cur = Colours.begin(); Cur != End; Cur++)
37 ColourList->push_back((*Cur).second.ColourID);
40 const CColourIO::ColourInfo & CColourIO::GetInfo(const std::string &ColourID) {
41 if(ColourID == "") // return Default if no colour scheme is specified
42 return Colours["Default"];
43 else {
44 if(Colours.count(ColourID) != 0) {
45 Colours[ColourID].ColourID = ColourID; // Ensure consistency
46 return Colours[ColourID];
48 else {
49 // if we don't have the colour scheme they asked for, return default
50 return Colours["Default"];
55 void CColourIO::CreateDefault() {
56 // TODO: Urgh - replace with a table
58 ColourInfo & Default = Colours["Default"];
59 Default.ColourID = "Default";
60 Default.Mutable = false;
61 Default.Reds.push_back(255);
62 Default.Greens.push_back(255);
63 Default.Blues.push_back(255);
64 Default.Reds.push_back(255);
65 Default.Greens.push_back(0);
66 Default.Blues.push_back(0);
67 Default.Reds.push_back(0);
68 Default.Greens.push_back(0);
69 Default.Blues.push_back(0);
70 Default.Reds.push_back(218);
71 Default.Greens.push_back(218);
72 Default.Blues.push_back(218);
73 Default.Reds.push_back(0);
74 Default.Greens.push_back(0);
75 Default.Blues.push_back(0);
76 Default.Reds.push_back(0);
77 Default.Greens.push_back(0);
78 Default.Blues.push_back(0);
79 Default.Reds.push_back(0);
80 Default.Greens.push_back(0);
81 Default.Blues.push_back(0);
82 Default.Reds.push_back(180);
83 Default.Greens.push_back(238);
84 Default.Blues.push_back(180);
85 Default.Reds.push_back(80);
86 Default.Greens.push_back(80);
87 Default.Blues.push_back(80);
88 Default.Reds.push_back(235);
89 Default.Greens.push_back(235);
90 Default.Blues.push_back(235);
91 Default.Reds.push_back(0);
92 Default.Greens.push_back(255);
93 Default.Blues.push_back(255);
94 Default.Reds.push_back(180);
95 Default.Greens.push_back(238);
96 Default.Blues.push_back(180);
97 Default.Reds.push_back(155);
98 Default.Greens.push_back(205);
99 Default.Blues.push_back(155);
100 Default.Reds.push_back(0);
101 Default.Greens.push_back(255);
102 Default.Blues.push_back(255);
103 Default.Reds.push_back(180);
104 Default.Greens.push_back(238);
105 Default.Blues.push_back(180);
106 Default.Reds.push_back(155);
107 Default.Greens.push_back(205);
108 Default.Blues.push_back(155);
109 Default.Reds.push_back(0);
110 Default.Greens.push_back(255);
111 Default.Blues.push_back(255);
112 Default.Reds.push_back(180);
113 Default.Greens.push_back(238);
114 Default.Blues.push_back(180);
115 Default.Reds.push_back(155);
116 Default.Greens.push_back(205);
117 Default.Blues.push_back(155);
118 Default.Reds.push_back(0);
119 Default.Greens.push_back(255);
120 Default.Blues.push_back(255);
121 Default.Reds.push_back(180);
122 Default.Greens.push_back(238);
123 Default.Blues.push_back(180);
124 Default.Reds.push_back(155);
125 Default.Greens.push_back(205);
126 Default.Blues.push_back(155);
127 Default.Reds.push_back(0);
128 Default.Greens.push_back(255);
129 Default.Blues.push_back(255);
130 Default.Reds.push_back(180);
131 Default.Greens.push_back(238);
132 Default.Blues.push_back(180);
133 Default.Reds.push_back(155);
134 Default.Greens.push_back(205);
135 Default.Blues.push_back(155);
136 Default.Reds.push_back(0);
137 Default.Greens.push_back(255);
138 Default.Blues.push_back(255);
139 Default.Reds.push_back(180);
140 Default.Greens.push_back(238);
141 Default.Blues.push_back(180);
142 Default.Reds.push_back(155);
143 Default.Greens.push_back(205);
144 Default.Blues.push_back(155);
145 Default.Reds.push_back(0);
146 Default.Greens.push_back(255);
147 Default.Blues.push_back(255);
148 Default.Reds.push_back(180);
149 Default.Greens.push_back(238);
150 Default.Blues.push_back(180);
151 Default.Reds.push_back(155);
152 Default.Greens.push_back(205);
153 Default.Blues.push_back(155);
154 Default.Reds.push_back(0);
155 Default.Greens.push_back(255);
156 Default.Blues.push_back(255);
157 Default.Reds.push_back(180);
158 Default.Greens.push_back(238);
159 Default.Blues.push_back(180);
160 Default.Reds.push_back(155);
161 Default.Greens.push_back(205);
162 Default.Blues.push_back(155);
163 Default.Reds.push_back(0);
164 Default.Greens.push_back(255);
165 Default.Blues.push_back(255);
166 Default.Reds.push_back(180);
167 Default.Greens.push_back(238);
168 Default.Blues.push_back(180);
169 Default.Reds.push_back(155);
170 Default.Greens.push_back(205);
171 Default.Blues.push_back(155);
172 Default.Reds.push_back(0);
173 Default.Greens.push_back(255);
174 Default.Blues.push_back(255);
175 Default.Reds.push_back(180);
176 Default.Greens.push_back(238);
177 Default.Blues.push_back(180);
178 Default.Reds.push_back(155);
179 Default.Greens.push_back(205);
180 Default.Blues.push_back(155);
181 Default.Reds.push_back(0);
182 Default.Greens.push_back(255);
183 Default.Blues.push_back(255);
184 Default.Reds.push_back(180);
185 Default.Greens.push_back(238);
186 Default.Blues.push_back(180);
187 Default.Reds.push_back(155);
188 Default.Greens.push_back(205);
189 Default.Blues.push_back(155);
190 Default.Reds.push_back(0);
191 Default.Greens.push_back(255);
192 Default.Blues.push_back(255);
193 Default.Reds.push_back(180);
194 Default.Greens.push_back(238);
195 Default.Blues.push_back(180);
196 Default.Reds.push_back(155);
197 Default.Greens.push_back(205);
198 Default.Blues.push_back(155);
199 Default.Reds.push_back(0);
200 Default.Greens.push_back(255);
201 Default.Blues.push_back(255);
202 Default.Reds.push_back(180);
203 Default.Greens.push_back(238);
204 Default.Blues.push_back(180);
205 Default.Reds.push_back(155);
206 Default.Greens.push_back(205);
207 Default.Blues.push_back(155);
208 Default.Reds.push_back(0);
209 Default.Greens.push_back(255);
210 Default.Blues.push_back(255);
211 Default.Reds.push_back(180);
212 Default.Greens.push_back(238);
213 Default.Blues.push_back(180);
214 Default.Reds.push_back(155);
215 Default.Greens.push_back(205);
216 Default.Blues.push_back(155);
217 Default.Reds.push_back(0);
218 Default.Greens.push_back(255);
219 Default.Blues.push_back(255);
220 Default.Reds.push_back(180);
221 Default.Greens.push_back(238);
222 Default.Blues.push_back(180);
223 Default.Reds.push_back(155);
224 Default.Greens.push_back(205);
225 Default.Blues.push_back(155);
226 Default.Reds.push_back(0);
227 Default.Greens.push_back(255);
228 Default.Blues.push_back(255);
229 Default.Reds.push_back(180);
230 Default.Greens.push_back(238);
231 Default.Blues.push_back(180);
232 Default.Reds.push_back(155);
233 Default.Greens.push_back(205);
234 Default.Blues.push_back(155);
235 Default.Reds.push_back(0);
236 Default.Greens.push_back(255);
237 Default.Blues.push_back(255);
238 Default.Reds.push_back(180);
239 Default.Greens.push_back(238);
240 Default.Blues.push_back(180);
241 Default.Reds.push_back(155);
242 Default.Greens.push_back(205);
243 Default.Blues.push_back(155);
244 Default.Reds.push_back(0);
245 Default.Greens.push_back(255);
246 Default.Blues.push_back(255);
247 Default.Reds.push_back(180);
248 Default.Greens.push_back(238);
249 Default.Blues.push_back(180);
250 Default.Reds.push_back(155);
251 Default.Greens.push_back(205);
252 Default.Blues.push_back(155);
253 Default.Reds.push_back(0);
254 Default.Greens.push_back(255);
255 Default.Blues.push_back(255);
256 Default.Reds.push_back(180);
257 Default.Greens.push_back(238);
258 Default.Blues.push_back(180);
259 Default.Reds.push_back(155);
260 Default.Greens.push_back(205);
261 Default.Blues.push_back(155);
262 Default.Reds.push_back(0);
263 Default.Greens.push_back(255);
264 Default.Blues.push_back(255);
265 Default.Reds.push_back(180);
266 Default.Greens.push_back(238);
267 Default.Blues.push_back(180);
268 Default.Reds.push_back(155);
269 Default.Greens.push_back(205);
270 Default.Blues.push_back(155);
271 Default.Reds.push_back(0);
272 Default.Greens.push_back(255);
273 Default.Blues.push_back(255);
274 Default.Reds.push_back(180);
275 Default.Greens.push_back(238);
276 Default.Blues.push_back(180);
277 Default.Reds.push_back(155);
278 Default.Greens.push_back(205);
279 Default.Blues.push_back(155);
280 Default.Reds.push_back(0);
281 Default.Greens.push_back(255);
282 Default.Blues.push_back(255);
283 Default.Reds.push_back(180);
284 Default.Greens.push_back(238);
285 Default.Blues.push_back(180);
286 Default.Reds.push_back(155);
287 Default.Greens.push_back(205);
288 Default.Blues.push_back(155);
289 Default.Reds.push_back(0);
290 Default.Greens.push_back(255);
291 Default.Blues.push_back(255);
292 Default.Reds.push_back(180);
293 Default.Greens.push_back(238);
294 Default.Blues.push_back(180);
295 Default.Reds.push_back(155);
296 Default.Greens.push_back(205);
297 Default.Blues.push_back(155);
298 Default.Reds.push_back(0);
299 Default.Greens.push_back(255);
300 Default.Blues.push_back(255);
301 Default.Reds.push_back(180);
302 Default.Greens.push_back(238);
303 Default.Blues.push_back(180);
304 Default.Reds.push_back(155);
305 Default.Greens.push_back(205);
306 Default.Blues.push_back(155);
307 Default.Reds.push_back(0);
308 Default.Greens.push_back(255);
309 Default.Blues.push_back(255);
310 Default.Reds.push_back(180);
311 Default.Greens.push_back(238);
312 Default.Blues.push_back(180);
313 Default.Reds.push_back(155);
314 Default.Greens.push_back(205);
315 Default.Blues.push_back(155);
316 Default.Reds.push_back(0);
317 Default.Greens.push_back(255);
318 Default.Blues.push_back(255);
319 Default.Reds.push_back(180);
320 Default.Greens.push_back(238);
321 Default.Blues.push_back(180);
322 Default.Reds.push_back(155);
323 Default.Greens.push_back(205);
324 Default.Blues.push_back(155);
325 Default.Reds.push_back(0);
326 Default.Greens.push_back(255);
327 Default.Blues.push_back(255);
328 Default.Reds.push_back(180);
329 Default.Greens.push_back(238);
330 Default.Blues.push_back(180);
331 Default.Reds.push_back(155);
332 Default.Greens.push_back(205);
333 Default.Blues.push_back(155);
334 Default.Reds.push_back(0);
335 Default.Greens.push_back(255);
336 Default.Blues.push_back(255);
337 Default.Reds.push_back(180);
338 Default.Greens.push_back(238);
339 Default.Blues.push_back(180);
340 Default.Reds.push_back(155);
341 Default.Greens.push_back(205);
342 Default.Blues.push_back(155);
343 Default.Reds.push_back(0);
344 Default.Greens.push_back(255);
345 Default.Blues.push_back(255);
346 Default.Reds.push_back(180);
347 Default.Greens.push_back(238);
348 Default.Blues.push_back(180);
349 Default.Reds.push_back(155);
350 Default.Greens.push_back(205);
351 Default.Blues.push_back(155);
352 Default.Reds.push_back(0);
353 Default.Greens.push_back(255);
354 Default.Blues.push_back(255);
355 Default.Reds.push_back(180);
356 Default.Greens.push_back(238);
357 Default.Blues.push_back(180);
358 Default.Reds.push_back(155);
359 Default.Greens.push_back(205);
360 Default.Blues.push_back(155);
361 Default.Reds.push_back(0);
362 Default.Greens.push_back(255);
363 Default.Blues.push_back(255);
364 Default.Reds.push_back(180);
365 Default.Greens.push_back(238);
366 Default.Blues.push_back(180);
367 Default.Reds.push_back(155);
368 Default.Greens.push_back(205);
369 Default.Blues.push_back(155);
370 Default.Reds.push_back(0);
371 Default.Greens.push_back(255);
372 Default.Blues.push_back(255);
373 Default.Reds.push_back(180);
374 Default.Greens.push_back(238);
375 Default.Blues.push_back(180);
376 Default.Reds.push_back(155);
377 Default.Greens.push_back(205);
378 Default.Blues.push_back(155);
379 Default.Reds.push_back(0);
380 Default.Greens.push_back(255);
381 Default.Blues.push_back(255);
382 Default.Reds.push_back(180);
383 Default.Greens.push_back(238);
384 Default.Blues.push_back(180);
385 Default.Reds.push_back(155);
386 Default.Greens.push_back(205);
387 Default.Blues.push_back(155);
388 Default.Reds.push_back(0);
389 Default.Greens.push_back(255);
390 Default.Blues.push_back(255);
391 Default.Reds.push_back(255);
392 Default.Greens.push_back(0);
393 Default.Blues.push_back(0);
394 Default.Reds.push_back(255);
395 Default.Greens.push_back(255);
396 Default.Blues.push_back(0);
397 Default.Reds.push_back(0);
398 Default.Greens.push_back(200);
399 Default.Blues.push_back(0);
400 Default.Reds.push_back(255);
401 Default.Greens.push_back(0);
402 Default.Blues.push_back(0);
403 Default.Reds.push_back(255);
404 Default.Greens.push_back(255);
405 Default.Blues.push_back(0);
406 Default.Reds.push_back(0);
407 Default.Greens.push_back(200);
408 Default.Blues.push_back(0);
409 Default.Reds.push_back(255);
410 Default.Greens.push_back(0);
411 Default.Blues.push_back(0);
412 Default.Reds.push_back(255);
413 Default.Greens.push_back(255);
414 Default.Blues.push_back(0);
415 Default.Reds.push_back(0);
416 Default.Greens.push_back(200);
417 Default.Blues.push_back(0);
418 Default.Reds.push_back(255);
419 Default.Greens.push_back(0);
420 Default.Blues.push_back(0);
421 Default.Reds.push_back(255);
422 Default.Greens.push_back(255);
423 Default.Blues.push_back(0);
424 Default.Reds.push_back(0);
425 Default.Greens.push_back(200);
426 Default.Blues.push_back(0);
427 Default.Reds.push_back(255);
428 Default.Greens.push_back(0);
429 Default.Blues.push_back(0);
430 Default.Reds.push_back(255);
431 Default.Greens.push_back(255);
432 Default.Blues.push_back(0);
433 Default.Reds.push_back(0);
434 Default.Greens.push_back(200);
435 Default.Blues.push_back(0);
436 Default.Reds.push_back(255);
437 Default.Greens.push_back(0);
438 Default.Blues.push_back(0);
439 Default.Reds.push_back(255);
440 Default.Greens.push_back(255);
441 Default.Blues.push_back(0);
442 Default.Reds.push_back(0);
443 Default.Greens.push_back(200);
444 Default.Blues.push_back(0);
445 Default.Reds.push_back(255);
446 Default.Greens.push_back(0);
447 Default.Blues.push_back(0);
448 Default.Reds.push_back(255);
449 Default.Greens.push_back(255);
450 Default.Blues.push_back(0);
451 Default.Reds.push_back(0);
452 Default.Greens.push_back(0);
453 Default.Blues.push_back(0);
454 Default.Reds.push_back(0);
455 Default.Greens.push_back(0);
456 Default.Blues.push_back(0);
457 Default.Reds.push_back(0);
458 Default.Greens.push_back(0);
459 Default.Blues.push_back(0);
460 Default.Reds.push_back(0);
461 Default.Greens.push_back(0);
462 Default.Blues.push_back(0);
463 Default.Reds.push_back(0);
464 Default.Greens.push_back(0);
465 Default.Blues.push_back(0);
466 Default.Reds.push_back(0);
467 Default.Greens.push_back(0);
468 Default.Blues.push_back(0);
469 Default.Reds.push_back(0);
470 Default.Greens.push_back(0);
471 Default.Blues.push_back(0);
472 Default.Reds.push_back(0);
473 Default.Greens.push_back(0);
474 Default.Blues.push_back(0);
475 Default.Reds.push_back(80);
476 Default.Greens.push_back(80);
477 Default.Blues.push_back(80);
478 Default.Reds.push_back(255);
479 Default.Greens.push_back(255);
480 Default.Blues.push_back(255);
481 Default.Reds.push_back(135);
482 Default.Greens.push_back(206);
483 Default.Blues.push_back(255);
484 Default.Reds.push_back(255);
485 Default.Greens.push_back(174);
486 Default.Blues.push_back(185);
487 Default.Reds.push_back(255);
488 Default.Greens.push_back(187);
489 Default.Blues.push_back(255);
490 Default.Reds.push_back(135);
491 Default.Greens.push_back(206);
492 Default.Blues.push_back(255);
493 Default.Reds.push_back(255);
494 Default.Greens.push_back(174);
495 Default.Blues.push_back(185);
496 Default.Reds.push_back(255);
497 Default.Greens.push_back(187);
498 Default.Blues.push_back(255);
499 Default.Reds.push_back(135);
500 Default.Greens.push_back(206);
501 Default.Blues.push_back(255);
502 Default.Reds.push_back(255);
503 Default.Greens.push_back(174);
504 Default.Blues.push_back(185);
505 Default.Reds.push_back(255);
506 Default.Greens.push_back(187);
507 Default.Blues.push_back(255);
508 Default.Reds.push_back(135);
509 Default.Greens.push_back(206);
510 Default.Blues.push_back(255);
511 Default.Reds.push_back(255);
512 Default.Greens.push_back(174);
513 Default.Blues.push_back(185);
514 Default.Reds.push_back(255);
515 Default.Greens.push_back(187);
516 Default.Blues.push_back(255);
517 Default.Reds.push_back(135);
518 Default.Greens.push_back(206);
519 Default.Blues.push_back(255);
520 Default.Reds.push_back(255);
521 Default.Greens.push_back(174);
522 Default.Blues.push_back(185);
523 Default.Reds.push_back(255);
524 Default.Greens.push_back(187);
525 Default.Blues.push_back(255);
526 Default.Reds.push_back(135);
527 Default.Greens.push_back(206);
528 Default.Blues.push_back(255);
529 Default.Reds.push_back(255);
530 Default.Greens.push_back(174);
531 Default.Blues.push_back(185);
532 Default.Reds.push_back(255);
533 Default.Greens.push_back(187);
534 Default.Blues.push_back(255);
535 Default.Reds.push_back(135);
536 Default.Greens.push_back(206);
537 Default.Blues.push_back(255);
538 Default.Reds.push_back(255);
539 Default.Greens.push_back(174);
540 Default.Blues.push_back(185);
541 Default.Reds.push_back(255);
542 Default.Greens.push_back(187);
543 Default.Blues.push_back(255);
544 Default.Reds.push_back(135);
545 Default.Greens.push_back(206);
546 Default.Blues.push_back(255);
547 Default.Reds.push_back(255);
548 Default.Greens.push_back(174);
549 Default.Blues.push_back(185);
550 Default.Reds.push_back(255);
551 Default.Greens.push_back(187);
552 Default.Blues.push_back(255);
553 Default.Reds.push_back(135);
554 Default.Greens.push_back(206);
555 Default.Blues.push_back(255);
556 Default.Reds.push_back(255);
557 Default.Greens.push_back(174);
558 Default.Blues.push_back(185);
559 Default.Reds.push_back(255);
560 Default.Greens.push_back(187);
561 Default.Blues.push_back(255);
562 Default.Reds.push_back(135);
563 Default.Greens.push_back(206);
564 Default.Blues.push_back(255);
565 Default.Reds.push_back(255);
566 Default.Greens.push_back(174);
567 Default.Blues.push_back(185);
568 Default.Reds.push_back(255);
569 Default.Greens.push_back(187);
570 Default.Blues.push_back(255);
571 Default.Reds.push_back(135);
572 Default.Greens.push_back(206);
573 Default.Blues.push_back(255);
574 Default.Reds.push_back(255);
575 Default.Greens.push_back(174);
576 Default.Blues.push_back(185);
577 Default.Reds.push_back(255);
578 Default.Greens.push_back(187);
579 Default.Blues.push_back(255);
580 Default.Reds.push_back(135);
581 Default.Greens.push_back(206);
582 Default.Blues.push_back(255);
583 Default.Reds.push_back(255);
584 Default.Greens.push_back(174);
585 Default.Blues.push_back(185);
586 Default.Reds.push_back(255);
587 Default.Greens.push_back(187);
588 Default.Blues.push_back(255);
589 Default.Reds.push_back(135);
590 Default.Greens.push_back(206);
591 Default.Blues.push_back(255);
592 Default.Reds.push_back(255);
593 Default.Greens.push_back(174);
594 Default.Blues.push_back(185);
595 Default.Reds.push_back(255);
596 Default.Greens.push_back(187);
597 Default.Blues.push_back(255);
598 Default.Reds.push_back(135);
599 Default.Greens.push_back(206);
600 Default.Blues.push_back(255);
601 Default.Reds.push_back(255);
602 Default.Greens.push_back(174);
603 Default.Blues.push_back(185);
604 Default.Reds.push_back(255);
605 Default.Greens.push_back(187);
606 Default.Blues.push_back(255);
607 Default.Reds.push_back(135);
608 Default.Greens.push_back(206);
609 Default.Blues.push_back(255);
610 Default.Reds.push_back(255);
611 Default.Greens.push_back(174);
612 Default.Blues.push_back(185);
613 Default.Reds.push_back(255);
614 Default.Greens.push_back(187);
615 Default.Blues.push_back(255);
616 Default.Reds.push_back(135);
617 Default.Greens.push_back(206);
618 Default.Blues.push_back(255);
619 Default.Reds.push_back(255);
620 Default.Greens.push_back(174);
621 Default.Blues.push_back(185);
622 Default.Reds.push_back(255);
623 Default.Greens.push_back(187);
624 Default.Blues.push_back(255);
625 Default.Reds.push_back(135);
626 Default.Greens.push_back(206);
627 Default.Blues.push_back(255);
628 Default.Reds.push_back(255);
629 Default.Greens.push_back(174);
630 Default.Blues.push_back(185);
631 Default.Reds.push_back(255);
632 Default.Greens.push_back(187);
633 Default.Blues.push_back(255);
634 Default.Reds.push_back(135);
635 Default.Greens.push_back(206);
636 Default.Blues.push_back(255);
637 Default.Reds.push_back(255);
638 Default.Greens.push_back(174);
639 Default.Blues.push_back(185);
640 Default.Reds.push_back(255);
641 Default.Greens.push_back(187);
642 Default.Blues.push_back(255);
643 Default.Reds.push_back(135);
644 Default.Greens.push_back(206);
645 Default.Blues.push_back(255);
646 Default.Reds.push_back(255);
647 Default.Greens.push_back(174);
648 Default.Blues.push_back(185);
649 Default.Reds.push_back(255);
650 Default.Greens.push_back(187);
651 Default.Blues.push_back(255);
652 Default.Reds.push_back(135);
653 Default.Greens.push_back(206);
654 Default.Blues.push_back(255);
655 Default.Reds.push_back(255);
656 Default.Greens.push_back(174);
657 Default.Blues.push_back(185);
658 Default.Reds.push_back(255);
659 Default.Greens.push_back(187);
660 Default.Blues.push_back(255);
661 Default.Reds.push_back(135);
662 Default.Greens.push_back(206);
663 Default.Blues.push_back(255);
664 Default.Reds.push_back(255);
665 Default.Greens.push_back(174);
666 Default.Blues.push_back(185);
667 Default.Reds.push_back(255);
668 Default.Greens.push_back(187);
669 Default.Blues.push_back(255);
670 Default.Reds.push_back(135);
671 Default.Greens.push_back(206);
672 Default.Blues.push_back(255);
673 Default.Reds.push_back(255);
674 Default.Greens.push_back(174);
675 Default.Blues.push_back(185);
676 Default.Reds.push_back(255);
677 Default.Greens.push_back(187);
678 Default.Blues.push_back(255);
679 Default.Reds.push_back(135);
680 Default.Greens.push_back(206);
681 Default.Blues.push_back(255);
682 Default.Reds.push_back(255);
683 Default.Greens.push_back(174);
684 Default.Blues.push_back(185);
685 Default.Reds.push_back(255);
686 Default.Greens.push_back(187);
687 Default.Blues.push_back(255);
688 Default.Reds.push_back(135);
689 Default.Greens.push_back(206);
690 Default.Blues.push_back(255);
691 Default.Reds.push_back(255);
692 Default.Greens.push_back(174);
693 Default.Blues.push_back(185);
694 Default.Reds.push_back(255);
695 Default.Greens.push_back(187);
696 Default.Blues.push_back(255);
697 Default.Reds.push_back(135);
698 Default.Greens.push_back(206);
699 Default.Blues.push_back(255);
700 Default.Reds.push_back(255);
701 Default.Greens.push_back(174);
702 Default.Blues.push_back(185);
703 Default.Reds.push_back(255);
704 Default.Greens.push_back(187);
705 Default.Blues.push_back(255);
706 Default.Reds.push_back(135);
707 Default.Greens.push_back(206);
708 Default.Blues.push_back(255);
709 Default.Reds.push_back(255);
710 Default.Greens.push_back(174);
711 Default.Blues.push_back(185);
712 Default.Reds.push_back(255);
713 Default.Greens.push_back(187);
714 Default.Blues.push_back(255);
715 Default.Reds.push_back(135);
716 Default.Greens.push_back(206);
717 Default.Blues.push_back(255);
718 Default.Reds.push_back(255);
719 Default.Greens.push_back(174);
720 Default.Blues.push_back(185);
721 Default.Reds.push_back(255);
722 Default.Greens.push_back(187);
723 Default.Blues.push_back(255);
724 Default.Reds.push_back(135);
725 Default.Greens.push_back(206);
726 Default.Blues.push_back(255);
727 Default.Reds.push_back(255);
728 Default.Greens.push_back(174);
729 Default.Blues.push_back(185);
730 Default.Reds.push_back(255);
731 Default.Greens.push_back(187);
732 Default.Blues.push_back(255);
733 Default.Reds.push_back(135);
734 Default.Greens.push_back(206);
735 Default.Blues.push_back(255);
736 Default.Reds.push_back(255);
737 Default.Greens.push_back(174);
738 Default.Blues.push_back(185);
739 Default.Reds.push_back(255);
740 Default.Greens.push_back(187);
741 Default.Blues.push_back(255);
742 Default.Reds.push_back(135);
743 Default.Greens.push_back(206);
744 Default.Blues.push_back(255);
745 Default.Reds.push_back(255);
746 Default.Greens.push_back(174);
747 Default.Blues.push_back(185);
748 Default.Reds.push_back(255);
749 Default.Greens.push_back(187);
750 Default.Blues.push_back(255);
751 Default.Reds.push_back(135);
752 Default.Greens.push_back(206);
753 Default.Blues.push_back(255);
754 Default.Reds.push_back(255);
755 Default.Greens.push_back(174);
756 Default.Blues.push_back(185);
757 Default.Reds.push_back(255);
758 Default.Greens.push_back(187);
759 Default.Blues.push_back(255);
760 Default.Reds.push_back(135);
761 Default.Greens.push_back(206);
762 Default.Blues.push_back(255);
763 Default.Reds.push_back(255);
764 Default.Greens.push_back(174);
765 Default.Blues.push_back(185);
766 Default.Reds.push_back(255);
767 Default.Greens.push_back(187);
768 Default.Blues.push_back(255);
769 Default.Reds.push_back(135);
770 Default.Greens.push_back(206);
771 Default.Blues.push_back(255);
772 Default.Reds.push_back(255);
773 Default.Greens.push_back(174);
774 Default.Blues.push_back(185);
775 Default.Reds.push_back(255);
776 Default.Greens.push_back(187);
777 Default.Blues.push_back(255);
778 Default.Reds.push_back(135);
779 Default.Greens.push_back(206);
780 Default.Blues.push_back(255);
781 Default.Reds.push_back(0);
782 Default.Greens.push_back(255);
783 Default.Blues.push_back(0);
784 Default.Reds.push_back(240);
785 Default.Greens.push_back(240);
786 Default.Blues.push_back(0);
787 Default.Reds.push_back(255);
788 Default.Greens.push_back(0);
789 Default.Blues.push_back(0);
793 // Below here handlers for the Expat XML input library
794 ////////////////////////////////////////////////////////////////////////////////////
796 void CColourIO::XmlStartHandler(const XML_Char *name, const XML_Char **atts) {
798 CData = "";
800 if(strcmp(name, "palette") == 0) {
801 ColourInfo NewInfo;
802 InputInfo = NewInfo;
803 InputInfo.Mutable = isUser();
804 while(*atts != 0) {
805 if(strcmp(*atts, "name") == 0) {
806 InputInfo.ColourID = *(atts+1);
808 atts += 2;
810 return;
812 if(strcmp(name, "colour") == 0) {
813 while(*atts != 0) {
814 if(strcmp(*atts, "r") == 0) {
815 InputInfo.Reds.push_back(atoi(*(atts+1)));
817 if(strcmp(*atts, "g") == 0) {
818 InputInfo.Greens.push_back(atoi(*(atts+1)));
820 if(strcmp(*atts, "b") == 0) {
821 InputInfo.Blues.push_back(atoi(*(atts+1)));
823 atts += 2;
825 return;
828 void CColourIO::XmlEndHandler(const XML_Char *name) {
830 if(strcmp(name, "palette") == 0) {
831 Colours[InputInfo.ColourID] = InputInfo;
832 return;
836 void CColourIO::XmlCData(const XML_Char *s, int len) {
837 // CAREFUL: s points to a string which is NOT null-terminated.
838 CData.append(s, len);