]> git.vomp.tv Git - vompclient.git/blob - wsymbol.cc
EventDispatcher: Switch to std::mutex/cond
[vompclient.git] / wsymbol.cc
1 /*
2     Copyright 2004-2005 Chris Tallon
3
4     This file is part of VOMP.
5
6     VOMP is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     VOMP is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with VOMP; if not, write to the Free Software
18     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19 */
20
21 #include "wsymbol.h"
22
23 #include "colour.h"
24
25 UCHAR WSymbol::widths[] = { 2, 2, 4, 4, 1, 1, 3, 3, 3, 3, 3, 4, 4, 2, 2, 3, 5, 5, 4, 4, 2, 2, 5, 5, 4, 4, 5};
26 UCHAR WSymbol::heights[] = { 8, 8, 12, 12, 24, 4, 18, 18, 18, 18, 18, 30, 30, 16, 16, 18, 18, 18, 16, 16, 8, 8, 16, 16, 16, 16, 26};
27
28 UCHAR WSymbol::symbols[] = {
29
30 /*
31 00000000 00000011
32 00000000 00001111
33 00000000 00111111
34 00000000 11111111
35 00000011 11111111
36 00001111 11111111
37 00111111 11111111
38 11111111 11111111
39 */
40
41 0x00, 0x03,
42 0x00, 0x0F,
43 0x00, 0x3F,
44 0x00, 0xFF,
45 0x03, 0xFF,
46 0x0F, 0xFF,
47 0x3F, 0xFF,
48 0xFF, 0xFF,
49
50 /*
51 11111111 00000011
52 00000000 00001111
53 00000000 00111111
54 00000000 11111111
55 00000011 11111111
56 00001111 11111111
57 00111111 11111111
58 11111111 11111111
59 */
60
61 0xFF, 0x03,
62 0x00, 0x0F,
63 0x00, 0x3F,
64 0x00, 0xFF,
65 0x03, 0xFF,
66 0x0F, 0xFF,
67 0x3F, 0xFF,
68 0xFF, 0xFF,
69
70 /*
71 00000000 00000000 00000000 00000000
72 00000000 00000000 00000000 00000000
73 00000000 00000000 00000000 00000000
74 00000000 00000000 00000000 00000000
75 00000000 00000000 00000000 00000000
76 00000000 00000000 00000000 00000000
77 00000000 00000000 00000000 00000000
78 00000000 00000000 00000000 00000000
79 00000000 00000000 00000000 00000000
80 00000000 00000000 00000000 00000000
81 00000000 00000000 00000000 00000000
82 00000000 00000000 00000000 00000000
83 */
84
85 0x00, 0x00, 0x00, 0x00,
86 0x00, 0x00, 0x00, 0x00,
87 0x00, 0x00, 0x00, 0x00,
88 0x00, 0x00, 0x00, 0x00,
89 0x00, 0x00, 0x00, 0x00,
90 0x00, 0x00, 0x00, 0x00,
91 0x00, 0x00, 0x00, 0x00,
92 0x00, 0x00, 0x00, 0x00,
93 0x00, 0x00, 0x00, 0x00,
94 0x00, 0x00, 0x00, 0x00,
95 0x00, 0x00, 0x00, 0x00,
96 0x00, 0x00, 0x00, 0x00,
97
98 /*
99 00000000 00000000 00000000 00000011
100 00000000 00000000 00000000 00011111
101 00000000 00000000 00000000 11111111
102 00000000 00000000 00000011 11111111
103 00000000 00000000 00011111 11111111
104 00000000 00000000 11111111 11111111
105 00000000 00000011 11111111 11111111
106 00000000 00011111 11111111 11111111
107 00000000 11111111 11111111 11111111
108 00000011 11111111 11111111 11111111
109 00011111 11111111 11111111 11111111
110 11111111 11111111 11111111 11111111
111 */
112
113 0x00, 0x00, 0x00, 0x03,
114 0x00, 0x00, 0x00, 0x1F,
115 0x00, 0x00, 0x00, 0xFF,
116 0x00, 0x00, 0x03, 0xFF,
117 0x00, 0x00, 0x1F, 0xFF,
118 0x00, 0x00, 0xFF, 0xFF,
119 0x00, 0x03, 0xFF, 0xFF,
120 0x00, 0x1F, 0xFF, 0xFF,
121 0x00, 0xFF, 0xFF, 0xFF,
122 0x03, 0xFF, 0xFF, 0xFF,
123 0x1F, 0xFF, 0xFF, 0xFF,
124 0xFF, 0xFF, 0xFF, 0xFF,
125
126 /*
127 00001111
128 00001111
129 00001111
130 00001111
131 00001111
132 00001111
133 00001111
134 00001111
135 00001111
136 00001111
137 00001111
138 00001111
139 00001111
140 00001111
141 00001111
142 00001111
143 00001111
144 00001111
145 00001111
146 00001111
147 00001111
148 00001111
149 00001111
150 00001111
151 */
152
153 0x0F,
154 0x0F,
155 0x0F,
156 0x0F,
157 0x0F,
158 0x0F,
159 0x0F,
160 0x0F,
161 0x0F,
162 0x0F,
163 0x0F,
164 0x0F,
165 0x0F,
166 0x0F,
167 0x0F,
168 0x0F,
169 0x0F,
170 0x0F,
171 0x0F,
172 0x0F,
173 0x0F,
174 0x0F,
175 0x0F,
176 0x0F,
177
178 /*
179 00001111
180 00001111
181 00001111
182 00001111
183 */
184
185 0x0F,
186 0x0F,
187 0x0F,
188 0x0F,
189
190 /*
191 11000000 00000000 00110000
192 11000000 00000000 11110000
193 11000000 00000011 11110000
194 11000000 00001111 11110000
195 11000000 00111111 11110000
196 11000000 11111111 11110000
197 11000011 11111111 11110000
198 11001111 11111111 11110000
199 11111111 11111111 11110000
200
201 11111111 11111111 11110000
202 11001111 11111111 11110000
203 11000011 11111111 11110000
204 11000000 11111111 11110000
205 11000000 00111111 11110000
206 11000000 00001111 11110000
207 11000000 00000011 11110000
208 11000000 00000000 11110000
209 11000000 00000000 00110000
210 */
211
212 0xC0, 0x00, 0x30,
213 0xC0, 0x00, 0xF0,
214 0xC0, 0x03, 0xF0,
215 0xC0, 0x0F, 0xF0,
216 0xC0, 0x3F, 0xF0,
217 0xC0, 0xFF, 0xF0,
218 0xC3, 0xFF, 0xF0,
219 0xCF, 0xFF, 0xF0,
220 0xFF, 0xFF, 0xF0,
221
222 0xFF, 0xFF, 0xF0,
223 0xCF, 0xFF, 0xF0,
224 0xC3, 0xFF, 0xF0,
225 0xC0, 0xFF, 0xF0,
226 0xC0, 0x3F, 0xF0,
227 0xC0, 0x0F, 0xF0,
228 0xC0, 0x03, 0xF0,
229 0xC0, 0x00, 0xF0,
230 0xC0, 0x00, 0x30,
231
232 /*
233 11000000 00000000 00110000
234 11110000 00000000 00110000
235 11111100 00000000 00110000
236 11111111 00000000 00110000
237 11111111 11000000 00110000
238 11111111 11110000 00110000
239 11111111 11111100 00110000
240 11111111 11111111 00110000
241 11111111 11111111 11110000
242
243 11111111 11111111 11110000
244 11111111 11111111 00110000
245 11111111 11111100 00110000
246 11111111 11110000 00110000
247 11111111 11000000 00110000
248 11111111 00000000 00110000
249 11111100 00000000 00110000
250 11110000 00000000 00110000
251 11000000 00000000 00110000
252 */
253
254 0xC0, 0x00, 0x30,
255 0xF0, 0x00, 0x30,
256 0xFC, 0x00, 0x30,
257 0xFF, 0x00, 0x30,
258 0xFF, 0xC0, 0x30,
259 0xFF, 0xF0, 0x30,
260 0xFF, 0xFC, 0x30,
261 0xFF, 0xFF, 0x30,
262 0xFF, 0xFF, 0xF0,
263
264 0xFF, 0xFF, 0xF0,
265 0xFF, 0xFF, 0x30,
266 0xFF, 0xFC, 0x30,
267 0xFF, 0xF0, 0x30,
268 0xFF, 0xC0, 0x30,
269 0xFF, 0x00, 0x30,
270 0xFC, 0x00, 0x30,
271 0xF0, 0x00, 0x30,
272 0xC0, 0x00, 0x30,
273
274 /*
275 00000000 00000000 00000000
276 00000000 00000000 00000000
277 00000000 00000000 00000000
278 00000000 00000000 00000000
279 00000000 01100000 00000000
280 00000000 11110000 00000000
281 00000001 11111000 00000000
282 00000001 11111000 00000000
283 00000011 11111100 00000000
284
285 00000111 11111110 00000000
286 00001111 11111111 00000000
287 00011111 11111111 10000000
288 00011111 11111111 10000000
289 00111111 11111111 11000000
290 01111111 11111111 11100000
291 11111111 11111111 11110000
292 00000000 00000000 00000000
293 00000000 00000000 00000000
294 */
295
296 0x00, 0x00, 0x00,
297 0x00, 0x00, 0x00,
298 0x00, 0x00, 0x00,
299 0x00, 0x00, 0x00,
300 0x00, 0x60, 0x00,
301 0x00, 0xF0, 0x00,
302 0x01, 0xF8, 0x00,
303 0x01, 0xF8, 0x00,
304 0x03, 0xFC, 0x00,
305
306 0x07, 0xFE, 0x00,
307 0x0F, 0xFF, 0x00,
308 0x1F, 0xFF, 0x80,
309 0x1F, 0xFF, 0x80,
310 0x3F, 0xFF, 0xC0,
311 0x7F, 0xFF, 0xE0,
312 0xFF, 0xFF, 0xF0,
313 0x00, 0x00, 0x00,
314 0x00, 0x00, 0x00,
315
316 /*
317 00000000 00000000 00000000
318 00000000 00000000 00000000
319 00000000 00000000 00000000
320 00000000 00000000 00000000
321 11111111 11111111 11110000
322 01111111 11111111 11100000
323 00111111 11111111 11000000
324 00011111 11111111 10000000
325 00011111 11111111 10000000
326
327 00001111 11111111 00000000
328 00000111 11111110 00000000
329 00000011 11111100 00000000
330 00000001 11111000 00000000
331 00000001 11111000 00000000
332 00000000 11110000 00000000
333 00000000 01100000 00000000
334 00000000 00000000 00000000
335 00000000 00000000 00000000
336 */
337
338 0x00, 0x00, 0x00,
339 0x00, 0x00, 0x00,
340 0x00, 0x00, 0x00,
341 0x00, 0x00, 0x00,
342 0xFF, 0xFF, 0xF0,
343 0x7F, 0xFF, 0xE0,
344 0x3F, 0xFF, 0xC0,
345 0x1F, 0xFF, 0x80,
346 0x1F, 0xFF, 0x80,
347
348 0x0F, 0xFF, 0x00,
349 0x07, 0xFE, 0x00,
350 0x03, 0xFC, 0x00,
351 0x01, 0xF8, 0x00,
352 0x01, 0xF8, 0x00,
353 0x00, 0xF0, 0x00,
354 0x00, 0x60, 0x00,
355 0x00, 0x00, 0x00,
356 0x00, 0x00, 0x00,
357
358
359 /*
360 11000000 00000000 00000000
361 11110000 00000000 00000000
362 11111100 00000000 00000000
363 11111111 00000000 00000000
364 11111111 11000000 00000000
365 11111111 11110000 00000000
366 11111111 11111100 00000000
367 11111111 11111111 00000000
368 11111111 11111111 11000000
369
370 11111111 11111111 11000000
371 11111111 11111111 00000000
372 11111111 11111100 00000000
373 11111111 11110000 00000000
374 11111111 11000000 00000000
375 11111111 00000000 00000000
376 11111100 00000000 00000000
377 11110000 00000000 00000000
378 11000000 00000000 00000000
379 */
380
381 0xC0, 0x00, 0x00,
382 0xF0, 0x00, 0x00,
383 0xFC, 0x00, 0x00,
384 0xFF, 0x00, 0x00,
385 0xFF, 0xC0, 0x00,
386 0xFF, 0xF0, 0x00,
387 0xFF, 0xFC, 0x00,
388 0xFF, 0xFF, 0x00,
389 0xFF, 0xFF, 0xC0,
390
391 0xFF, 0xFF, 0xC0,
392 0xFF, 0xFF, 0x00,
393 0xFF, 0xFC, 0x00,
394 0xFF, 0xF0, 0x00,
395 0xFF, 0xC0, 0x00,
396 0xFF, 0x00, 0x00,
397 0xFC, 0x00, 0x00,
398 0xF0, 0x00, 0x00,
399 0xC0, 0x00, 0x00,
400
401 /*
402 11000000 00000000 00000000 00001100
403 01100000 00000000 11000000 00011000
404 00110000 00000001 11000000 00110000
405 00011000 00000011 11000000 01100000
406 00001100 00000111 11000000 11000000
407 00000110 00001111 11000001 10000000
408 00000011 00011111 11000011 00000000
409 00000001 10111111 11000110 00000000
410 00000000 11111111 11001100 00000000
411 00000000 11111111 11011000 00000000
412 00001111 11111111 11110000 00000000
413 00001111 11111111 11100000 00000000
414 00001111 11111111 11000000 00000000
415 00001111 11111111 11000000 00000000
416 00001111 11111111 11000000 00000000
417 00001111 11111111 11000000 00000000
418 00001111 11111111 11000000 00000000
419 00001111 11111111 11100000 00000000
420 00001111 11111111 11110000 00000000
421 00000000 11111111 11011000 00000000
422 00000000 11111111 11001100 00000000
423 00000001 10111111 11000110 00000000
424 00000011 00011111 11000011 00000000
425 00000110 00001111 11000001 10000000
426 00001100 00000111 11000000 11000000
427 00011000 00000011 11000000 01100000
428 00110000 00000001 11000000 00110000
429 01100000 00000000 11000000 00011000
430 11000000 00000000 00000000 00001100
431 00000000 00000000 00000000 00000000
432 */
433
434 0xC0, 0x00, 0x00, 0x0C,
435 0x60, 0x00, 0xC0, 0x18,
436 0x30, 0x01, 0xC0, 0x30,
437 0x18, 0x03, 0xC0, 0x60,
438 0x0C, 0x07, 0xC0, 0xC0,
439 0x06, 0x0F, 0xC1, 0x80,
440 0x03, 0x1F, 0xC3, 0x00,
441 0x01, 0xBF, 0xC6, 0x00,
442 0x00, 0xFF, 0xCC, 0x00,
443 0x00, 0xFF, 0xD8, 0x00,
444 0x0F, 0xFF, 0xF0, 0x00,
445 0x0F, 0xFF, 0xE0, 0x00,
446 0x0F, 0xFF, 0xC0, 0x00,
447 0x0F, 0xFF, 0xC0, 0x00,
448 0x0F, 0xFF, 0xC0, 0x00,
449 0x0F, 0xFF, 0xC0, 0x00,
450 0x0F, 0xFF, 0xC0, 0x00,
451 0x0F, 0xFF, 0xE0, 0x00,
452 0x0F, 0xFF, 0xF0, 0x00,
453 0x00, 0xFF, 0xD8, 0x00,
454 0x00, 0xFF, 0xCC, 0x00,
455 0x01, 0xBF, 0xC6, 0x00,
456 0x03, 0x1F, 0xC3, 0x00,
457 0x06, 0x0F, 0xC1, 0x80,
458 0x0C, 0x07, 0xC0, 0xC0,
459 0x18, 0x03, 0xC0, 0x60,
460 0x30, 0x01, 0xC0, 0x30,
461 0x60, 0x00, 0xC0, 0x18,
462 0xC0, 0x00, 0x00, 0x0C,
463 0x00, 0x00, 0x00, 0x00,
464
465 /*
466 00000000 00000000 00000000 00000000
467 00000000 00000000 11000000 00000000
468 00000000 00000001 11000000 00000000
469 00000000 00000011 11011111 10000000
470 00000000 00000111 11011111 10000000
471 00000000 00001111 11000000 00000000
472 00000000 00011111 11000000 00000000
473 00000000 00111111 11000000 00000000
474 00000000 01111111 11011111 10000000
475 00000000 11111111 11011111 10000000
476 00001111 11111111 11000000 00000000
477 00001111 11111111 11000000 00000000
478 00001111 11111111 11000000 00000000
479 00001111 11111111 11011111 10000000
480 00001111 11111111 11011111 10000000
481 00001111 11111111 11000000 00000000
482 00001111 11111111 11000000 00000000
483 00001111 11111111 11000000 00000000
484 00001111 11111111 11011111 10000000
485 00000000 11111111 11011111 10000000
486 00000000 01111111 11000000 00000000
487 00000000 00111111 11000000 00000000
488 00000000 00011111 11000000 00000000
489 00000000 00001111 11011111 10000000
490 00000000 00000111 11011111 10000000
491 00000000 00000011 11000000 00000000
492 00000000 00000001 11000000 00000000
493 00000000 00000000 11000000 00000000
494 00000000 00000000 00000000 00000000
495 00000000 00000000 00000000 00000000
496 */
497
498 0x00, 0x00, 0x00, 0x00,
499 0x00, 0x00, 0xC0, 0x00,
500 0x00, 0x01, 0xC0, 0x00,
501 0x00, 0x03, 0xDF, 0x80,
502 0x00, 0x07, 0xDF, 0x80,
503 0x00, 0x0F, 0xC0, 0x00,
504 0x00, 0x1F, 0xC0, 0x00,
505 0x00, 0x3F, 0xC0, 0x00,
506 0x00, 0x7F, 0xDF, 0x80,
507 0x00, 0xFF, 0xDF, 0x80,
508 0x0F, 0xFF, 0xC0, 0x00,
509 0x0F, 0xFF, 0xC0, 0x00,
510 0x0F, 0xFF, 0xC0, 0x00,
511 0x0F, 0xFF, 0xDF, 0x80,
512 0x0F, 0xFF, 0xDF, 0x80,
513 0x0F, 0xFF, 0xC0, 0x00,
514 0x0F, 0xFF, 0xC0, 0x00,
515 0x0F, 0xFF, 0xC0, 0x00,
516 0x0F, 0xFF, 0xDF, 0x80,
517 0x00, 0xFF, 0xDF, 0x80,
518 0x00, 0x7F, 0xC0, 0x00,
519 0x00, 0x3F, 0xC0, 0x00,
520 0x00, 0x1F, 0xC0, 0x00,
521 0x00, 0x0F, 0xDF, 0x80,
522 0x00, 0x07, 0xDF, 0x80,
523 0x00, 0x03, 0xC0, 0x00,
524 0x00, 0x01, 0xC0, 0x00,
525 0x00, 0x00, 0xC0, 0x00,
526 0x00, 0x00, 0x00, 0x00,
527 0x00, 0x00, 0x00, 0x00,
528
529 /*
530 00000000 00000011
531 00000000 00001111
532 00000000 00111111
533 00000000 11111111
534 00000011 11111111
535 00001111 11111111
536 00111111 11111111
537 11111111 11111111
538 11111111 11111111
539 00111111 11111111
540 00001111 11111111
541 00000011 11111111
542 00000000 11111111
543 00000000 00111111
544 00000000 00001111
545 00000000 00000011
546 */
547
548 0x00, 0x03,
549 0x00, 0x07,
550 0x00, 0x3F,
551 0x00, 0xFF,
552 0x03, 0xFF,
553 0x07, 0xFF,
554 0x3F, 0xFF,
555 0xFF, 0xFF,
556 0xFF, 0xFF,
557 0x3F, 0xFF,
558 0x07, 0xFF,
559 0x03, 0xFF,
560 0x00, 0xFF,
561 0x00, 0x3F,
562 0x00, 0x07,
563 0x00, 0x03,
564
565 /*
566 11000000 00000000
567 11110000 00000000
568 11111100 00000000
569 11111111 00000000
570 11111111 11000000
571 11111111 11110000
572 11111111 11111100
573 11111111 11111111
574 11111111 11111111
575 11111111 11111100
576 11111111 11110000
577 11111111 11000000
578 11111111 00000000
579 11111100 00000000
580 11110000 00000000
581 11000000 00000000
582 */
583
584 0xC0, 0x00,
585 0xF0, 0x00,
586 0xFC, 0x00,
587 0xFF, 0x00,
588 0xFF, 0xC0,
589 0xFF, 0xF0,
590 0xFF, 0xFC,
591 0xFF, 0xFF,
592 0xFF, 0xFF,
593 0xFF, 0xFC,
594 0xFF, 0xF0,
595 0xFF, 0xC0,
596 0xFF, 0x00,
597 0xFC, 0x00,
598 0xF0, 0x00,
599 0xC0, 0x00,
600
601 /*
602 11111100 00001111 11000000
603 11111100 00001111 11000000
604 11111100 00001111 11000000
605 11111100 00001111 11000000
606 11111100 00001111 11000000
607 11111100 00001111 11000000
608 11111100 00001111 11000000
609 11111100 00001111 11000000
610 11111100 00001111 11000000
611
612 11111100 00001111 11000000
613 11111100 00001111 11000000
614 11111100 00001111 11000000
615 11111100 00001111 11000000
616 11111100 00001111 11000000
617 11111100 00001111 11000000
618 11111100 00001111 11000000
619 11111100 00001111 11000000
620 11111100 00001111 11000000
621 */
622
623 0xFC, 0x0F, 0xC0,
624 0xFC, 0x0F, 0xC0,
625 0xFC, 0x0F, 0xC0,
626 0xFC, 0x0F, 0xC0,
627 0xFC, 0x0F, 0xC0,
628 0xFC, 0x0F, 0xC0,
629 0xFC, 0x0F, 0xC0,
630 0xFC, 0x0F, 0xC0,
631 0xFC, 0x0F, 0xC0,
632
633 0xFC, 0x0F, 0xC0,
634 0xFC, 0x0F, 0xC0,
635 0xFC, 0x0F, 0xC0,
636 0xFC, 0x0F, 0xC0,
637 0xFC, 0x0F, 0xC0,
638 0xFC, 0x0F, 0xC0,
639 0xFC, 0x0F, 0xC0,
640 0xFC, 0x0F, 0xC0,
641 0xFC, 0x0F, 0xC0,
642
643 /*
644 11000000 00000000 00110000 00000000 00001100
645 11000000 00000000 11110000 00000000 00111100
646 11000000 00000011 11110000 00000000 11111100
647 11000000 00001111 11110000 00000011 11111100
648 11000000 00111111 11110000 00001111 11111100
649 11000000 11111111 11110000 00111111 11111100
650 11000011 11111111 11110000 11111111 11111100
651 11001111 11111111 11110011 11111111 11111100
652 11111111 11111111 11111111 11111111 11111100
653
654 11111111 11111111 11111111 11111111 11111100
655 11001111 11111111 11110011 11111111 11111100
656 11000011 11111111 11110000 11111111 11111100
657 11000000 11111111 11110000 00111111 11111100
658 11000000 00111111 11110000 00001111 11111100
659 11000000 00001111 11110000 00000011 11111100
660 11000000 00000011 11110000 00000000 11111100
661 11000000 00000000 11110000 00000000 00111100
662 11000000 00000000 00110000 00000000 00001100
663 */
664
665 0xC0, 0x00, 0x30, 0x00, 0x0C,
666 0xC0, 0x00, 0xF0, 0x00, 0x3C,
667 0xC0, 0x03, 0xF0, 0x00, 0xFC,
668 0xC0, 0x0F, 0xF0, 0x03, 0xFC,
669 0xC0, 0x3F, 0xF0, 0x0F, 0xFC,
670 0xC0, 0xFF, 0xF0, 0x3F, 0xFC,
671 0xC3, 0xFF, 0xF0, 0xFF, 0xFC,
672 0xCF, 0xFF, 0xF3, 0xFF, 0xFC,
673 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
674
675 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
676 0xCF, 0xFF, 0xF3, 0xFF, 0xFC,
677 0xC3, 0xFF, 0xF0, 0xFF, 0xFC,
678 0xC0, 0xFF, 0xF0, 0x3F, 0xFC,
679 0xC0, 0x3F, 0xF0, 0x0F, 0xFC,
680 0xC0, 0x0F, 0xF0, 0x03, 0xFC,
681 0xC0, 0x03, 0xF0, 0x00, 0xFC,
682 0xC0, 0x00, 0xF0, 0x00, 0x3C,
683 0xC0, 0x00, 0x30, 0x00, 0x0C,
684
685 /*
686 00110000 00000000 00001100 00000000 00000011
687 00111100 00000000 00001111 00000000 00000011
688 00111111 00000000 00001111 11000000 00000011
689 00111111 11000000 00001111 11110000 00000011
690 00111111 11110000 00001111 11111100 00000011
691 00111111 11111100 00001111 11111111 00000011
692 00111111 11111111 00001111 11111111 11000011
693 00111111 11111111 11001111 11111111 11110011
694 00111111 11111111 11111111 11111111 11111111
695
696 00111111 11111111 11111111 11111111 11111111
697 00111111 11111111 11001111 11111111 11110011
698 00111111 11111111 00001111 11111111 11000011
699 00111111 11111100 00001111 11111111 00000011
700 00111111 11110000 00001111 11111100 00000011
701 00111111 11000000 00001111 11110000 00000011
702 00111111 00000000 00001111 11000000 00000011
703 00111100 00000000 00001111 00000000 00000011
704 00110000 00000000 00001100 00000000 00000011
705 */
706
707 0x30, 0x00, 0x0C, 0x00, 0x03,
708 0x3C, 0x00, 0x0F, 0x00, 0x03,
709 0x3F, 0x00, 0x0F, 0xC0, 0x03,
710 0x3F, 0xC0, 0x0F, 0xF0, 0x03,
711 0x3F, 0xF0, 0x0F, 0xFC, 0x03,
712 0x3F, 0xFC, 0x0F, 0xFF, 0x03,
713 0x3F, 0xFF, 0x0F, 0xFF, 0xC3,
714 0x3F, 0xFF, 0xCF, 0xFF, 0xF3,
715 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
716
717 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
718 0x3F, 0xFF, 0xCF, 0xFF, 0xF3,
719 0x3F, 0xFF, 0x0F, 0xFF, 0xC3,
720 0x3F, 0xFC, 0x0F, 0xFF, 0x03,
721 0x3F, 0xF0, 0x0F, 0xFC, 0x03,
722 0x3F, 0xC0, 0x0F, 0xF0, 0x03,
723 0x3F, 0x00, 0x0F, 0xC0, 0x03,
724 0x3C, 0x00, 0x0F, 0x00, 0x03,
725 0x30, 0x00, 0x0C, 0x00, 0x03,
726
727 /*
728 00000000 00000011 00000000 00000011
729 00000000 00001111 00000000 00001111
730 00000000 00111111 00000000 00111111
731 00000000 11111111 00000000 11111111
732 00000011 11111111 00000011 11111111
733 00001111 11111111 00001111 11111111
734 00111111 11111111 00111111 11111111
735 11111111 11111111 11111111 11111111
736 11111111 11111111 11111111 11111111
737 00111111 11111111 00111111 11111111
738 00001111 11111111 00001111 11111111
739 00000011 11111111 00000011 11111111
740 00000000 11111111 00000000 11111111
741 00000000 00111111 00000000 00111111
742 00000000 00001111 00000000 00001111
743 00000000 00000011 00000000 00000011
744 */
745
746 0x00, 0x03, 0x00, 0x03,
747 0x00, 0x07, 0x00, 0x07,
748 0x00, 0x3F, 0x00, 0x3F,
749 0x00, 0xFF, 0x00, 0xFF,
750 0x03, 0xFF, 0x03, 0xFF,
751 0x07, 0xFF, 0x07, 0xFF,
752 0x3F, 0xFF, 0x3F, 0xFF,
753 0xFF, 0xFF, 0xFF, 0xFF,
754 0xFF, 0xFF, 0xFF, 0xFF,
755 0x3F, 0xFF, 0x3F, 0xFF,
756 0x07, 0xFF, 0x07, 0xFF,
757 0x03, 0xFF, 0x03, 0xFF,
758 0x00, 0xFF, 0x00, 0xFF,
759 0x00, 0x3F, 0x00, 0x3F,
760 0x00, 0x07, 0x00, 0x07,
761 0x00, 0x03, 0x00, 0x03,
762
763 /*
764 11000000 00000000 11000000 00000000
765 11110000 00000000 11110000 00000000
766 11111100 00000000 11111100 00000000
767 11111111 00000000 11111111 00000000
768 11111111 11000000 11111111 11000000
769 11111111 11110000 11111111 11110000
770 11111111 11111100 11111111 11111100
771 11111111 11111111 11111111 11111111
772 11111111 11111111 11111111 11111111
773 11111111 11111100 11111111 11111100
774 11111111 11110000 11111111 11110000
775 11111111 11000000 11111111 11000000
776 11111111 00000000 11111111 00000000
777 11111100 00000000 11111100 00000000
778 11110000 00000000 11110000 00000000
779 11000000 00000000 11000000 00000000
780 */
781
782 0xC0, 0x00, 0xC0, 0x00,
783 0xF0, 0x00, 0xF0, 0x00,
784 0xFC, 0x00, 0xFC, 0x00,
785 0xFF, 0x00, 0xFF, 0x00,
786 0xFF, 0xC0, 0xFF, 0xC0,
787 0xFF, 0xF0, 0xFF, 0xF0,
788 0xFF, 0xFC, 0xFF, 0xFC,
789 0xFF, 0xFF, 0xFF, 0xFF,
790 0xFF, 0xFF, 0xFF, 0xFF,
791 0xFF, 0xFC, 0xFF, 0xFC,
792 0xFF, 0xF0, 0xFF, 0xF0,
793 0xFF, 0xC0, 0xFF, 0xC0,
794 0xFF, 0x00, 0xFF, 0x00,
795 0xFC, 0x00, 0xFC, 0x00,
796 0xF0, 0x00, 0xF0, 0x00,
797 0xC0, 0x00, 0xC0, 0x00,
798
799 /*
800 00000001 10000000
801 00000011 11000000
802 00000110 01100000
803 00001100 00110000
804 00011000 00011000
805 00110000 00001100
806 01100000 00000110
807 11000000 00000011
808 */
809
810 0x01, 0x80,
811 0x03, 0xC0,
812 0x06, 0x60,
813 0x0C, 0x30,
814 0x18, 0x18,
815 0x30, 0x0C,
816 0x60, 0x06,
817 0xC0, 0x03,
818
819 /*
820 11000000 00000011
821 01100000 00000110
822 00110000 00001100
823 00011000 00011000
824 00001100 00110000
825 00000110 01100000
826 00000011 11000000
827 00000001 10000000
828 */
829
830 0xC0, 0x03,
831 0x60, 0x06,
832 0x30, 0x0C,
833 0x18, 0x18,
834 0x0C, 0x30,
835 0x06, 0x60,
836 0x03, 0xC0,
837 0x01, 0x80,
838
839 /*
840 11111111 11111111 11111111 11111111 11111111
841 11111111 11111111 11111111 11111111 11111111
842 11000000 01111111 11111111 11111110 00000011
843 11000000 01111111 11111111 11111110 00000011
844 11000000 01111111 11111111 11111110 00000011
845 11000000 01111111 11111111 11111110 00000011
846 11000000 01111111 11111111 11111110 00000011
847 11000000 01111111 11111111 11111110 00000011
848
849 11000000 01111111 11111111 11111110 00000011
850 11000000 01111111 11111111 11111110 00000011
851 11000000 01111111 11111111 11111110 00000011
852 11000000 01111111 11111111 11111110 00000011
853 11000000 01111111 11111111 11111110 00000011
854 11000000 01111111 11111111 11111110 00000011
855 11111111 11111111 11111111 11111111 11111111
856 11111111 11111111 11111111 11111111 11111111
857 */
858
859 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
860 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
861 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
862 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
863 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
864 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
865 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
866 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
867
868 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
869 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
870 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
871 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
872 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
873 0xC0, 0x1F, 0xFF, 0xF8, 0x03,
874 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
875 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
876
877 /*
878 11111111 11111111 11111111 11111111 11111111
879 11111111 11111111 11111111 11111111 11111111
880 11111110 01111111 11111111 11111110 01111111
881 11111110 01111111 11111111 11111110 01111111
882 11111110 01111111 11111111 11111110 01111111
883 11111110 01111111 11111111 11111110 01111111
884 11111110 01111111 11111111 11111110 01111111
885 11111110 01111111 11111111 11111110 01111111
886
887 11111110 01111111 11111111 11111110 01111111
888 11111110 01111111 11111111 11111110 01111111
889 11111110 01111111 11111111 11111110 01111111
890 11111110 01111111 11111111 11111110 01111111
891 11111110 01111111 11111111 11111110 01111111
892 11111110 01111111 11111111 11111110 01111111
893 11111111 11111111 11111111 11111111 11111111
894 11111111 11111111 11111111 11111111 11111111
895 */
896
897 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
898 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
899 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
900 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
901 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
902 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
903 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
904 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
905
906 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
907 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
908 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
909 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
910 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
911 0xFE, 0x7F, 0xFF, 0xFE, 0x7F,
912 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
913 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
914
915
916
917
918
919
920
921
922
923
924
925 /*
926 00000000 00001111 11110000 00000000
927 00000000 00001111 11110000 00000000
928 00000000 00000001 10000000 00000000
929 00000000 00000001 10000000 00000000
930 00000000 00000001 10000000 00000000
931 00000000 00000001 10000000 00000000
932 00000000 00000001 10000000 00000000
933 00000000 00000001 10000000 00000000
934
935 00000000 00000001 10000000 00000000
936 00000000 00000001 10000000 00000000
937 00000000 00000001 10000000 00000000
938 00000000 00000001 10000000 00000000
939 00000000 00000001 10000000 00000000
940 00000000 00000001 10000000 00000000
941 00000000 00001111 11110000 00000000
942 00000000 00001111 11110000 00000000
943 */
944
945 0x00, 0x0F, 0xF0, 0x00,
946 0x00, 0x0F, 0xF0, 0x00,
947 0x00, 0x01, 0x80, 0x00,
948 0x00, 0x01, 0x80, 0x00,
949 0x00, 0x01, 0x80, 0x00,
950 0x00, 0x01, 0x80, 0x00,
951 0x00, 0x01, 0x80, 0x00,
952 0x00, 0x01, 0x80, 0x00,
953
954 0x00, 0x01, 0x80, 0x00,
955 0x00, 0x01, 0x80, 0x00,
956 0x00, 0x01, 0x80, 0x00,
957 0x00, 0x01, 0x80, 0x00,
958 0x00, 0x01, 0x80, 0x00,
959 0x00, 0x01, 0x80, 0x00,
960 0x00, 0x0F, 0xF0, 0x00,
961 0x00, 0x0F, 0xF0, 0x00,
962
963
964 /*
965 11111111 00000011 11111100 11111111
966 11111111 00000011 11111100 11111111
967 00011000 00000000 01100000 00011000
968 00011000 00000000 01100000 00011000
969 00011000 00000000 01100000 00011000
970 00011000 00000000 01100000 00011000
971 00011000 00000000 01100000 00011000
972 00011000 11111100 01100000 00011000
973
974 00011000 11111100 01100000 00011000
975 00011000 00000000 01100000 00011000
976 00011000 00000000 01100000 00011000
977 00011000 00000000 01100000 00011000
978 00011000 00000000 01100000 00011000
979 00011000 00000000 01100000 00011000
980 11111111 00000011 11111100 11111111
981 11111111 00000011 11111100 11111111
982 */
983
984 0xFF, 0x03, 0xFC, 0xFF,
985 0xFF, 0x03, 0xFC, 0xFF,
986 0x18, 0x00, 0x60, 0x18,
987 0x18, 0x00, 0x60, 0x18,
988 0x18, 0x00, 0x60, 0x18,
989 0x18, 0x00, 0x60, 0x18,
990 0x18, 0x00, 0x60, 0x18,
991 0x18, 0xFC, 0x60, 0x18,
992
993 0x18, 0xFC, 0x60, 0x18,
994 0x18, 0x00, 0x60, 0x18,
995 0x18, 0x00, 0x60, 0x18,
996 0x18, 0x00, 0x60, 0x18,
997 0x18, 0x00, 0x60, 0x18,
998 0x18, 0x00, 0x60, 0x18,
999 0xFF, 0x03, 0xFC, 0xFF,
1000 0xFF, 0x03, 0xFC, 0xFF,
1001
1002 /*
1003 00000000 00011111 11111111 11111000 00000000
1004 00000000 00111111 11111111 11111100 00000000
1005 00000000 01111111 11111111 11111110 00000000
1006 00000000 11111111 11111111 11111111 00000000
1007 00000001 11111111 11111111 11111111 10000000
1008 00000011 11111100 00000000 00111111 11000000
1009 00000111 11111000 00000000 00011111 11100000
1010 00001111 11110000 00111100 00001111 11110000
1011 00011111 11100000 00111100 00000111 11111000
1012 00111111 11000000 00111100 00000011 11111100
1013 01111111 10000000 00111100 00000001 11111110
1014 11111111 00000000 00111111 11111100 11111111
1015 11111111 00000000 00111111 11111100 11111111
1016 11111111 00000000 00111111 11111100 11111111
1017 11111111 00000000 00111111 11111100 11111111
1018 01111111 10000000 00000000 00000001 11111110
1019 00111111 11000000 00000000 00000011 11111100
1020 00011111 11100000 00000000 00000111 11111000
1021 00001111 11110000 00000000 00001111 11110000
1022 00000111 11111000 00000000 00011111 11100000
1023 00000011 11111100 00000000 00111111 11000000
1024 00000001 11111111 11111111 11111111 10000000
1025 00000000 11111111 11111111 11111110 00000000
1026 00000000 01111111 11111111 11111100 00000000
1027 00000000 00111111 11111111 11111000 00000000
1028 00000000 00011111 11111111 11110000 00000000
1029 */
1030
1031 0x00, 0x1F, 0xFF, 0xF8, 0x00,
1032 0x00, 0x3F, 0xFF, 0xFC, 0x00,
1033 0x00, 0x7F, 0xFF, 0xFE, 0x00,
1034 0x00, 0xFF, 0xFF, 0xFF, 0x00,
1035 0x01, 0xFF, 0xFF, 0xFF, 0x80,
1036 0x03, 0xFC, 0x00, 0x3F, 0xC0,
1037 0x07, 0xF8, 0x00, 0x1F, 0xE0,
1038 0x0F, 0xF0, 0x3C, 0x0F, 0xF0,
1039 0x1F, 0xE0, 0x3C, 0x07, 0xF8,
1040 0x3F, 0xC0, 0x3C, 0x03, 0xFC,
1041 0x7F, 0x80, 0x3C, 0x01, 0xFE, 
1042 0xFF, 0x00, 0x3F, 0xFC, 0xFF,
1043 0xFF, 0x00, 0x3F, 0xFC, 0xFF,
1044 0xFF, 0x00, 0x3F, 0xFC, 0xFF, 
1045 0xFF, 0x00, 0x3F, 0xFC, 0xFF,
1046 0x7F, 0x80, 0x00, 0x01, 0xFE,
1047 0x3F, 0xC0, 0x00, 0x03, 0xFC,
1048 0x1F, 0xE0, 0x00, 0x07, 0xF8,
1049 0x0F, 0xF0, 0x00, 0x0F, 0xF0,
1050 0x07, 0xF8, 0x00, 0x1F, 0xE0,
1051 0x03, 0xFC, 0x00, 0x3F, 0xC0,
1052 0x01, 0xFF, 0xFF, 0xFF, 0x80,
1053 0x00, 0xFF, 0xFF, 0xFE, 0x00,
1054 0x00, 0x7F, 0xFF, 0xFC, 0x00,
1055 0x00, 0x3F, 0xFF, 0xF8, 0x00,
1056 0x00, 0x1F, 0xFF, 0xF0, 0x00,
1057
1058 };
1059
1060 WSymbol::WSymbol()
1061 {
1062   nextSymbol = 0;
1063   nextColour = DrawStyle::LIGHTTEXT;
1064 }
1065
1066 void WSymbol::draw()
1067 {
1068   int offset = 0;
1069   for(int i = 0; i < nextSymbol; i++)
1070   {
1071     offset += (widths[i]) * heights[i];
1072   }
1073
1074   UCHAR* base = symbols + offset;
1075   int widthBytes = widths[nextSymbol];
1076   int widthBits = widthBytes * 8;
1077   int sHeight = heights[nextSymbol];
1078
1079 //  int x, y, bytesIn, bitsIn;
1080
1081   drawMonoBitmap(base,0,0,sHeight,widthBits, nextColour);
1082  /* startFastDraw();
1083   for (y = 0; y < sHeight; y++)
1084   {
1085     for (x = 0; x < widthBits; x++)
1086     {
1087       bytesIn = (y * widthBytes) + (int)(x / 8);
1088       bitsIn = x % 8;
1089
1090       if ((base[bytesIn] >> (7 - bitsIn)) & 0x01)
1091       {
1092         drawPixel(x, y, nextColour,true);
1093       }
1094     }
1095   }
1096   endFastDraw();*/
1097 }
1098
1099 bool WSymbol::mouseLBDOWN(int x, int y)
1100 {
1101   if ((x-getRootBoxOffsetX())>=0 && (y-getRootBoxOffsetY())>=0
1102     && (x-getRootBoxOffsetX())<=32&& (y-getRootBoxOffsetY())<=32)
1103   {
1104     return true;
1105   }
1106   return false;
1107 }