0022815: Missing delete operator for placement new
[occt.git] / src / OpenGl / OpenGl_Display_2.cxx
CommitLineData
2166f0fa
SK
1// File: OpenGl_Display_2.cxx
2// Created: 25 October 2011
3// Author: Sergey ZERCHANINOV
4// Copyright: OPEN CASCADE 2011
5
6#include <OpenGl_Display.hxx>
7
8#ifdef HAVE_GL2PS
9#include <gl2ps.h>
10#endif
11
12#include <OpenGl_tgl_all.hxx>
13#include <GL/gl.h>
14
15/*----------------------------------------------------------------------*/
16/*
17* Constantes
18*/
19
20#define DOT_LS 0xCCCC
21#define DASH_DOT_LS 0xFF18
22#define DASH_LS 0xFFC0
23#define DASH_DDOT_LS 0xFF24
24
25static const unsigned int myInteriors[TEL_HS_USER_DEF_START][32] =
26{
27 //TEL_HS_SOLID
28 {
29 0xFFFFFFFF,
30 0xFFFFFFFF,
31 0xFFFFFFFF,
32 0xFFFFFFFF,
33 0xFFFFFFFF,
34 0xFFFFFFFF,
35 0xFFFFFFFF,
36 0xFFFFFFFF,
37 0xFFFFFFFF,
38 0xFFFFFFFF,
39 0xFFFFFFFF,
40 0xFFFFFFFF,
41 0xFFFFFFFF,
42 0xFFFFFFFF,
43 0xFFFFFFFF,
44 0xFFFFFFFF,
45 0xFFFFFFFF,
46 0xFFFFFFFF,
47 0xFFFFFFFF,
48 0xFFFFFFFF,
49 0xFFFFFFFF,
50 0xFFFFFFFF,
51 0xFFFFFFFF,
52 0xFFFFFFFF,
53 0xFFFFFFFF,
54 0xFFFFFFFF,
55 0xFFFFFFFF,
56 0xFFFFFFFF,
57 0xFFFFFFFF,
58 0xFFFFFFFF,
59 0xFFFFFFFF,
60 0xFFFFFFFF
61 },
62 //TEL_HS_CROSS
63 {
64 0xFFFFFFFF,
65 0xBBBBBBBB,
66 0xEEEEEEEE,
67 0xBBBBBBBB,
68 0xEEEEEEEE,
69 0xBBBBBBBB,
70 0xEEEEEEEE,
71 0xBBBBBBBB,
72 0xEEEEEEEE,
73 0xBBBBBBBB,
74 0xEEEEEEEE,
75 0xBBBBBBBB,
76 0xEEEEEEEE,
77 0xBBBBBBBB,
78 0xEEEEEEEE,
79 0xBBBBBBBB,
80 0xEEEEEEEE,
81 0xBBBBBBBB,
82 0xEEEEEEEE,
83 0xBBBBBBBB,
84 0xEEEEEEEE,
85 0xBBBBBBBB,
86 0xEEEEEEEE,
87 0xBBBBBBBB,
88 0xEEEEEEEE,
89 0xBBBBBBBB,
90 0xEEEEEEEE,
91 0xBBBBBBBB,
92 0xEEEEEEEE,
93 0xBBBBBBBB,
94 0xEEEEEEEE,
95 0xBBBBBBBB
96 },
97 //TEL_HS_CROSS_SPARSE
98 {
99 0x81818181,
100 0x24242424,
101 0x18181818,
102 0x42424242,
103 0x81818181,
104 0x24242424,
105 0x18181818,
106 0x42424242,
107 0x81818181,
108 0x24242424,
109 0x18181818,
110 0x42424242,
111 0x81818181,
112 0x24242424,
113 0x18181818,
114 0x42424242,
115 0x81818181,
116 0x24242424,
117 0x18181818,
118 0x42424242,
119 0x81818181,
120 0x24242424,
121 0x18181818,
122 0x42424242,
123 0x81818181,
124 0x24242424,
125 0x18181818,
126 0x42424242,
127 0x81818181,
128 0x24242424,
129 0x18181818,
130 0x42424242
131 },
132 //TEL_HS_GRID
133 {
134 0xFFFFFFFF,
135 0x88888888,
136 0xFFFFFFFF,
137 0x88888888,
138 0xFFFFFFFF,
139 0x88888888,
140 0xFFFFFFFF,
141 0x88888888,
142 0xFFFFFFFF,
143 0x88888888,
144 0xFFFFFFFF,
145 0x88888888,
146 0xFFFFFFFF,
147 0x88888888,
148 0xFFFFFFFF,
149 0x88888888,
150 0xFFFFFFFF,
151 0x88888888,
152 0xFFFFFFFF,
153 0x88888888,
154 0xFFFFFFFF,
155 0x88888888,
156 0xFFFFFFFF,
157 0x88888888,
158 0xFFFFFFFF,
159 0x88888888,
160 0xFFFFFFFF,
161 0x88888888,
162 0xFFFFFFFF,
163 0x88888888,
164 0xFFFFFFFF,
165 0x88888888
166 },
167 //TEL_HS_GRID_SPARSE
168 {
169 0xFFFFFFFF,
170 0x80808080,
171 0x80808080,
172 0x80808080,
173 0xFFFFFFFF,
174 0x80808080,
175 0x80808080,
176 0x80808080,
177 0xFFFFFFFF,
178 0x80808080,
179 0x80808080,
180 0x80808080,
181 0xFFFFFFFF,
182 0x80808080,
183 0x80808080,
184 0x80808080,
185 0xFFFFFFFF,
186 0x80808080,
187 0x80808080,
188 0x80808080,
189 0xFFFFFFFF,
190 0x80808080,
191 0x80808080,
192 0x80808080,
193 0xFFFFFFFF,
194 0x80808080,
195 0x80808080,
196 0x80808080,
197 0xFFFFFFFF,
198 0x80808080,
199 0x80808080,
200 0x80808080
201 },
202 //TEL_HS_DIAG_45
203 {
204 0x88888888,
205 0x22222222,
206 0x88888888,
207 0x22222222,
208 0x88888888,
209 0x22222222,
210 0x88888888,
211 0x22222222,
212 0x88888888,
213 0x22222222,
214 0x88888888,
215 0x22222222,
216 0x88888888,
217 0x22222222,
218 0x88888888,
219 0x22222222,
220 0x88888888,
221 0x22222222,
222 0x88888888,
223 0x22222222,
224 0x88888888,
225 0x22222222,
226 0x88888888,
227 0x22222222,
228 0x88888888,
229 0x22222222,
230 0x88888888,
231 0x22222222,
232 0x88888888,
233 0x22222222,
234 0x88888888,
235 0x22222222
236 },
237 //TEL_HS_DIAG_135
238 {
239 0x11111111,
240 0x44444444,
241 0x11111111,
242 0x44444444,
243 0x11111111,
244 0x44444444,
245 0x11111111,
246 0x44444444,
247 0x11111111,
248 0x44444444,
249 0x11111111,
250 0x44444444,
251 0x11111111,
252 0x44444444,
253 0x11111111,
254 0x44444444,
255 0x11111111,
256 0x44444444,
257 0x11111111,
258 0x44444444,
259 0x11111111,
260 0x44444444,
261 0x11111111,
262 0x44444444,
263 0x11111111,
264 0x44444444,
265 0x11111111,
266 0x44444444,
267 0x11111111,
268 0x44444444,
269 0x11111111,
270 0x44444444
271 },
272 //TEL_HS_HORIZONTAL
273 {
274 0xFFFFFFFF,
275 0x00000000,
276 0xFFFFFFFF,
277 0x00000000,
278 0xFFFFFFFF,
279 0x00000000,
280 0xFFFFFFFF,
281 0x00000000,
282 0xFFFFFFFF,
283 0x00000000,
284 0xFFFFFFFF,
285 0x00000000,
286 0xFFFFFFFF,
287 0x00000000,
288 0xFFFFFFFF,
289 0x00000000,
290 0xFFFFFFFF,
291 0x00000000,
292 0xFFFFFFFF,
293 0x00000000,
294 0xFFFFFFFF,
295 0x00000000,
296 0xFFFFFFFF,
297 0x00000000,
298 0xFFFFFFFF,
299 0x00000000,
300 0xFFFFFFFF,
301 0x00000000,
302 0xFFFFFFFF,
303 0x00000000,
304 0xFFFFFFFF,
305 0x00000000
306 },
307 //TEL_HS_VERTICAL
308 {
309 0x11111111,
310 0x11111111,
311 0x11111111,
312 0x11111111,
313 0x11111111,
314 0x11111111,
315 0x11111111,
316 0x11111111,
317 0x11111111,
318 0x11111111,
319 0x11111111,
320 0x11111111,
321 0x11111111,
322 0x11111111,
323 0x11111111,
324 0x11111111,
325 0x11111111,
326 0x11111111,
327 0x11111111,
328 0x11111111,
329 0x11111111,
330 0x11111111,
331 0x11111111,
332 0x11111111,
333 0x11111111,
334 0x11111111,
335 0x11111111,
336 0x11111111,
337 0x11111111,
338 0x11111111,
339 0x11111111,
340 0x11111111
341 },
342 //TEL_HS_DIAG_45_SPARSE
343 {
344 0x80808080,
345 0x20202020,
346 0x08080808,
347 0x02020202,
348 0x80808080,
349 0x20202020,
350 0x08080808,
351 0x02020202,
352 0x80808080,
353 0x20202020,
354 0x08080808,
355 0x02020202,
356 0x80808080,
357 0x20202020,
358 0x08080808,
359 0x02020202,
360 0x80808080,
361 0x20202020,
362 0x08080808,
363 0x02020202,
364 0x80808080,
365 0x20202020,
366 0x08080808,
367 0x02020202,
368 0x80808080,
369 0x20202020,
370 0x08080808,
371 0x02020202,
372 0x80808080,
373 0x20202020,
374 0x08080808,
375 0x02020202
376 },
377 //TEL_HS_DIAG_135_SPARSE
378 {
379 0x01010101,
380 0x04040404,
381 0x10101010,
382 0x40404040,
383 0x01010101,
384 0x04040404,
385 0x10101010,
386 0x40404040,
387 0x01010101,
388 0x04040404,
389 0x10101010,
390 0x40404040,
391 0x01010101,
392 0x04040404,
393 0x10101010,
394 0x40404040,
395 0x01010101,
396 0x04040404,
397 0x10101010,
398 0x40404040,
399 0x01010101,
400 0x04040404,
401 0x10101010,
402 0x40404040,
403 0x01010101,
404 0x04040404,
405 0x10101010,
406 0x40404040,
407 0x01010101,
408 0x04040404,
409 0x10101010,
410 0x40404040
411 },
412 //TEL_HS_HORIZONTAL_SPARSE
413 {
414 0xFFFFFFFF,
415 0x00000000,
416 0x00000000,
417 0x00000000,
418 0xFFFFFFFF,
419 0x00000000,
420 0x00000000,
421 0x00000000,
422 0xFFFFFFFF,
423 0x00000000,
424 0x00000000,
425 0x00000000,
426 0xFFFFFFFF,
427 0x00000000,
428 0x00000000,
429 0x00000000,
430 0xFFFFFFFF,
431 0x00000000,
432 0x00000000,
433 0x00000000,
434 0xFFFFFFFF,
435 0x00000000,
436 0x00000000,
437 0x00000000,
438 0xFFFFFFFF,
439 0x00000000,
440 0x00000000,
441 0x00000000,
442 0xFFFFFFFF,
443 0x00000000,
444 0x00000000,
445 0x00000000
446 },
447 //TEL_HS_VERTICAL_SPARSE
448 {
449 0x10101010,
450 0x10101010,
451 0x10101010,
452 0x10101010,
453 0x10101010,
454 0x10101010,
455 0x10101010,
456 0x10101010,
457 0x10101010,
458 0x10101010,
459 0x10101010,
460 0x10101010,
461 0x10101010,
462 0x10101010,
463 0x10101010,
464 0x10101010,
465 0x10101010,
466 0x10101010,
467 0x10101010,
468 0x10101010,
469 0x10101010,
470 0x10101010,
471 0x10101010,
472 0x10101010,
473 0x10101010,
474 0x10101010,
475 0x10101010,
476 0x10101010,
477 0x10101010,
478 0x10101010,
479 0x10101010,
480 0x10101010
481 }
482};
483
484/* Following Section relates to POLYMARKER */
485
486#define TEL_NO_OF_SIZES 13
487#define TEL_NB_OF_LISTS 5
488
489struct PM_FONT_INFO
490{
491 const char *str;
492 Tfloat width, height;
493 Tint offset;
494};
495typedef PM_FONT_INFO* pm_font_info;
496
497#define PM_PLUS_10_NUM 9*2
498#define PM_PLUS_15_NUM 11*2
499#define PM_PLUS_20_NUM 13*2
500#define PM_PLUS_25_NUM 15*2
501#define PM_PLUS_30_NUM 17*3
502#define PM_PLUS_35_NUM 19*3
503#define PM_PLUS_40_NUM 21*3
504#define PM_PLUS_45_NUM 23*3
505#define PM_PLUS_50_NUM 25*4
506#define PM_PLUS_55_NUM 27*4
507#define PM_PLUS_60_NUM 29*4
508#define PM_PLUS_65_NUM 31*4
509#define PM_PLUS_70_NUM 32*4
510
511#define PM_STAR_10_NUM 9
512#define PM_STAR_15_NUM 11*2
513#define PM_STAR_20_NUM 13*2
514#define PM_STAR_25_NUM 15*2
515#define PM_STAR_30_NUM 17*2
516#define PM_STAR_35_NUM 19*2
517#define PM_STAR_40_NUM 21*3
518#define PM_STAR_45_NUM 23*3
519#define PM_STAR_50_NUM 25*3
520#define PM_STAR_55_NUM 27*3
521#define PM_STAR_60_NUM 29*4
522#define PM_STAR_65_NUM 32*4
523#define PM_STAR_70_NUM 32*4
524
525#define PM_CIRC_10_NUM 7
526#define PM_CIRC_15_NUM 9*2
527#define PM_CIRC_20_NUM 9*2
528#define PM_CIRC_25_NUM 11*2
529#define PM_CIRC_30_NUM 13*2
530#define PM_CIRC_35_NUM 15*2
531#define PM_CIRC_40_NUM 17*3
532#define PM_CIRC_45_NUM 19*3
533#define PM_CIRC_50_NUM 21*3
534#define PM_CIRC_55_NUM 23*3
535#define PM_CIRC_60_NUM 25*4
536#define PM_CIRC_65_NUM 27*4
537#define PM_CIRC_70_NUM 29*4
538
539#define PM_CROSS_10_NUM 7
540#define PM_CROSS_15_NUM 9*2
541#define PM_CROSS_20_NUM 11*2
542#define PM_CROSS_25_NUM 13*2
543#define PM_CROSS_30_NUM 15*2
544#define PM_CROSS_35_NUM 17*3
545#define PM_CROSS_40_NUM 19*3
546#define PM_CROSS_45_NUM 21*3
547#define PM_CROSS_50_NUM 23*3
548#define PM_CROSS_55_NUM 25*4
549#define PM_CROSS_60_NUM 27*4
550#define PM_CROSS_65_NUM 32*4
551#define PM_CROSS_70_NUM 32*4
552
553#define PM_PLUS_10_OFT 0
554#define PM_PLUS_15_OFT PM_PLUS_10_OFT + PM_PLUS_10_NUM
555#define PM_PLUS_20_OFT PM_PLUS_15_OFT + PM_PLUS_15_NUM
556#define PM_PLUS_25_OFT PM_PLUS_20_OFT + PM_PLUS_20_NUM
557#define PM_PLUS_30_OFT PM_PLUS_25_OFT + PM_PLUS_25_NUM
558#define PM_PLUS_35_OFT PM_PLUS_30_OFT + PM_PLUS_30_NUM
559#define PM_PLUS_40_OFT PM_PLUS_35_OFT + PM_PLUS_35_NUM
560#define PM_PLUS_45_OFT PM_PLUS_40_OFT + PM_PLUS_40_NUM
561#define PM_PLUS_50_OFT PM_PLUS_45_OFT + PM_PLUS_45_NUM
562#define PM_PLUS_55_OFT PM_PLUS_50_OFT + PM_PLUS_50_NUM
563#define PM_PLUS_60_OFT PM_PLUS_55_OFT + PM_PLUS_55_NUM
564#define PM_PLUS_65_OFT PM_PLUS_60_OFT + PM_PLUS_60_NUM
565#define PM_PLUS_70_OFT PM_PLUS_65_OFT + PM_PLUS_65_NUM
566
567#define PM_STAR_10_OFT PM_PLUS_70_OFT + PM_PLUS_70_NUM
568#define PM_STAR_15_OFT PM_STAR_10_OFT + PM_STAR_10_NUM
569#define PM_STAR_20_OFT PM_STAR_15_OFT + PM_STAR_15_NUM
570#define PM_STAR_25_OFT PM_STAR_20_OFT + PM_STAR_20_NUM
571#define PM_STAR_30_OFT PM_STAR_25_OFT + PM_STAR_25_NUM
572#define PM_STAR_35_OFT PM_STAR_30_OFT + PM_STAR_30_NUM
573#define PM_STAR_40_OFT PM_STAR_35_OFT + PM_STAR_35_NUM
574#define PM_STAR_45_OFT PM_STAR_40_OFT + PM_STAR_40_NUM
575#define PM_STAR_50_OFT PM_STAR_45_OFT + PM_STAR_45_NUM
576#define PM_STAR_55_OFT PM_STAR_50_OFT + PM_STAR_50_NUM
577#define PM_STAR_60_OFT PM_STAR_55_OFT + PM_STAR_55_NUM
578#define PM_STAR_65_OFT PM_STAR_60_OFT + PM_STAR_60_NUM
579#define PM_STAR_70_OFT PM_STAR_65_OFT + PM_STAR_65_NUM
580
581#define PM_CIRC_10_OFT PM_STAR_70_OFT + PM_STAR_70_NUM
582#define PM_CIRC_15_OFT PM_CIRC_10_OFT + PM_CIRC_10_NUM
583#define PM_CIRC_20_OFT PM_CIRC_15_OFT + PM_CIRC_15_NUM
584#define PM_CIRC_25_OFT PM_CIRC_20_OFT + PM_CIRC_20_NUM
585#define PM_CIRC_30_OFT PM_CIRC_25_OFT + PM_CIRC_25_NUM
586#define PM_CIRC_35_OFT PM_CIRC_30_OFT + PM_CIRC_30_NUM
587#define PM_CIRC_40_OFT PM_CIRC_35_OFT + PM_CIRC_35_NUM
588#define PM_CIRC_45_OFT PM_CIRC_40_OFT + PM_CIRC_40_NUM
589#define PM_CIRC_50_OFT PM_CIRC_45_OFT + PM_CIRC_45_NUM
590#define PM_CIRC_55_OFT PM_CIRC_50_OFT + PM_CIRC_50_NUM
591#define PM_CIRC_60_OFT PM_CIRC_55_OFT + PM_CIRC_55_NUM
592#define PM_CIRC_65_OFT PM_CIRC_60_OFT + PM_CIRC_60_NUM
593#define PM_CIRC_70_OFT PM_CIRC_65_OFT + PM_CIRC_65_NUM
594
595#define PM_CROSS_10_OFT PM_CIRC_70_OFT + PM_CIRC_70_NUM
596#define PM_CROSS_15_OFT PM_CROSS_10_OFT + PM_CROSS_10_NUM
597#define PM_CROSS_20_OFT PM_CROSS_15_OFT + PM_CROSS_15_NUM
598#define PM_CROSS_25_OFT PM_CROSS_20_OFT + PM_CROSS_20_NUM
599#define PM_CROSS_30_OFT PM_CROSS_25_OFT + PM_CROSS_25_NUM
600#define PM_CROSS_35_OFT PM_CROSS_30_OFT + PM_CROSS_30_NUM
601#define PM_CROSS_40_OFT PM_CROSS_35_OFT + PM_CROSS_35_NUM
602#define PM_CROSS_45_OFT PM_CROSS_40_OFT + PM_CROSS_40_NUM
603#define PM_CROSS_50_OFT PM_CROSS_45_OFT + PM_CROSS_45_NUM
604#define PM_CROSS_55_OFT PM_CROSS_50_OFT + PM_CROSS_50_NUM
605#define PM_CROSS_60_OFT PM_CROSS_55_OFT + PM_CROSS_55_NUM
606#define PM_CROSS_65_OFT PM_CROSS_60_OFT + PM_CROSS_60_NUM
607#define PM_CROSS_70_OFT PM_CROSS_65_OFT + PM_CROSS_65_NUM
608
609static const PM_FONT_INFO arrPMFontInfo[][TEL_NO_OF_SIZES] =
610{
611 /* TOM_POINT - not used */
612 {{"\0"},
613 {"\0"},
614 {"\0"},
615 {"\0"},
616 {"\0"},
617 {"\0"},
618 {"\0"},
619 {"\0"},
620 {"\0"},
621 {"\0"},
622 {"\0"},
623 {"\0"},
624 {"\0"}},
625
626 /* TOM_PLUS */
627 {{"\001", 9.f, 9.f, PM_PLUS_10_OFT},
628 {"\002", 11.f, 11.f, PM_PLUS_15_OFT},
629 {"\003", 13.f, 13.f, PM_PLUS_20_OFT},
630 {"\004", 15.f, 15.f, PM_PLUS_25_OFT},
631 {"\005", 17.f, 17.f, PM_PLUS_30_OFT},
632 {"\006", 19.f, 19.f, PM_PLUS_35_OFT},
633 {"\007", 21.f, 21.f, PM_PLUS_40_OFT},
634 {"\010", 23.f, 23.f, PM_PLUS_45_OFT},
635 {"\011", 25.f, 25.f, PM_PLUS_50_OFT},
636 {"\012", 27.f, 27.f, PM_PLUS_55_OFT},
637 {"\013", 29.f, 29.f, PM_PLUS_60_OFT},
638 {"\014", 31.f, 31.f, PM_PLUS_65_OFT},
639 {"\015", 32.f, 32.f, PM_PLUS_70_OFT}},
640
641 /* TOM_STAR */
642 {{"\016", 7.f, 9.f, PM_STAR_10_OFT},
643 {"\017", 9.f, 11.f, PM_STAR_15_OFT},
644 {"\020", 11.f, 13.f, PM_STAR_20_OFT},
645 {"\021", 13.f, 15.f, PM_STAR_25_OFT},
646 {"\022", 13.f, 17.f, PM_STAR_30_OFT},
647 {"\023", 15.f, 19.f, PM_STAR_35_OFT},
648 {"\024", 17.f, 21.f, PM_STAR_40_OFT},
649 {"\025", 19.f, 23.f, PM_STAR_45_OFT},
650 {"\026", 21.f, 25.f, PM_STAR_50_OFT},
651 {"\027", 23.f, 27.f, PM_STAR_55_OFT},
652 {"\030", 25.f, 29.f, PM_STAR_60_OFT},
653 {"\031", 32.f, 32.f, PM_STAR_65_OFT},
654 {"\032", 32.f, 32.f, PM_STAR_70_OFT}},
655
656 /* TOM_O */
657 {{"\033", 7.f, 7.f, PM_CIRC_10_OFT},
658 {"\034", 9.f, 9.f, PM_CIRC_15_OFT},
659 {"\035", 9.f, 9.f, PM_CIRC_20_OFT},
660 {"\036", 11.f, 11.f, PM_CIRC_25_OFT},
661 {"\037", 13.f, 13.f, PM_CIRC_30_OFT},
662 {"\040", 15.f, 15.f, PM_CIRC_35_OFT},
663 {"\041", 17.f, 17.f, PM_CIRC_40_OFT},
664 {"\042", 19.f, 19.f, PM_CIRC_45_OFT},
665 {"\043", 21.f, 21.f, PM_CIRC_50_OFT},
666 {"\044", 23.f, 23.f, PM_CIRC_55_OFT},
667 {"\045", 25.f, 25.f, PM_CIRC_60_OFT},
668 {"\046", 27.f, 27.f, PM_CIRC_65_OFT},
669 {"\047", 29.f, 29.f, PM_CIRC_70_OFT}},
670
671 /* TOM_X */
672 {{"\050", 7.f, 7.f, PM_CROSS_10_OFT},
673 {"\051", 9.f, 9.f, PM_CROSS_15_OFT},
674 {"\052", 11.f, 11.f, PM_CROSS_20_OFT},
675 {"\053", 13.f, 13.f, PM_CROSS_25_OFT},
676 {"\054", 15.f, 15.f, PM_CROSS_30_OFT},
677 {"\055", 17.f, 17.f, PM_CROSS_35_OFT},
678 {"\056", 19.f, 19.f, PM_CROSS_40_OFT},
679 {"\057", 21.f, 21.f, PM_CROSS_45_OFT},
680 {"\060", 23.f, 23.f, PM_CROSS_50_OFT},
681 {"\061", 25.f, 25.f, PM_CROSS_55_OFT},
682 {"\062", 27.f, 27.f, PM_CROSS_60_OFT},
683 {"\063", 32.f, 32.f, PM_CROSS_65_OFT},
684 {"\064", 32.f, 32.f, PM_CROSS_70_OFT}},
685
686 /* TOM_O_POINT - not used */
687 {{"\0"},
688 {"\0"},
689 {"\0"},
690 {"\0"},
691 {"\0"},
692 {"\0"},
693 {"\0"},
694 {"\0"},
695 {"\0"},
696 {"\0"},
697 {"\0"},
698 {"\0"},
699 {"\0"}},
700
701 /* TOM_O_PLUS */
702 {{"\001\033"},
703 {"\002\034"},
704 {"\003\035"},
705 {"\004\036"},
706 {"\005\037"},
707 {"\006\040"},
708 {"\007\041"},
709 {"\010\042"},
710 {"\011\043"},
711 {"\012\044"},
712 {"\013\045"},
713 {"\014\046"},
714 {"\015\047"}},
715
716 /* TOM_O_STAR */
717 {{"\016\033"},
718 {"\017\034"},
719 {"\020\035"},
720 {"\021\036"},
721 {"\022\037"},
722 {"\023\040"},
723 {"\024\041"},
724 {"\025\042"},
725 {"\026\043"},
726 {"\027\044"},
727 {"\030\045"},
728 {"\031\046"},
729 {"\032\047"}},
730
731 /* TOM_O_X */
732 {{"\050\033"},
733 {"\051\034"},
734 {"\052\035"},
735 {"\053\036"},
736 {"\054\037"},
737 {"\055\040"},
738 {"\056\041"},
739 {"\057\042"},
740 {"\060\043"},
741 {"\061\044"},
742 {"\062\045"},
743 {"\063\046"},
744 {"\064\047"}}
745};
746
747static const unsigned char myMarkerRaster[] =
748{
749 /* TYPE = PLUS */
750
751 0x08,0x00,
752 0x08,0x00,
753 0x08,0x00,
754 0x08,0x00,
755 0xff,0x80,
756 0x08,0x00,
757 0x08,0x00,
758 0x08,0x00,
759 0x08,0x00, /* PLUS 9x9 = 1.0 */
760
761 0x04,0x00,
762 0x04,0x00,
763 0x04,0x00,
764 0x04,0x00,
765 0x04,0x00,
766 0xff,0xe0,
767 0x04,0x00,
768 0x04,0x00,
769 0x04,0x00,
770 0x04,0x00,
771 0x04,0x00, /* PLUS 11x11 = 1.5 */
772
773 0x02,0x00,
774 0x02,0x00,
775 0x02,0x00,
776 0x02,0x00,
777 0x02,0x00,
778 0x02,0x00,
779 0xff,0xf8,
780 0x02,0x00,
781 0x02,0x00,
782 0x02,0x00,
783 0x02,0x00,
784 0x02,0x00,
785 0x02,0x00,/* PLUS 13x13 = 2.0 */
786
787 0x01,0x00,
788 0x01,0x00,
789 0x01,0x00,
790 0x01,0x00,
791 0x01,0x00,
792 0x01,0x00,
793 0x01,0x00,
794 0xff,0xfe,
795 0x01,0x00,
796 0x01,0x00,
797 0x01,0x00,
798 0x01,0x00,
799 0x01,0x00,
800 0x01,0x00,
801 0x01,0x00,/* PLUS 15x15 = 2.5 */
802
803 0x00,0x80, 0x00,
804 0x00,0x80, 0x00,
805 0x00,0x80, 0x00,
806 0x00,0x80, 0x00,
807 0x00,0x80, 0x00,
808 0x00,0x80, 0x00,
809 0x00,0x80, 0x00,
810 0x00,0x80, 0x00,
811 0xff,0xff, 0x80,
812 0x00,0x80, 0x00,
813 0x00,0x80, 0x00,
814 0x00,0x80, 0x00,
815 0x00,0x80, 0x00,
816 0x00,0x80, 0x00,
817 0x00,0x80, 0x00,
818 0x00,0x80, 0x00,
819 0x00,0x80, 0x00,/* PLUS 17x17 = 3.0 */
820
821 0x00,0x40, 0x00,
822 0x00,0x40, 0x00,
823 0x00,0x40, 0x00,
824 0x00,0x40, 0x00,
825 0x00,0x40, 0x00,
826 0x00,0x40, 0x00,
827 0x00,0x40, 0x00,
828 0x00,0x40, 0x00,
829 0x00,0x40, 0x00,
830 0xff,0xff, 0xe0,
831 0x00,0x40, 0x00,
832 0x00,0x40, 0x00,
833 0x00,0x40, 0x00,
834 0x00,0x40, 0x00,
835 0x00,0x40, 0x00,
836 0x00,0x40, 0x00,
837 0x00,0x40, 0x00,
838 0x00,0x40, 0x00,
839 0x00,0x40, 0x00,/* PLUS 19x19 = 3.5 */
840
841 0x00,0x20, 0x00,
842 0x00,0x20, 0x00,
843 0x00,0x20, 0x00,
844 0x00,0x20, 0x00,
845 0x00,0x20, 0x00,
846 0x00,0x20, 0x00,
847 0x00,0x20, 0x00,
848 0x00,0x20, 0x00,
849 0x00,0x20, 0x00,
850 0x00,0x20, 0x00,
851 0xff,0xff, 0xf8,
852 0x00,0x20, 0x00,
853 0x00,0x20, 0x00,
854 0x00,0x20, 0x00,
855 0x00,0x20, 0x00,
856 0x00,0x20, 0x00,
857 0x00,0x20, 0x00,
858 0x00,0x20, 0x00,
859 0x00,0x20, 0x00,
860 0x00,0x20, 0x00,
861 0x00,0x20, 0x00,/* PLUS 21x21 = 4.0 */
862
863 0x00,0x10, 0x00,
864 0x00,0x10, 0x00,
865 0x00,0x10, 0x00,
866 0x00,0x10, 0x00,
867 0x00,0x10, 0x00,
868 0x00,0x10, 0x00,
869 0x00,0x10, 0x00,
870 0x00,0x10, 0x00,
871 0x00,0x10, 0x00,
872 0x00,0x10, 0x00,
873 0x00,0x10, 0x00,
874 0xff,0xff, 0xfe,
875 0x00,0x10, 0x00,
876 0x00,0x10, 0x00,
877 0x00,0x10, 0x00,
878 0x00,0x10, 0x00,
879 0x00,0x10, 0x00,
880 0x00,0x10, 0x00,
881 0x00,0x10, 0x00,
882 0x00,0x10, 0x00,
883 0x00,0x10, 0x00,
884 0x00,0x10, 0x00,
885 0x00,0x10, 0x00,/* PLUS 23x23 = 4.5 */
886
887 0x00,0x08, 0x00,0x00,
888 0x00,0x08, 0x00,0x00,
889 0x00,0x08, 0x00,0x00,
890 0x00,0x08, 0x00,0x00,
891 0x00,0x08, 0x00,0x00,
892 0x00,0x08, 0x00,0x00,
893 0x00,0x08, 0x00,0x00,
894 0x00,0x08, 0x00,0x00,
895 0x00,0x08, 0x00,0x00,
896 0x00,0x08, 0x00,0x00,
897 0x00,0x08, 0x00,0x00,
898 0x00,0x08, 0x00,0x00,
899 0xff,0xff, 0xff,0x80,
900 0x00,0x08, 0x00,0x00,
901 0x00,0x08, 0x00,0x00,
902 0x00,0x08, 0x00,0x00,
903 0x00,0x08, 0x00,0x00,
904 0x00,0x08, 0x00,0x00,
905 0x00,0x08, 0x00,0x00,
906 0x00,0x08, 0x00,0x00,
907 0x00,0x08, 0x00,0x00,
908 0x00,0x08, 0x00,0x00,
909 0x00,0x08, 0x00,0x00,
910 0x00,0x08, 0x00,0x00,
911 0x00,0x08, 0x00,0x00,/* PLUS 25x25 = 5.0 */
912
913 0x00,0x04, 0x00,0x00,
914 0x00,0x04, 0x00,0x00,
915 0x00,0x04, 0x00,0x00,
916 0x00,0x04, 0x00,0x00,
917 0x00,0x04, 0x00,0x00,
918 0x00,0x04, 0x00,0x00,
919 0x00,0x04, 0x00,0x00,
920 0x00,0x04, 0x00,0x00,
921 0x00,0x04, 0x00,0x00,
922 0x00,0x04, 0x00,0x00,
923 0x00,0x04, 0x00,0x00,
924 0x00,0x04, 0x00,0x00,
925 0x00,0x04, 0x00,0x00,
926 0xff,0xff, 0xff,0xe0,
927 0x00,0x04, 0x00,0x00,
928 0x00,0x04, 0x00,0x00,
929 0x00,0x04, 0x00,0x00,
930 0x00,0x04, 0x00,0x00,
931 0x00,0x04, 0x00,0x00,
932 0x00,0x04, 0x00,0x00,
933 0x00,0x04, 0x00,0x00,
934 0x00,0x04, 0x00,0x00,
935 0x00,0x04, 0x00,0x00,
936 0x00,0x04, 0x00,0x00,
937 0x00,0x04, 0x00,0x00,
938 0x00,0x04, 0x00,0x00,
939 0x00,0x04, 0x00,0x00,/* PLUS 27x27 = 5.5 */
940
941 0x00,0x02, 0x00,0x00,
942 0x00,0x02, 0x00,0x00,
943 0x00,0x02, 0x00,0x00,
944 0x00,0x02, 0x00,0x00,
945 0x00,0x02, 0x00,0x00,
946 0x00,0x02, 0x00,0x00,
947 0x00,0x02, 0x00,0x00,
948 0x00,0x02, 0x00,0x00,
949 0x00,0x02, 0x00,0x00,
950 0x00,0x02, 0x00,0x00,
951 0x00,0x02, 0x00,0x00,
952 0x00,0x02, 0x00,0x00,
953 0x00,0x02, 0x00,0x00,
954 0x00,0x02, 0x00,0x00,
955 0xff,0xff, 0xff,0xf8,
956 0x00,0x02, 0x00,0x00,
957 0x00,0x02, 0x00,0x00,
958 0x00,0x02, 0x00,0x00,
959 0x00,0x02, 0x00,0x00,
960 0x00,0x02, 0x00,0x00,
961 0x00,0x02, 0x00,0x00,
962 0x00,0x02, 0x00,0x00,
963 0x00,0x02, 0x00,0x00,
964 0x00,0x02, 0x00,0x00,
965 0x00,0x02, 0x00,0x00,
966 0x00,0x02, 0x00,0x00,
967 0x00,0x02, 0x00,0x00,
968 0x00,0x02, 0x00,0x00,
969 0x00,0x02, 0x00,0x00,/* PLUS 29x29 = 6.0 */
970
971 0x00,0x01, 0x00,0x00,
972 0x00,0x01, 0x00,0x00,
973 0x00,0x01, 0x00,0x00,
974 0x00,0x01, 0x00,0x00,
975 0x00,0x01, 0x00,0x00,
976 0x00,0x01, 0x00,0x00,
977 0x00,0x01, 0x00,0x00,
978 0x00,0x01, 0x00,0x00,
979 0x00,0x01, 0x00,0x00,
980 0x00,0x01, 0x00,0x00,
981 0x00,0x01, 0x00,0x00,
982 0x00,0x01, 0x00,0x00,
983 0x00,0x01, 0x00,0x00,
984 0x00,0x01, 0x00,0x00,
985 0x00,0x01, 0x00,0x00,
986 0xff,0xff, 0xff,0xfd,
987 0x00,0x01, 0x00,0x00,
988 0x00,0x01, 0x00,0x00,
989 0x00,0x01, 0x00,0x00,
990 0x00,0x01, 0x00,0x00,
991 0x00,0x01, 0x00,0x00,
992 0x00,0x01, 0x00,0x00,
993 0x00,0x01, 0x00,0x00,
994 0x00,0x01, 0x00,0x00,
995 0x00,0x01, 0x00,0x00,
996 0x00,0x01, 0x00,0x00,
997 0x00,0x01, 0x00,0x00,
998 0x00,0x01, 0x00,0x00,
999 0x00,0x01, 0x00,0x00,
1000 0x00,0x01, 0x00,0x00,
1001 0x00,0x01, 0x00,0x00,/* PLUS 31x31 = 6.5 */
1002
1003 0x00,0x00, 0x80,0x00,
1004 0x00,0x00, 0x80,0x00,
1005 0x00,0x00, 0x80,0x00,
1006 0x00,0x00, 0x80,0x00,
1007 0x00,0x00, 0x80,0x00,
1008 0x00,0x00, 0x80,0x00,
1009 0x00,0x00, 0x80,0x00,
1010 0x00,0x00, 0x80,0x00,
1011 0x00,0x00, 0x80,0x00,
1012 0x00,0x00, 0x80,0x00,
1013 0x00,0x00, 0x80,0x00,
1014 0x00,0x00, 0x80,0x00,
1015 0x00,0x00, 0x80,0x00,
1016 0x00,0x00, 0x80,0x00,
1017 0x00,0x00, 0x80,0x00,
1018 0x00,0x00, 0x80,0x00,
1019 0xff,0xff, 0xff,0xff,
1020 0x00,0x00, 0x80,0x00,
1021 0x00,0x00, 0x80,0x00,
1022 0x00,0x00, 0x80,0x00,
1023 0x00,0x00, 0x80,0x00,
1024 0x00,0x00, 0x80,0x00,
1025 0x00,0x00, 0x80,0x00,
1026 0x00,0x00, 0x80,0x00,
1027 0x00,0x00, 0x80,0x00,
1028 0x00,0x00, 0x80,0x00,
1029 0x00,0x00, 0x80,0x00,
1030 0x00,0x00, 0x80,0x00,
1031 0x00,0x00, 0x80,0x00,
1032 0x00,0x00, 0x80,0x00,
1033 0x00,0x00, 0x80,0x00,
1034 0x00,0x00, 0x80,0x00,/* PLUS 32x32 = 7.0 */
1035
1036 /* TYPE = STAR */
1037
1038 0x10,
1039 0x10,
1040 0xd6,
1041 0x38,
1042 0x10,
1043 0x38,
1044 0xd6,
1045 0x10,
1046 0x10,/* STAR 7x9 = 1.0 */
1047
1048 0x08,0x00,
1049 0x08,0x00,
1050 0x08,0x00,
1051 0xc9,0x80,
1052 0x3e,0x00,
1053 0x08,0x00,
1054 0x3e,0x00,
1055 0xc9,0x80,
1056 0x08,0x00,
1057 0x08,0x00,
1058 0x08,0x00,/* STAR 9x11 = 1.5 */
1059
1060 0x04,0x00,
1061 0x04,0x00,
1062 0x04,0x00,
1063 0x84,0x20,
1064 0x64,0xc0,
1065 0x1f,0x00,
1066 0x04,0x00,
1067 0x1f,0x00,
1068 0x64,0xc0,
1069 0x84,0x20,
1070 0x04,0x00,
1071 0x04,0x00,
1072 0x04,0x00,/* STAR 11x13 = 2.0 */
1073
1074 0x02,0x00,
1075 0x02,0x00,
1076 0x02,0x00,
1077 0x02,0x00,
1078 0x82,0x18,
1079 0x62,0x60,
1080 0x1b,0x80,
1081 0x06,0x00,
1082 0x1b,0x80,
1083 0x62,0x60,
1084 0x82,0x18,
1085 0x02,0x00,
1086 0x02,0x00,
1087 0x02,0x00,
1088 0x02,0x00,/* STAR 13x15 = 2.5 */
1089
1090 0x02,0x00,
1091 0x02,0x00,
1092 0x02,0x00,
1093 0x02,0x00,
1094 0x82,0x08,
1095 0x62,0x30,
1096 0x12,0x40,
1097 0x0f,0x80,
1098 0x02,0x00,
1099 0x0f,0x80,
1100 0x12,0x40,
1101 0x62,0x30,
1102 0x82,0x08,
1103 0x02,0x00,
1104 0x02,0x00,
1105 0x02,0x00,
1106 0x02,0x00,/* STAR 13x17 = 3.0 */
1107
1108 0x01,0x00,
1109 0x01,0x00,
1110 0x01,0x00,
1111 0x01,0x00,
1112 0x01,0x00,
1113 0xc1,0x06,
1114 0x21,0x18,
1115 0x19,0x20,
1116 0x07,0xc0,
1117 0x01,0x00,
1118 0x07,0xc0,
1119 0x19,0x20,
1120 0x21,0x18,
1121 0xc1,0x06,
1122 0x01,0x00,
1123 0x01,0x00,
1124 0x01,0x00,
1125 0x01,0x00,
1126 0x01,0x00,/* STAR 15x19 = 3.5 */
1127
1128 0x00,0x80, 0x00,
1129 0x00,0x80, 0x00,
1130 0x00,0x80, 0x00,
1131 0x00,0x80, 0x00,
1132 0x00,0x80, 0x00,
1133 0x80,0x80, 0x80,
1134 0x60,0x83, 0x00,
1135 0x10,0x8c, 0x00,
1136 0x0c,0x90, 0x00,
1137 0x03,0xe0, 0x00,
1138 0x00,0x80, 0x00,
1139 0x03,0xe0, 0x00,
1140 0x0c,0x90, 0x00,
1141 0x10,0x8c, 0x00,
1142 0x60,0x83, 0x00,
1143 0x80,0x80, 0x80,
1144 0x00,0x80, 0x00,
1145 0x00,0x80, 0x00,
1146 0x00,0x80, 0x00,
1147 0x00,0x80, 0x00,
1148 0x00,0x80, 0x00,/* STAR 17x21 = 4.0 */
1149
1150 0x00,0x40, 0x00,
1151 0x00,0x40, 0x00,
1152 0x00,0x40, 0x00,
1153 0x00,0x40, 0x00,
1154 0x00,0x40, 0x00,
1155 0x00,0x40, 0x00,
1156 0xc0,0x40, 0x60,
1157 0x30,0x41, 0x80,
1158 0x08,0x42, 0x00,
1159 0x06,0x4c, 0x00,
1160 0x01,0xf0, 0x00,
1161 0x00,0x40, 0x00,
1162 0x01,0xf0, 0x00,
1163 0x06,0x4c, 0x00,
1164 0x08,0x42, 0x00,
1165 0x30,0x41, 0x80,
1166 0xc0,0x40, 0x60,
1167 0x00,0x40, 0x00,
1168 0x00,0x40, 0x00,
1169 0x00,0x40, 0x00,
1170 0x00,0x40, 0x00,
1171 0x00,0x40, 0x00,
1172 0x00,0x40, 0x00,/* STAR 19x23 = 4.5 */
1173
1174 0x00,0x20, 0x00,
1175 0x00,0x20, 0x00,
1176 0x00,0x20, 0x00,
1177 0x00,0x20, 0x00,
1178 0x00,0x20, 0x00,
1179 0x00,0x20, 0x00,
1180 0x80,0x20, 0x08,
1181 0x60,0x20, 0x30,
1182 0x18,0x20, 0xc0,
1183 0x04,0x21, 0x00,
1184 0x03,0x26, 0x00,
1185 0x00,0xf8, 0x00,
1186 0x00,0x20, 0x00,
1187 0x00,0xf8, 0x00,
1188 0x03,0x26, 0x00,
1189 0x04,0x21, 0x00,
1190 0x18,0x20, 0xc0,
1191 0x60,0x20, 0x30,
1192 0x80,0x20, 0x08,
1193 0x00,0x20, 0x00,
1194 0x00,0x20, 0x00,
1195 0x00,0x20, 0x00,
1196 0x00,0x20, 0x00,
1197 0x00,0x20, 0x00,
1198 0x00,0x20, 0x00,/* STAR 21x25 = 5.0 */
1199
1200 0x00,0x10, 0x00,
1201 0x00,0x10, 0x00,
1202 0x00,0x10, 0x00,
1203 0x00,0x10, 0x00,
1204 0x00,0x10, 0x00,
1205 0x00,0x10, 0x00,
1206 0x00,0x10, 0x00,
1207 0xc0,0x10, 0x06,
1208 0x30,0x10, 0x18,
1209 0x08,0x10, 0x60,
1210 0x06,0x10, 0x80,
1211 0x01,0x93, 0x00,
1212 0x00,0x7c, 0x00,
1213 0x00,0x10, 0x00,
1214 0x00,0x7c, 0x00,
1215 0x01,0x93, 0x00,
1216 0x06,0x10, 0x80,
1217 0x08,0x10, 0x60,
1218 0x30,0x10, 0x18,
1219 0xc0,0x10, 0x06,
1220 0x00,0x10, 0x00,
1221 0x00,0x10, 0x00,
1222 0x00,0x10, 0x00,
1223 0x00,0x10, 0x00,
1224 0x00,0x10, 0x00,
1225 0x00,0x10, 0x00,
1226 0x00,0x10, 0x00,/* STAR 23x27 = 5.5 */
1227
1228 0x00,0x08, 0x00,0x00,
1229 0x00,0x08, 0x00,0x00,
1230 0x00,0x08, 0x00,0x00,
1231 0x00,0x08, 0x00,0x00,
1232 0x00,0x08, 0x00,0x00,
1233 0x00,0x08, 0x00,0x00,
1234 0x00,0x08, 0x00,0x00,
1235 0x80,0x08, 0x00,0x80,
1236 0x60,0x08, 0x03,0x00,
1237 0x18,0x08, 0x0c,0x00,
1238 0x04,0x08, 0x30,0x00,
1239 0x03,0x08, 0x40,0x00,
1240 0x00,0xc9, 0x80,0x00,
1241 0x00,0x3e, 0x00,0x00,
1242 0x00,0x08, 0x00,0x00,
1243 0x00,0x3e, 0x00,0x00,
1244 0x00,0xc9, 0x80,0x00,
1245 0x03,0x08, 0x40,0x00,
1246 0x04,0x08, 0x30,0x00,
1247 0x18,0x08, 0x0c,0x00,
1248 0x60,0x08, 0x03,0x00,
1249 0x80,0x08, 0x00,0x80,
1250 0x00,0x08, 0x00,0x00,
1251 0x00,0x08, 0x00,0x00,
1252 0x00,0x08, 0x00,0x00,
1253 0x00,0x08, 0x00,0x00,
1254 0x00,0x08, 0x00,0x00,
1255 0x00,0x08, 0x00,0x00,
1256 0x00,0x08, 0x00,0x00,/* STAR 25x29 = 6.0 */
1257
1258 0x00,0x00, 0x80,0x00,
1259 0x00,0x00, 0x80,0x00,
1260 0x00,0x00, 0x80,0x00,
1261 0x00,0x00, 0x80,0x00,
1262 0x00,0x00, 0x80,0x00,
1263 0x00,0x00, 0x80,0x00,
1264 0x00,0x00, 0x80,0x00,
1265 0x00,0x00, 0x80,0x00,
1266 0x00,0x00, 0x80,0x00,
1267 0x30,0x00, 0x80,0x06,
1268 0x0c,0x00, 0x80,0x18,
1269 0x03,0x00, 0x80,0x60,
1270 0x00,0xc0, 0x81,0x80,
1271 0x00,0x30, 0x86,0x00,
1272 0x00,0x0c, 0x98,0x00,
1273 0x00,0x03, 0xe0,0x00,
1274 0x00,0x03, 0xe0,0x00,
1275 0x00,0x0c, 0x98,0x00,
1276 0x00,0x30, 0x86,0x00,
1277 0x00,0xc0, 0x81,0x80,
1278 0x03,0x00, 0x80,0x60,
1279 0x0c,0x00, 0x80,0x18,
1280 0x30,0x00, 0x80,0x06,
1281 0x00,0x00, 0x80,0x00,
1282 0x00,0x00, 0x80,0x00,
1283 0x00,0x00, 0x80,0x00,
1284 0x00,0x00, 0x80,0x00,
1285 0x00,0x00, 0x80,0x00,
1286 0x00,0x00, 0x80,0x00,
1287 0x00,0x00, 0x80,0x00,
1288 0x00,0x00, 0x00,0x00,
1289 0x00,0x00, 0x00,0x00,/* STAR 32x32 = 6.5 */
1290
1291 0x00, 0x00, 0x80, 0x00,
1292 0x00, 0x00, 0x80, 0x00,
1293 0x00, 0x00, 0x80, 0x00,
1294 0x00, 0x00, 0x80, 0x00,
1295 0x00, 0x00, 0x80, 0x00,
1296 0x00, 0x00, 0x80, 0x00,
1297 0x00, 0x00, 0x80, 0x00,
1298 0x00, 0x00, 0x80, 0x00,
1299 0x10, 0x00, 0x80, 0x04,
1300 0x0c, 0x00, 0x80, 0x18,
1301 0x02, 0x00, 0x80, 0x20,
1302 0x01, 0x80, 0x80, 0xc0,
1303 0x00, 0x40, 0x81, 0x00,
1304 0x00, 0x30, 0x86, 0x00,
1305 0x00, 0x08, 0x88, 0x00,
1306 0x00, 0x06, 0xb0, 0x00,
1307 0x00, 0x01, 0xc0, 0x00,
1308 0x00, 0x06, 0xb0, 0x00,
1309 0x00, 0x08, 0x88, 0x00,
1310 0x00, 0x30, 0x86, 0x00,
1311 0x00, 0x40, 0x81, 0x00,
1312 0x01, 0x80, 0x80, 0xc0,
1313 0x02, 0x00, 0x80, 0x20,
1314 0x0c, 0x00, 0x80, 0x18,
1315 0x10, 0x00, 0x80, 0x04,
1316 0x00, 0x00, 0x80, 0x00,
1317 0x00, 0x00, 0x80, 0x00,
1318 0x00, 0x00, 0x80, 0x00,
1319 0x00, 0x00, 0x80, 0x00,
1320 0x00, 0x00, 0x80, 0x00,
1321 0x00, 0x00, 0x80, 0x00,
1322 0x00, 0x00, 0x80, 0x00,/* STAR 32x32 = 7.0 */
1323
1324 /* TYPE = CIRC */
1325
1326 0x38,
1327 0x44,
1328 0x82,
1329 0x82,
1330 0x82,
1331 0x44,
1332 0x38,/* CIRC 7x7 = 1.0 */
1333
1334 0x3c,0x00,
1335 0x42,0x00,
1336 0x81,0x00,
1337 0x81,0x00,
1338 0x81,0x00,
1339 0x81,0x00,
1340 0x42,0x00,
1341 0x3c,0x00,
1342 0x00,0x00,/*CIRC 9x9 = 1.5 */
1343
1344 0x3e, 0x00,
1345 0x41, 0x00,
1346 0x81, 0x80,
1347 0x80,0x80,
1348 0x80,0x80,
1349 0x80,0x80,
1350 0x81, 0x80,
1351 0x41, 0x00,
1352 0x3e,0x00,/* CIRC 9x9 = 2.0 */
1353
1354 0x1f,0x00,
1355 0x20,0x80,
1356 0x40,0x40,
1357 0x80,0x20,
1358 0x80,0x20,
1359 0x80,0x20,
1360 0x80,0x20,
1361 0x80,0x20,
1362 0x40,0x40,
1363 0x20,0x80,
1364 0x1f,0x00,/* CIRC 11x11 = 2.5 */
1365
1366 0x0f,0x80,
1367 0x10,0x40,
1368 0x20,0x20,
1369 0x40,0x10,
1370 0x80,0x08,
1371 0x80,0x08,
1372 0x80,0x08,
1373 0x80,0x08,
1374 0x80,0x08,
1375 0x40,0x10,
1376 0x20,0x20,
1377 0x10,0x40,
1378 0x0f,0x80,/* CIRC 13x13 = 3.0 */
1379
1380 0x07,0xc0,
1381 0x18,0x30,
1382 0x20,0x08,
1383 0x40,0x04,
1384 0x40,0x04,
1385 0x80,0x02,
1386 0x80,0x02,
1387 0x80,0x02,
1388 0x80,0x02,
1389 0x80,0x02,
1390 0x40,0x04,
1391 0x40,0x04,
1392 0x20,0x08,
1393 0x18,0x30,
1394 0x07,0xc0,/* CIRC 15x15 = 3.5 */
1395
1396 0x03,0xe0, 0x00,
1397 0x0c,0x18, 0x00,
1398 0x10,0x04, 0x00,
1399 0x20,0x02, 0x00,
1400 0x40,0x01, 0x00,
1401 0x40,0x01, 0x00,
1402 0x80,0x00, 0x80,
1403 0x80,0x00, 0x80,
1404 0x80,0x00, 0x80,
1405 0x80,0x00, 0x80,
1406 0x80,0x00, 0x80,
1407 0x40,0x01, 0x00,
1408 0x40,0x01, 0x00,
1409 0x20,0x02, 0x00,
1410 0x10,0x04, 0x00,
1411 0x0c,0x18, 0x00,
1412 0x03,0xe0, 0x00,/* CIRC 17x17 = 4.0 */
1413
1414 0x03,0xf8, 0x00,
1415 0x0e,0x0e, 0x00,
1416 0x18,0x03, 0x00,
1417 0x20,0x00, 0x80,
1418 0x60,0x00, 0xc0,
1419 0x40,0x00, 0x40,
1420 0xc0,0x00, 0x60,
1421 0x80,0x00, 0x20,
1422 0x80,0x00, 0x20,
1423 0x80,0x00, 0x20,
1424 0x80,0x00, 0x20,
1425 0x80,0x00, 0x20,
1426 0xc0,0x00, 0x60,
1427 0x40,0x00, 0x40,
1428 0x60,0x00, 0xc0,
1429 0x20,0x00, 0x80,
1430 0x18,0x03, 0x00,
1431 0x0e,0x0e, 0x00,
1432 0x03,0xf8, 0x00,/* CIRC 19x19 = 4.5 */
1433
1434 0x01,0xfc, 0x00,
1435 0x06,0x03, 0x00,
1436 0x08,0x00, 0x80,
1437 0x10,0x00, 0x40,
1438 0x20,0x00, 0x20,
1439 0x40,0x00, 0x10,
1440 0x40,0x00, 0x10,
1441 0x80,0x00, 0x08,
1442 0x80,0x00, 0x08,
1443 0x80,0x00, 0x08,
1444 0x80,0x00, 0x08,
1445 0x80,0x00, 0x08,
1446 0x80,0x00, 0x08,
1447 0x80,0x00, 0x08,
1448 0x40,0x00, 0x10,
1449 0x40,0x00, 0x10,
1450 0x20,0x00, 0x20,
1451 0x10,0x00, 0x40,
1452 0x08,0x00, 0x80,
1453 0x06,0x03, 0x00,
1454 0x01,0xfc, 0x00,/* CIRC 21x21 = 5.0 */
1455
1456 0x00,0xfe, 0x00,
1457 0x03,0x01, 0x80,
1458 0x0c,0x00, 0x60,
1459 0x18,0x00, 0x30,
1460 0x30,0x00, 0x18,
1461 0x20,0x00, 0x08,
1462 0x40,0x00, 0x04,
1463 0x40,0x00, 0x04,
1464 0x80,0x00, 0x02,
1465 0x80,0x00, 0x02,
1466 0x80,0x00, 0x02,
1467 0x80,0x00, 0x02,
1468 0x80,0x00, 0x02,
1469 0x80,0x00, 0x02,
1470 0x80,0x00, 0x02,
1471 0x40,0x00, 0x04,
1472 0x40,0x00, 0x04,
1473 0x20,0x00, 0x08,
1474 0x30,0x00, 0x18,
1475 0x18,0x00, 0x30,
1476 0x0c,0x00, 0x60,
1477 0x03,0x01, 0x80,
1478 0x00,0xfe, 0x00,/* CIRC 23x23 = 5.5 */
1479
1480 0x00,0x7f, 0x00,0x00,
1481 0x01,0x80, 0xc0,0x00,
1482 0x06,0x00, 0x30,0x00,
1483 0x08,0x00, 0x08,0x00,
1484 0x10,0x00, 0x04,0x00,
1485 0x20,0x00, 0x02,0x00,
1486 0x20,0x00, 0x02,0x00,
1487 0x40,0x00, 0x01,0x00,
1488 0x40,0x00, 0x01,0x00,
1489 0x80,0x00, 0x00,0x80,
1490 0x80,0x00, 0x00,0x80,
1491 0x80,0x00, 0x00,0x80,
1492 0x80,0x00, 0x00,0x80,
1493 0x80,0x00, 0x00,0x80,
1494 0x80,0x00, 0x00,0x80,
1495 0x80,0x00, 0x00,0x80,
1496 0x40,0x00, 0x01,0x00,
1497 0x40,0x00, 0x01,0x00,
1498 0x20,0x00, 0x02,0x00,
1499 0x20,0x00, 0x02,0x00,
1500 0x10,0x00, 0x04,0x00,
1501 0x08,0x00, 0x08,0x00,
1502 0x06,0x00, 0x30,0x00,
1503 0x01,0x80, 0xc0,0x00,
1504 0x00,0x7f, 0x00,0x00,/* CIRC 25x25 = 6.0 */
1505
1506 0x00,0x3f, 0x80,0x00,
1507 0x01,0xc0, 0x70,0x00,
1508 0x03,0x00, 0x18,0x00,
1509 0x0c,0x00, 0x06,0x00,
1510 0x18,0x00, 0x03,0x00,
1511 0x10,0x00, 0x01,0x00,
1512 0x20,0x00, 0x00,0x80,
1513 0x60,0x00, 0x00,0xc0,
1514 0x40,0x00, 0x00,0x40,
1515 0x40,0x00, 0x00,0x40,
1516 0x80,0x00, 0x00,0x20,
1517 0x80,0x00, 0x00,0x20,
1518 0x80,0x00, 0x00,0x20,
1519 0x80,0x00, 0x00,0x20,
1520 0x80,0x00, 0x00,0x20,
1521 0x80,0x00, 0x00,0x20,
1522 0x80,0x00, 0x00,0x20,
1523 0x40,0x00, 0x00,0x40,
1524 0x40,0x00, 0x00,0x40,
1525 0x60,0x00, 0x00,0xc0,
1526 0x20,0x00, 0x00,0x80,
1527 0x10,0x00, 0x01,0x00,
1528 0x18,0x00, 0x03,0x00,
1529 0x0c,0x00, 0x06,0x00,
1530 0x03,0x00, 0x18,0x00,
1531 0x01,0xc0, 0x70,0x00,
1532 0x00,0x3f, 0x80,0x00,/* CIRC 27x27 = 6.5 */
1533
1534 0x00,0x1f, 0xc0,0x00,
1535 0x00,0xe0, 0x38,0x00,
1536 0x01,0x00, 0x04,0x00,
1537 0x06,0x00, 0x03,0x00,
1538 0x08,0x00, 0x00,0x80,
1539 0x10,0x00, 0x00,0x40,
1540 0x10,0x00, 0x00,0x40,
1541 0x20,0x00, 0x00,0x20,
1542 0x40,0x00, 0x00,0x10,
1543 0x40,0x00, 0x00,0x10,
1544 0x40,0x00, 0x00,0x10,
1545 0x80,0x00, 0x00,0x08,
1546 0x80,0x00, 0x00,0x08,
1547 0x80,0x00, 0x00,0x08,
1548 0x80,0x00, 0x00,0x08,
1549 0x80,0x00, 0x00,0x08,
1550 0x80,0x00, 0x00,0x08,
1551 0x80,0x00, 0x00,0x08,
1552 0x40,0x00, 0x00,0x10,
1553 0x40,0x00, 0x00,0x10,
1554 0x40,0x00, 0x00,0x10,
1555 0x20,0x00, 0x00,0x20,
1556 0x10,0x00, 0x00,0x40,
1557 0x10,0x00, 0x00,0x40,
1558 0x08,0x00, 0x00,0x80,
1559 0x06,0x00, 0x03,0x00,
1560 0x01,0x00, 0x04,0x00,
1561 0x00,0xe0, 0x38,0x00,
1562 0x00,0x1f, 0xc0,0x00, /* CIRC 29x29 = 7.0 */
1563
1564 /* TYPE = CROSS */
1565
1566 0x82,
1567 0x44,
1568 0x28,
1569 0x10,
1570 0x28,
1571 0x44,
1572 0x82,/* CROSS 7x7 = 1.0 */
1573
1574 0x80,0x80,
1575 0x41,0x00,
1576 0x22,0x00,
1577 0x14,0x00,
1578 0x08,0x00,
1579 0x14,0x00,
1580 0x22,0x00,
1581 0x41,0x00,
1582 0x80,0x80,/* CROSS 9x9 = 1.5 */
1583
1584 0x80,0x20,
1585 0x40,0x40,
1586 0x20,0x80,
1587 0x11,0x00,
1588 0x0a,0x00,
1589 0x04,0x00,
1590 0x0a,0x00,
1591 0x11,0x00,
1592 0x20,0x80,
1593 0x40,0x40,
1594 0x80,0x20,/* CROSS 11x11 = 2.0 */
1595
1596 0x80,0x08,
1597 0x40,0x10,
1598 0x20,0x20,
1599 0x10,0x40,
1600 0x08,0x80,
1601 0x05,0x00,
1602 0x02,0x00,
1603 0x05,0x00,
1604 0x08,0x80,
1605 0x10,0x40,
1606 0x20,0x20,
1607 0x40,0x10,
1608 0x80,0x08,/* CROSS 13x13 = 2.5 */
1609
1610 0x80,0x02,
1611 0x40,0x04,
1612 0x20,0x08,
1613 0x10,0x10,
1614 0x08,0x20,
1615 0x04,0x40,
1616 0x02,0x80,
1617 0x01,0x00,
1618 0x02,0x80,
1619 0x04,0x40,
1620 0x08,0x20,
1621 0x10,0x10,
1622 0x20,0x08,
1623 0x40,0x04,
1624 0x80,0x02,/* CROSS 15x15 = 3.0 */
1625
1626 0x80,0x00, 0x80,
1627 0x40,0x01, 0x00,
1628 0x20,0x02, 0x00,
1629 0x10,0x04, 0x00,
1630 0x08,0x08, 0x00,
1631 0x04,0x10, 0x00,
1632 0x02,0x20, 0x00,
1633 0x01,0x40, 0x00,
1634 0x00,0x80, 0x00,
1635 0x01,0x40, 0x00,
1636 0x02,0x20, 0x00,
1637 0x04,0x10, 0x00,
1638 0x08,0x08, 0x00,
1639 0x10,0x04, 0x00,
1640 0x20,0x02, 0x00,
1641 0x40,0x01, 0x00,
1642 0x80,0x00, 0x80,/* CROSS 17x17 = 3.5 */
1643
1644 0x80,0x00, 0x20,
1645 0x40,0x00, 0x40,
1646 0x20,0x00, 0x80,
1647 0x10,0x01, 0x00,
1648 0x08,0x02, 0x00,
1649 0x04,0x04, 0x00,
1650 0x02,0x08, 0x00,
1651 0x01,0x10, 0x00,
1652 0x00,0xa0, 0x00,
1653 0x00,0x40, 0x00,
1654 0x00,0xa0, 0x00,
1655 0x01,0x10, 0x00,
1656 0x02,0x08, 0x00,
1657 0x04,0x04, 0x00,
1658 0x08,0x02, 0x00,
1659 0x10,0x01, 0x00,
1660 0x20,0x00, 0x80,
1661 0x40,0x00, 0x40,
1662 0x80,0x00, 0x20,/* CROSS 19x19 = 4.0 */
1663
1664 0x80,0x00, 0x08,
1665 0x40,0x00, 0x10,
1666 0x20,0x00, 0x20,
1667 0x10,0x00, 0x40,
1668 0x08,0x00, 0x80,
1669 0x04,0x01, 0x00,
1670 0x02,0x02, 0x00,
1671 0x01,0x04, 0x00,
1672 0x00,0x88, 0x00,
1673 0x00,0x50, 0x00,
1674 0x00,0x20, 0x00,
1675 0x00,0x50, 0x00,
1676 0x00,0x88, 0x00,
1677 0x01,0x04, 0x00,
1678 0x02,0x02, 0x00,
1679 0x04,0x01, 0x00,
1680 0x08,0x00, 0x80,
1681 0x10,0x00, 0x40,
1682 0x20,0x00, 0x20,
1683 0x40,0x00, 0x10,
1684 0x80,0x00, 0x08,/* CROSS 21x21 = 4.5 */
1685
1686 0x80,0x00, 0x02,
1687 0x40,0x00, 0x04,
1688 0x20,0x00, 0x08,
1689 0x10,0x00, 0x10,
1690 0x08,0x00, 0x20,
1691 0x04,0x00, 0x40,
1692 0x02,0x00, 0x80,
1693 0x01,0x01, 0x00,
1694 0x00,0x82, 0x00,
1695 0x00,0x44, 0x00,
1696 0x00,0x28, 0x00,
1697 0x00,0x10, 0x00,
1698 0x00,0x28, 0x00,
1699 0x00,0x44, 0x00,
1700 0x00,0x82, 0x00,
1701 0x01,0x01, 0x00,
1702 0x02,0x00, 0x80,
1703 0x04,0x00, 0x40,
1704 0x08,0x00, 0x20,
1705 0x10,0x00, 0x10,
1706 0x20,0x00, 0x08,
1707 0x40,0x00, 0x04,
1708 0x80,0x00, 0x02,/* CROSS 23x23 = 5.0 */
1709
1710 0x80,0x00, 0x00,0x80,
1711 0x40,0x00, 0x01,0x00,
1712 0x20,0x00, 0x02,0x00,
1713 0x10,0x00, 0x04,0x00,
1714 0x08,0x00, 0x08,0x00,
1715 0x04,0x00, 0x10,0x00,
1716 0x02,0x00, 0x20,0x00,
1717 0x01,0x00, 0x40,0x00,
1718 0x00,0x80, 0x80,0x00,
1719 0x00,0x41, 0x00,0x00,
1720 0x00,0x22, 0x00,0x00,
1721 0x00,0x14, 0x00,0x00,
1722 0x00,0x08, 0x00,0x00,
1723 0x00,0x14, 0x00,0x00,
1724 0x00,0x22, 0x00,0x00,
1725 0x00,0x41, 0x00,0x00,
1726 0x00,0x80, 0x80,0x00,
1727 0x01,0x00, 0x40,0x00,
1728 0x02,0x00, 0x20,0x00,
1729 0x04,0x00, 0x10,0x00,
1730 0x08,0x00, 0x08,0x00,
1731 0x10,0x00, 0x04,0x00,
1732 0x20,0x00, 0x02,0x00,
1733 0x40,0x00, 0x01,0x00,
1734 0x80,0x00, 0x00,0x80,/* CROSS 25x25 = 5.5 */
1735
1736 0x80,0x00, 0x00,0x20,
1737 0x40,0x00, 0x00,0x40,
1738 0x20,0x00, 0x00,0x80,
1739 0x10,0x00, 0x01,0x00,
1740 0x08,0x00, 0x02,0x00,
1741 0x04,0x00, 0x04,0x00,
1742 0x02,0x00, 0x08,0x00,
1743 0x01,0x00, 0x10,0x00,
1744 0x00,0x80, 0x20,0x00,
1745 0x00,0x40, 0x40,0x00,
1746 0x00,0x20, 0x80,0x00,
1747 0x00,0x11, 0x00,0x00,
1748 0x00,0x0a, 0x00,0x00,
1749 0x00,0x04, 0x00,0x00,
1750 0x00,0x0a, 0x00,0x00,
1751 0x00,0x11, 0x00,0x00,
1752 0x00,0x20, 0x80,0x00,
1753 0x00,0x40, 0x40,0x00,
1754 0x00,0x80, 0x20,0x00,
1755 0x01,0x00, 0x10,0x00,
1756 0x02,0x00, 0x08,0x00,
1757 0x04,0x00, 0x04,0x00,
1758 0x08,0x00, 0x02,0x00,
1759 0x10,0x00, 0x01,0x00,
1760 0x20,0x00, 0x00,0x80,
1761 0x40,0x00, 0x00,0x40,
1762 0x80,0x00, 0x00,0x20,/* CROSS 27x27 = 6.0 */
1763
1764 0x00,0x00, 0x00,0x00,
1765 0x00,0x00, 0x00,0x00,
1766 0x20,0x00, 0x00,0x04,
1767 0x10,0x00, 0x00,0x08,
1768 0x08,0x00, 0x00,0x10,
1769 0x04,0x00, 0x00,0x20,
1770 0x02,0x00, 0x00,0x40,
1771 0x01,0x00, 0x00,0x80,
1772 0x00,0x80, 0x01,0x00,
1773 0x00,0x40, 0x02,0x00,
1774 0x00,0x20, 0x04,0x00,
1775 0x00,0x10, 0x08,0x00,
1776 0x00,0x08, 0x10,0x00,
1777 0x00,0x04, 0x20,0x00,
1778 0x00,0x02, 0x40,0x00,
1779 0x00,0x01, 0x80,0x00,
1780 0x00,0x01, 0x80,0x00,
1781 0x00,0x02, 0x40,0x00,
1782 0x00,0x04, 0x20,0x00,
1783 0x00,0x08, 0x10,0x00,
1784 0x00,0x10, 0x08,0x00,
1785 0x00,0x20, 0x04,0x00,
1786 0x00,0x40, 0x02,0x00,
1787 0x00,0x80, 0x01,0x00,
1788 0x01,0x00, 0x00,0x80,
1789 0x02,0x00, 0x00,0x40,
1790 0x04,0x00, 0x00,0x20,
1791 0x08,0x00, 0x00,0x10,
1792 0x10,0x00, 0x00,0x08,
1793 0x20,0x00, 0x00,0x04,
1794 0x00,0x00, 0x00,0x00,
1795 0x00,0x00, 0x00,0x00,/* CROSS 32x32 = 6.5 */
1796
1797 0x00,0x00, 0x00,0x00,
1798 0x40,0x00, 0x00,0x02,
1799 0x20,0x00, 0x00,0x04,
1800 0x10,0x00, 0x00,0x08,
1801 0x08,0x00, 0x00,0x10,
1802 0x04,0x00, 0x00,0x20,
1803 0x02,0x00, 0x00,0x40,
1804 0x01,0x00, 0x00,0x80,
1805 0x00,0x80, 0x01,0x00,
1806 0x00,0x40, 0x02,0x00,
1807 0x00,0x20, 0x04,0x00,
1808 0x00,0x10, 0x08,0x00,
1809 0x00,0x08, 0x10,0x00,
1810 0x00,0x04, 0x20,0x00,
1811 0x00,0x02, 0x40,0x00,
1812 0x00,0x01, 0x80,0x00,
1813 0x00,0x01, 0x80,0x00,
1814 0x00,0x02, 0x40,0x00,
1815 0x00,0x04, 0x20,0x00,
1816 0x00,0x08, 0x10,0x00,
1817 0x00,0x10, 0x08,0x00,
1818 0x00,0x20, 0x04,0x00,
1819 0x00,0x40, 0x02,0x00,
1820 0x00,0x80, 0x01,0x00,
1821 0x01,0x00, 0x00,0x80,
1822 0x02,0x00, 0x00,0x40,
1823 0x04,0x00, 0x00,0x20,
1824 0x08,0x00, 0x00,0x10,
1825 0x10,0x00, 0x00,0x08,
1826 0x20,0x00, 0x00,0x04,
1827 0x40,0x00, 0x00,0x02,
1828 0x00,0x00, 0x00,0x00/* CROSS 32x32 = 7.0 */
1829};
1830
1831/*----------------------------------------------------------------------*/
1832
1833//TsmInitAttributes
1834void OpenGl_Display::InitAttributes ()
1835{
1836 // Return if already initialized
1837 if (myLinestyleBase) return;
1838
1839 myLinestyleBase = glGenLists(5);
1840
1841 /* Line */
1842
1843 glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_DASH, GL_COMPILE );
1844 glLineStipple(1, DASH_LS );
1845 glEndList();
1846
1847 glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_DOT, GL_COMPILE );
1848 glLineStipple(1, DOT_LS );
1849 glEndList();
1850
1851 glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_DOTDASH, GL_COMPILE );
1852 glLineStipple(1, DASH_DOT_LS );
1853 glEndList();
1854
1855 glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_USERDEFINED, GL_COMPILE );
1856 glLineStipple(1, DASH_DDOT_LS );
1857 glEndList();
1858
1859 /* FSXXX
1860 * GL_POLYGON_STIPPLE
1861 * need 32x32 stipple patterns
1862 */
1863 const int nbi = sizeof(myInteriors)/(32*sizeof(unsigned int));
1864 myPatternBase = glGenLists(TEL_HS_USER_DEF_START);
1865 int i;
1866 for( i = 1; i < TEL_HS_USER_DEF_START; i++ )
1867 {
1868 glNewList( (GLuint)myPatternBase + i, GL_COMPILE );
1869 glPolygonStipple((const GLubyte *) (myInteriors[i<nbi? i : 0]));
1870 glEndList();
1871 }
1872
1873 glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
1874
1875 myMarkerBase = glGenLists (60);
1876 int j;
1877 for( i = 1; i < TEL_NB_OF_LISTS; i++ )
1878 for( j = 0; j < TEL_NO_OF_SIZES; j++ )
1879 {
1880 const Tfloat w = arrPMFontInfo[i][j].width;
1881 const Tfloat h = arrPMFontInfo[i][j].height;
1882 const Tint offset = arrPMFontInfo[i][j].offset;
1883
1884 glNewList( (const GLuint)(arrPMFontInfo[i][j].str[0] + myMarkerBase), GL_COMPILE );
1885 glBitmap( (GLsizei)w, (GLsizei)h, (GLfloat)(0.5f * w), (GLfloat)(0.5f * h), 0.f, 0.f, (const GLubyte *) &myMarkerRaster[offset] );
1886 glEndList();
1887 }
1888}
1889
1890/*----------------------------------------------------------------------*/
1891
1892#define TEL_PM_START_SIZE 1.F
1893#define TEL_PM_END_SIZE 7.F
1894
1895//TelGetStringForPM
1896const char * OpenGl_Display::GetStringForMarker (const Aspect_TypeOfMarker AType, const Tfloat AVal) const
1897{
1898 const int atype = (int)(( AType > Aspect_TOM_O_X )? Aspect_TOM_X : AType);
1899
1900 const float index = ( float )(TEL_NO_OF_SIZES-1) * (AVal - ( float )TEL_PM_START_SIZE ) / ( float )(TEL_PM_END_SIZE - TEL_PM_START_SIZE);
1901 int id = (int)(index + 0.5F);
1902 if (id < 0) id = 0;
1903 else if (id >= TEL_NO_OF_SIZES) id = TEL_NO_OF_SIZES-1;
1904
1905 return arrPMFontInfo[atype][id].str;
1906}
1907
1908/*----------------------------------------------------------------------*/
1909
1910void OpenGl_Display::SetBaseForMarker () const
1911{
1912 glListBase( (const GLuint) myMarkerBase );
1913}
1914
1915/*----------------------------------------------------------------------*/
1916
1917void OpenGl_Display::SetTypeOfLine (const Aspect_TypeOfLine AType) const
1918{
1919 if (AType != Aspect_TOL_SOLID)
1920 {
1921 glCallList((GLuint)myLinestyleBase+(GLuint)AType);
1922 glEnable( GL_LINE_STIPPLE );
1923#ifdef HAVE_GL2PS
1924 gl2psEnable( GL2PS_LINE_STIPPLE );
1925#endif
1926 }
1927 else
1928 {
1929 glDisable( GL_LINE_STIPPLE );
1930#ifdef HAVE_GL2PS
1931 gl2psDisable( GL2PS_LINE_STIPPLE );
1932#endif
1933 }
1934}
1935
1936/*----------------------------------------------------------------------*/
1937
1938void OpenGl_Display::SetTypeOfHatch (const int AType) const
1939{
1940 if (AType)
1941 {
1942 glCallList((GLuint)myPatternBase+(GLuint)AType);
1943 glEnable( GL_POLYGON_STIPPLE );
1944 }
1945 else
1946 glDisable( GL_POLYGON_STIPPLE );
1947}
1948
1949/*----------------------------------------------------------------------*/