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