0023418: Crash on the object displaying when running DRAW on remote station. OpenGL...
[occt.git] / src / OpenGl / OpenGl_Display_2.cxx
CommitLineData
b311480e 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
2166f0fa 20
5f8b738e 21#include <OpenGl_GlCore11.hxx>
22
2166f0fa
SK
23#include <OpenGl_Display.hxx>
24
498ce577 25#ifdef HAVE_CONFIG_H
26# include <config.h>
27#endif
28
2166f0fa 29#ifdef HAVE_GL2PS
5f8b738e 30 #include <gl2ps.h>
2166f0fa
SK
31#endif
32
2166f0fa
SK
33#define DOT_LS 0xCCCC
34#define DASH_DOT_LS 0xFF18
35#define DASH_LS 0xFFC0
36#define DASH_DDOT_LS 0xFF24
37
38static const unsigned int myInteriors[TEL_HS_USER_DEF_START][32] =
39{
40 //TEL_HS_SOLID
41 {
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 0xFFFFFFFF,
71 0xFFFFFFFF,
72 0xFFFFFFFF,
73 0xFFFFFFFF
74 },
75 //TEL_HS_CROSS
76 {
77 0xFFFFFFFF,
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 0xEEEEEEEE,
106 0xBBBBBBBB,
107 0xEEEEEEEE,
108 0xBBBBBBBB
109 },
110 //TEL_HS_CROSS_SPARSE
111 {
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 0x81818181,
141 0x24242424,
142 0x18181818,
143 0x42424242
144 },
145 //TEL_HS_GRID
146 {
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 0xFFFFFFFF,
176 0x88888888,
177 0xFFFFFFFF,
178 0x88888888
179 },
180 //TEL_HS_GRID_SPARSE
181 {
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 0xFFFFFFFF,
211 0x80808080,
212 0x80808080,
213 0x80808080
214 },
215 //TEL_HS_DIAG_45
216 {
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 0x88888888,
246 0x22222222,
247 0x88888888,
248 0x22222222
249 },
250 //TEL_HS_DIAG_135
251 {
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 0x11111111,
281 0x44444444,
282 0x11111111,
283 0x44444444
284 },
285 //TEL_HS_HORIZONTAL
286 {
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 0xFFFFFFFF,
316 0x00000000,
317 0xFFFFFFFF,
318 0x00000000
319 },
320 //TEL_HS_VERTICAL
321 {
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 0x11111111,
351 0x11111111,
352 0x11111111,
353 0x11111111
354 },
355 //TEL_HS_DIAG_45_SPARSE
356 {
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 0x80808080,
386 0x20202020,
387 0x08080808,
388 0x02020202
389 },
390 //TEL_HS_DIAG_135_SPARSE
391 {
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 0x01010101,
421 0x04040404,
422 0x10101010,
423 0x40404040
424 },
425 //TEL_HS_HORIZONTAL_SPARSE
426 {
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 0xFFFFFFFF,
456 0x00000000,
457 0x00000000,
458 0x00000000
459 },
460 //TEL_HS_VERTICAL_SPARSE
461 {
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 0x10101010,
491 0x10101010,
492 0x10101010,
493 0x10101010
494 }
495};
496
497/* Following Section relates to POLYMARKER */
498
499#define TEL_NO_OF_SIZES 13
500#define TEL_NB_OF_LISTS 5
501
502struct PM_FONT_INFO
503{
504 const char *str;
505 Tfloat width, height;
506 Tint offset;
507};
508typedef PM_FONT_INFO* pm_font_info;
509
510#define PM_PLUS_10_NUM 9*2
511#define PM_PLUS_15_NUM 11*2
512#define PM_PLUS_20_NUM 13*2
513#define PM_PLUS_25_NUM 15*2
514#define PM_PLUS_30_NUM 17*3
515#define PM_PLUS_35_NUM 19*3
516#define PM_PLUS_40_NUM 21*3
517#define PM_PLUS_45_NUM 23*3
518#define PM_PLUS_50_NUM 25*4
519#define PM_PLUS_55_NUM 27*4
520#define PM_PLUS_60_NUM 29*4
521#define PM_PLUS_65_NUM 31*4
522#define PM_PLUS_70_NUM 32*4
523
524#define PM_STAR_10_NUM 9
525#define PM_STAR_15_NUM 11*2
526#define PM_STAR_20_NUM 13*2
527#define PM_STAR_25_NUM 15*2
528#define PM_STAR_30_NUM 17*2
529#define PM_STAR_35_NUM 19*2
530#define PM_STAR_40_NUM 21*3
531#define PM_STAR_45_NUM 23*3
532#define PM_STAR_50_NUM 25*3
533#define PM_STAR_55_NUM 27*3
534#define PM_STAR_60_NUM 29*4
535#define PM_STAR_65_NUM 32*4
536#define PM_STAR_70_NUM 32*4
537
538#define PM_CIRC_10_NUM 7
539#define PM_CIRC_15_NUM 9*2
540#define PM_CIRC_20_NUM 9*2
541#define PM_CIRC_25_NUM 11*2
542#define PM_CIRC_30_NUM 13*2
543#define PM_CIRC_35_NUM 15*2
544#define PM_CIRC_40_NUM 17*3
545#define PM_CIRC_45_NUM 19*3
546#define PM_CIRC_50_NUM 21*3
547#define PM_CIRC_55_NUM 23*3
548#define PM_CIRC_60_NUM 25*4
549#define PM_CIRC_65_NUM 27*4
550#define PM_CIRC_70_NUM 29*4
551
552#define PM_CROSS_10_NUM 7
553#define PM_CROSS_15_NUM 9*2
554#define PM_CROSS_20_NUM 11*2
555#define PM_CROSS_25_NUM 13*2
556#define PM_CROSS_30_NUM 15*2
557#define PM_CROSS_35_NUM 17*3
558#define PM_CROSS_40_NUM 19*3
559#define PM_CROSS_45_NUM 21*3
560#define PM_CROSS_50_NUM 23*3
561#define PM_CROSS_55_NUM 25*4
562#define PM_CROSS_60_NUM 27*4
563#define PM_CROSS_65_NUM 32*4
564#define PM_CROSS_70_NUM 32*4
565
566#define PM_PLUS_10_OFT 0
567#define PM_PLUS_15_OFT PM_PLUS_10_OFT + PM_PLUS_10_NUM
568#define PM_PLUS_20_OFT PM_PLUS_15_OFT + PM_PLUS_15_NUM
569#define PM_PLUS_25_OFT PM_PLUS_20_OFT + PM_PLUS_20_NUM
570#define PM_PLUS_30_OFT PM_PLUS_25_OFT + PM_PLUS_25_NUM
571#define PM_PLUS_35_OFT PM_PLUS_30_OFT + PM_PLUS_30_NUM
572#define PM_PLUS_40_OFT PM_PLUS_35_OFT + PM_PLUS_35_NUM
573#define PM_PLUS_45_OFT PM_PLUS_40_OFT + PM_PLUS_40_NUM
574#define PM_PLUS_50_OFT PM_PLUS_45_OFT + PM_PLUS_45_NUM
575#define PM_PLUS_55_OFT PM_PLUS_50_OFT + PM_PLUS_50_NUM
576#define PM_PLUS_60_OFT PM_PLUS_55_OFT + PM_PLUS_55_NUM
577#define PM_PLUS_65_OFT PM_PLUS_60_OFT + PM_PLUS_60_NUM
578#define PM_PLUS_70_OFT PM_PLUS_65_OFT + PM_PLUS_65_NUM
579
580#define PM_STAR_10_OFT PM_PLUS_70_OFT + PM_PLUS_70_NUM
581#define PM_STAR_15_OFT PM_STAR_10_OFT + PM_STAR_10_NUM
582#define PM_STAR_20_OFT PM_STAR_15_OFT + PM_STAR_15_NUM
583#define PM_STAR_25_OFT PM_STAR_20_OFT + PM_STAR_20_NUM
584#define PM_STAR_30_OFT PM_STAR_25_OFT + PM_STAR_25_NUM
585#define PM_STAR_35_OFT PM_STAR_30_OFT + PM_STAR_30_NUM
586#define PM_STAR_40_OFT PM_STAR_35_OFT + PM_STAR_35_NUM
587#define PM_STAR_45_OFT PM_STAR_40_OFT + PM_STAR_40_NUM
588#define PM_STAR_50_OFT PM_STAR_45_OFT + PM_STAR_45_NUM
589#define PM_STAR_55_OFT PM_STAR_50_OFT + PM_STAR_50_NUM
590#define PM_STAR_60_OFT PM_STAR_55_OFT + PM_STAR_55_NUM
591#define PM_STAR_65_OFT PM_STAR_60_OFT + PM_STAR_60_NUM
592#define PM_STAR_70_OFT PM_STAR_65_OFT + PM_STAR_65_NUM
593
594#define PM_CIRC_10_OFT PM_STAR_70_OFT + PM_STAR_70_NUM
595#define PM_CIRC_15_OFT PM_CIRC_10_OFT + PM_CIRC_10_NUM
596#define PM_CIRC_20_OFT PM_CIRC_15_OFT + PM_CIRC_15_NUM
597#define PM_CIRC_25_OFT PM_CIRC_20_OFT + PM_CIRC_20_NUM
598#define PM_CIRC_30_OFT PM_CIRC_25_OFT + PM_CIRC_25_NUM
599#define PM_CIRC_35_OFT PM_CIRC_30_OFT + PM_CIRC_30_NUM
600#define PM_CIRC_40_OFT PM_CIRC_35_OFT + PM_CIRC_35_NUM
601#define PM_CIRC_45_OFT PM_CIRC_40_OFT + PM_CIRC_40_NUM
602#define PM_CIRC_50_OFT PM_CIRC_45_OFT + PM_CIRC_45_NUM
603#define PM_CIRC_55_OFT PM_CIRC_50_OFT + PM_CIRC_50_NUM
604#define PM_CIRC_60_OFT PM_CIRC_55_OFT + PM_CIRC_55_NUM
605#define PM_CIRC_65_OFT PM_CIRC_60_OFT + PM_CIRC_60_NUM
606#define PM_CIRC_70_OFT PM_CIRC_65_OFT + PM_CIRC_65_NUM
607
608#define PM_CROSS_10_OFT PM_CIRC_70_OFT + PM_CIRC_70_NUM
609#define PM_CROSS_15_OFT PM_CROSS_10_OFT + PM_CROSS_10_NUM
610#define PM_CROSS_20_OFT PM_CROSS_15_OFT + PM_CROSS_15_NUM
611#define PM_CROSS_25_OFT PM_CROSS_20_OFT + PM_CROSS_20_NUM
612#define PM_CROSS_30_OFT PM_CROSS_25_OFT + PM_CROSS_25_NUM
613#define PM_CROSS_35_OFT PM_CROSS_30_OFT + PM_CROSS_30_NUM
614#define PM_CROSS_40_OFT PM_CROSS_35_OFT + PM_CROSS_35_NUM
615#define PM_CROSS_45_OFT PM_CROSS_40_OFT + PM_CROSS_40_NUM
616#define PM_CROSS_50_OFT PM_CROSS_45_OFT + PM_CROSS_45_NUM
617#define PM_CROSS_55_OFT PM_CROSS_50_OFT + PM_CROSS_50_NUM
618#define PM_CROSS_60_OFT PM_CROSS_55_OFT + PM_CROSS_55_NUM
619#define PM_CROSS_65_OFT PM_CROSS_60_OFT + PM_CROSS_60_NUM
620#define PM_CROSS_70_OFT PM_CROSS_65_OFT + PM_CROSS_65_NUM
621
622static const PM_FONT_INFO arrPMFontInfo[][TEL_NO_OF_SIZES] =
623{
624 /* TOM_POINT - not used */
625 {{"\0"},
626 {"\0"},
627 {"\0"},
628 {"\0"},
629 {"\0"},
630 {"\0"},
631 {"\0"},
632 {"\0"},
633 {"\0"},
634 {"\0"},
635 {"\0"},
636 {"\0"},
637 {"\0"}},
638
639 /* TOM_PLUS */
640 {{"\001", 9.f, 9.f, PM_PLUS_10_OFT},
641 {"\002", 11.f, 11.f, PM_PLUS_15_OFT},
642 {"\003", 13.f, 13.f, PM_PLUS_20_OFT},
643 {"\004", 15.f, 15.f, PM_PLUS_25_OFT},
644 {"\005", 17.f, 17.f, PM_PLUS_30_OFT},
645 {"\006", 19.f, 19.f, PM_PLUS_35_OFT},
646 {"\007", 21.f, 21.f, PM_PLUS_40_OFT},
647 {"\010", 23.f, 23.f, PM_PLUS_45_OFT},
648 {"\011", 25.f, 25.f, PM_PLUS_50_OFT},
649 {"\012", 27.f, 27.f, PM_PLUS_55_OFT},
650 {"\013", 29.f, 29.f, PM_PLUS_60_OFT},
651 {"\014", 31.f, 31.f, PM_PLUS_65_OFT},
652 {"\015", 32.f, 32.f, PM_PLUS_70_OFT}},
653
654 /* TOM_STAR */
655 {{"\016", 7.f, 9.f, PM_STAR_10_OFT},
656 {"\017", 9.f, 11.f, PM_STAR_15_OFT},
657 {"\020", 11.f, 13.f, PM_STAR_20_OFT},
658 {"\021", 13.f, 15.f, PM_STAR_25_OFT},
659 {"\022", 13.f, 17.f, PM_STAR_30_OFT},
660 {"\023", 15.f, 19.f, PM_STAR_35_OFT},
661 {"\024", 17.f, 21.f, PM_STAR_40_OFT},
662 {"\025", 19.f, 23.f, PM_STAR_45_OFT},
663 {"\026", 21.f, 25.f, PM_STAR_50_OFT},
664 {"\027", 23.f, 27.f, PM_STAR_55_OFT},
665 {"\030", 25.f, 29.f, PM_STAR_60_OFT},
666 {"\031", 32.f, 32.f, PM_STAR_65_OFT},
667 {"\032", 32.f, 32.f, PM_STAR_70_OFT}},
668
669 /* TOM_O */
670 {{"\033", 7.f, 7.f, PM_CIRC_10_OFT},
671 {"\034", 9.f, 9.f, PM_CIRC_15_OFT},
672 {"\035", 9.f, 9.f, PM_CIRC_20_OFT},
673 {"\036", 11.f, 11.f, PM_CIRC_25_OFT},
674 {"\037", 13.f, 13.f, PM_CIRC_30_OFT},
675 {"\040", 15.f, 15.f, PM_CIRC_35_OFT},
676 {"\041", 17.f, 17.f, PM_CIRC_40_OFT},
677 {"\042", 19.f, 19.f, PM_CIRC_45_OFT},
678 {"\043", 21.f, 21.f, PM_CIRC_50_OFT},
679 {"\044", 23.f, 23.f, PM_CIRC_55_OFT},
680 {"\045", 25.f, 25.f, PM_CIRC_60_OFT},
681 {"\046", 27.f, 27.f, PM_CIRC_65_OFT},
682 {"\047", 29.f, 29.f, PM_CIRC_70_OFT}},
683
684 /* TOM_X */
685 {{"\050", 7.f, 7.f, PM_CROSS_10_OFT},
686 {"\051", 9.f, 9.f, PM_CROSS_15_OFT},
687 {"\052", 11.f, 11.f, PM_CROSS_20_OFT},
688 {"\053", 13.f, 13.f, PM_CROSS_25_OFT},
689 {"\054", 15.f, 15.f, PM_CROSS_30_OFT},
690 {"\055", 17.f, 17.f, PM_CROSS_35_OFT},
691 {"\056", 19.f, 19.f, PM_CROSS_40_OFT},
692 {"\057", 21.f, 21.f, PM_CROSS_45_OFT},
693 {"\060", 23.f, 23.f, PM_CROSS_50_OFT},
694 {"\061", 25.f, 25.f, PM_CROSS_55_OFT},
695 {"\062", 27.f, 27.f, PM_CROSS_60_OFT},
696 {"\063", 32.f, 32.f, PM_CROSS_65_OFT},
697 {"\064", 32.f, 32.f, PM_CROSS_70_OFT}},
698
699 /* TOM_O_POINT - not used */
700 {{"\0"},
701 {"\0"},
702 {"\0"},
703 {"\0"},
704 {"\0"},
705 {"\0"},
706 {"\0"},
707 {"\0"},
708 {"\0"},
709 {"\0"},
710 {"\0"},
711 {"\0"},
712 {"\0"}},
713
714 /* TOM_O_PLUS */
715 {{"\001\033"},
716 {"\002\034"},
717 {"\003\035"},
718 {"\004\036"},
719 {"\005\037"},
720 {"\006\040"},
721 {"\007\041"},
722 {"\010\042"},
723 {"\011\043"},
724 {"\012\044"},
725 {"\013\045"},
726 {"\014\046"},
727 {"\015\047"}},
728
729 /* TOM_O_STAR */
730 {{"\016\033"},
731 {"\017\034"},
732 {"\020\035"},
733 {"\021\036"},
734 {"\022\037"},
735 {"\023\040"},
736 {"\024\041"},
737 {"\025\042"},
738 {"\026\043"},
739 {"\027\044"},
740 {"\030\045"},
741 {"\031\046"},
742 {"\032\047"}},
743
744 /* TOM_O_X */
745 {{"\050\033"},
746 {"\051\034"},
747 {"\052\035"},
748 {"\053\036"},
749 {"\054\037"},
750 {"\055\040"},
751 {"\056\041"},
752 {"\057\042"},
753 {"\060\043"},
754 {"\061\044"},
755 {"\062\045"},
756 {"\063\046"},
757 {"\064\047"}}
758};
759
760static const unsigned char myMarkerRaster[] =
761{
762 /* TYPE = PLUS */
763
764 0x08,0x00,
765 0x08,0x00,
766 0x08,0x00,
767 0x08,0x00,
768 0xff,0x80,
769 0x08,0x00,
770 0x08,0x00,
771 0x08,0x00,
772 0x08,0x00, /* PLUS 9x9 = 1.0 */
773
774 0x04,0x00,
775 0x04,0x00,
776 0x04,0x00,
777 0x04,0x00,
778 0x04,0x00,
779 0xff,0xe0,
780 0x04,0x00,
781 0x04,0x00,
782 0x04,0x00,
783 0x04,0x00,
784 0x04,0x00, /* PLUS 11x11 = 1.5 */
785
786 0x02,0x00,
787 0x02,0x00,
788 0x02,0x00,
789 0x02,0x00,
790 0x02,0x00,
791 0x02,0x00,
792 0xff,0xf8,
793 0x02,0x00,
794 0x02,0x00,
795 0x02,0x00,
796 0x02,0x00,
797 0x02,0x00,
798 0x02,0x00,/* PLUS 13x13 = 2.0 */
799
800 0x01,0x00,
801 0x01,0x00,
802 0x01,0x00,
803 0x01,0x00,
804 0x01,0x00,
805 0x01,0x00,
806 0x01,0x00,
807 0xff,0xfe,
808 0x01,0x00,
809 0x01,0x00,
810 0x01,0x00,
811 0x01,0x00,
812 0x01,0x00,
813 0x01,0x00,
814 0x01,0x00,/* PLUS 15x15 = 2.5 */
815
816 0x00,0x80, 0x00,
817 0x00,0x80, 0x00,
818 0x00,0x80, 0x00,
819 0x00,0x80, 0x00,
820 0x00,0x80, 0x00,
821 0x00,0x80, 0x00,
822 0x00,0x80, 0x00,
823 0x00,0x80, 0x00,
824 0xff,0xff, 0x80,
825 0x00,0x80, 0x00,
826 0x00,0x80, 0x00,
827 0x00,0x80, 0x00,
828 0x00,0x80, 0x00,
829 0x00,0x80, 0x00,
830 0x00,0x80, 0x00,
831 0x00,0x80, 0x00,
832 0x00,0x80, 0x00,/* PLUS 17x17 = 3.0 */
833
834 0x00,0x40, 0x00,
835 0x00,0x40, 0x00,
836 0x00,0x40, 0x00,
837 0x00,0x40, 0x00,
838 0x00,0x40, 0x00,
839 0x00,0x40, 0x00,
840 0x00,0x40, 0x00,
841 0x00,0x40, 0x00,
842 0x00,0x40, 0x00,
843 0xff,0xff, 0xe0,
844 0x00,0x40, 0x00,
845 0x00,0x40, 0x00,
846 0x00,0x40, 0x00,
847 0x00,0x40, 0x00,
848 0x00,0x40, 0x00,
849 0x00,0x40, 0x00,
850 0x00,0x40, 0x00,
851 0x00,0x40, 0x00,
852 0x00,0x40, 0x00,/* PLUS 19x19 = 3.5 */
853
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,
862 0x00,0x20, 0x00,
863 0x00,0x20, 0x00,
864 0xff,0xff, 0xf8,
865 0x00,0x20, 0x00,
866 0x00,0x20, 0x00,
867 0x00,0x20, 0x00,
868 0x00,0x20, 0x00,
869 0x00,0x20, 0x00,
870 0x00,0x20, 0x00,
871 0x00,0x20, 0x00,
872 0x00,0x20, 0x00,
873 0x00,0x20, 0x00,
874 0x00,0x20, 0x00,/* PLUS 21x21 = 4.0 */
875
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,
886 0x00,0x10, 0x00,
887 0xff,0xff, 0xfe,
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,
895 0x00,0x10, 0x00,
896 0x00,0x10, 0x00,
897 0x00,0x10, 0x00,
898 0x00,0x10, 0x00,/* PLUS 23x23 = 4.5 */
899
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,
912 0xff,0xff, 0xff,0x80,
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,
921 0x00,0x08, 0x00,0x00,
922 0x00,0x08, 0x00,0x00,
923 0x00,0x08, 0x00,0x00,
924 0x00,0x08, 0x00,0x00,/* PLUS 25x25 = 5.0 */
925
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 0x00,0x04, 0x00,0x00,
936 0x00,0x04, 0x00,0x00,
937 0x00,0x04, 0x00,0x00,
938 0x00,0x04, 0x00,0x00,
939 0xff,0xff, 0xff,0xe0,
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,
949 0x00,0x04, 0x00,0x00,
950 0x00,0x04, 0x00,0x00,
951 0x00,0x04, 0x00,0x00,
952 0x00,0x04, 0x00,0x00,/* PLUS 27x27 = 5.5 */
953
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 0x00,0x02, 0x00,0x00,
965 0x00,0x02, 0x00,0x00,
966 0x00,0x02, 0x00,0x00,
967 0x00,0x02, 0x00,0x00,
968 0xff,0xff, 0xff,0xf8,
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,
979 0x00,0x02, 0x00,0x00,
980 0x00,0x02, 0x00,0x00,
981 0x00,0x02, 0x00,0x00,
982 0x00,0x02, 0x00,0x00,/* PLUS 29x29 = 6.0 */
983
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 0x00,0x01, 0x00,0x00,
996 0x00,0x01, 0x00,0x00,
997 0x00,0x01, 0x00,0x00,
998 0x00,0x01, 0x00,0x00,
999 0xff,0xff, 0xff,0xfd,
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,
1011 0x00,0x01, 0x00,0x00,
1012 0x00,0x01, 0x00,0x00,
1013 0x00,0x01, 0x00,0x00,
1014 0x00,0x01, 0x00,0x00,/* PLUS 31x31 = 6.5 */
1015
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 0x00,0x00, 0x80,0x00,
1029 0x00,0x00, 0x80,0x00,
1030 0x00,0x00, 0x80,0x00,
1031 0x00,0x00, 0x80,0x00,
1032 0xff,0xff, 0xff,0xff,
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,
1044 0x00,0x00, 0x80,0x00,
1045 0x00,0x00, 0x80,0x00,
1046 0x00,0x00, 0x80,0x00,
1047 0x00,0x00, 0x80,0x00,/* PLUS 32x32 = 7.0 */
1048
1049 /* TYPE = STAR */
1050
1051 0x10,
1052 0x10,
1053 0xd6,
1054 0x38,
1055 0x10,
1056 0x38,
1057 0xd6,
1058 0x10,
1059 0x10,/* STAR 7x9 = 1.0 */
1060
1061 0x08,0x00,
1062 0x08,0x00,
1063 0x08,0x00,
1064 0xc9,0x80,
1065 0x3e,0x00,
1066 0x08,0x00,
1067 0x3e,0x00,
1068 0xc9,0x80,
1069 0x08,0x00,
1070 0x08,0x00,
1071 0x08,0x00,/* STAR 9x11 = 1.5 */
1072
1073 0x04,0x00,
1074 0x04,0x00,
1075 0x04,0x00,
1076 0x84,0x20,
1077 0x64,0xc0,
1078 0x1f,0x00,
1079 0x04,0x00,
1080 0x1f,0x00,
1081 0x64,0xc0,
1082 0x84,0x20,
1083 0x04,0x00,
1084 0x04,0x00,
1085 0x04,0x00,/* STAR 11x13 = 2.0 */
1086
1087 0x02,0x00,
1088 0x02,0x00,
1089 0x02,0x00,
1090 0x02,0x00,
1091 0x82,0x18,
1092 0x62,0x60,
1093 0x1b,0x80,
1094 0x06,0x00,
1095 0x1b,0x80,
1096 0x62,0x60,
1097 0x82,0x18,
1098 0x02,0x00,
1099 0x02,0x00,
1100 0x02,0x00,
1101 0x02,0x00,/* STAR 13x15 = 2.5 */
1102
1103 0x02,0x00,
1104 0x02,0x00,
1105 0x02,0x00,
1106 0x02,0x00,
1107 0x82,0x08,
1108 0x62,0x30,
1109 0x12,0x40,
1110 0x0f,0x80,
1111 0x02,0x00,
1112 0x0f,0x80,
1113 0x12,0x40,
1114 0x62,0x30,
1115 0x82,0x08,
1116 0x02,0x00,
1117 0x02,0x00,
1118 0x02,0x00,
1119 0x02,0x00,/* STAR 13x17 = 3.0 */
1120
1121 0x01,0x00,
1122 0x01,0x00,
1123 0x01,0x00,
1124 0x01,0x00,
1125 0x01,0x00,
1126 0xc1,0x06,
1127 0x21,0x18,
1128 0x19,0x20,
1129 0x07,0xc0,
1130 0x01,0x00,
1131 0x07,0xc0,
1132 0x19,0x20,
1133 0x21,0x18,
1134 0xc1,0x06,
1135 0x01,0x00,
1136 0x01,0x00,
1137 0x01,0x00,
1138 0x01,0x00,
1139 0x01,0x00,/* STAR 15x19 = 3.5 */
1140
1141 0x00,0x80, 0x00,
1142 0x00,0x80, 0x00,
1143 0x00,0x80, 0x00,
1144 0x00,0x80, 0x00,
1145 0x00,0x80, 0x00,
1146 0x80,0x80, 0x80,
1147 0x60,0x83, 0x00,
1148 0x10,0x8c, 0x00,
1149 0x0c,0x90, 0x00,
1150 0x03,0xe0, 0x00,
1151 0x00,0x80, 0x00,
1152 0x03,0xe0, 0x00,
1153 0x0c,0x90, 0x00,
1154 0x10,0x8c, 0x00,
1155 0x60,0x83, 0x00,
1156 0x80,0x80, 0x80,
1157 0x00,0x80, 0x00,
1158 0x00,0x80, 0x00,
1159 0x00,0x80, 0x00,
1160 0x00,0x80, 0x00,
1161 0x00,0x80, 0x00,/* STAR 17x21 = 4.0 */
1162
1163 0x00,0x40, 0x00,
1164 0x00,0x40, 0x00,
1165 0x00,0x40, 0x00,
1166 0x00,0x40, 0x00,
1167 0x00,0x40, 0x00,
1168 0x00,0x40, 0x00,
1169 0xc0,0x40, 0x60,
1170 0x30,0x41, 0x80,
1171 0x08,0x42, 0x00,
1172 0x06,0x4c, 0x00,
1173 0x01,0xf0, 0x00,
1174 0x00,0x40, 0x00,
1175 0x01,0xf0, 0x00,
1176 0x06,0x4c, 0x00,
1177 0x08,0x42, 0x00,
1178 0x30,0x41, 0x80,
1179 0xc0,0x40, 0x60,
1180 0x00,0x40, 0x00,
1181 0x00,0x40, 0x00,
1182 0x00,0x40, 0x00,
1183 0x00,0x40, 0x00,
1184 0x00,0x40, 0x00,
1185 0x00,0x40, 0x00,/* STAR 19x23 = 4.5 */
1186
1187 0x00,0x20, 0x00,
1188 0x00,0x20, 0x00,
1189 0x00,0x20, 0x00,
1190 0x00,0x20, 0x00,
1191 0x00,0x20, 0x00,
1192 0x00,0x20, 0x00,
1193 0x80,0x20, 0x08,
1194 0x60,0x20, 0x30,
1195 0x18,0x20, 0xc0,
1196 0x04,0x21, 0x00,
1197 0x03,0x26, 0x00,
1198 0x00,0xf8, 0x00,
1199 0x00,0x20, 0x00,
1200 0x00,0xf8, 0x00,
1201 0x03,0x26, 0x00,
1202 0x04,0x21, 0x00,
1203 0x18,0x20, 0xc0,
1204 0x60,0x20, 0x30,
1205 0x80,0x20, 0x08,
1206 0x00,0x20, 0x00,
1207 0x00,0x20, 0x00,
1208 0x00,0x20, 0x00,
1209 0x00,0x20, 0x00,
1210 0x00,0x20, 0x00,
1211 0x00,0x20, 0x00,/* STAR 21x25 = 5.0 */
1212
1213 0x00,0x10, 0x00,
1214 0x00,0x10, 0x00,
1215 0x00,0x10, 0x00,
1216 0x00,0x10, 0x00,
1217 0x00,0x10, 0x00,
1218 0x00,0x10, 0x00,
1219 0x00,0x10, 0x00,
1220 0xc0,0x10, 0x06,
1221 0x30,0x10, 0x18,
1222 0x08,0x10, 0x60,
1223 0x06,0x10, 0x80,
1224 0x01,0x93, 0x00,
1225 0x00,0x7c, 0x00,
1226 0x00,0x10, 0x00,
1227 0x00,0x7c, 0x00,
1228 0x01,0x93, 0x00,
1229 0x06,0x10, 0x80,
1230 0x08,0x10, 0x60,
1231 0x30,0x10, 0x18,
1232 0xc0,0x10, 0x06,
1233 0x00,0x10, 0x00,
1234 0x00,0x10, 0x00,
1235 0x00,0x10, 0x00,
1236 0x00,0x10, 0x00,
1237 0x00,0x10, 0x00,
1238 0x00,0x10, 0x00,
1239 0x00,0x10, 0x00,/* STAR 23x27 = 5.5 */
1240
1241 0x00,0x08, 0x00,0x00,
1242 0x00,0x08, 0x00,0x00,
1243 0x00,0x08, 0x00,0x00,
1244 0x00,0x08, 0x00,0x00,
1245 0x00,0x08, 0x00,0x00,
1246 0x00,0x08, 0x00,0x00,
1247 0x00,0x08, 0x00,0x00,
1248 0x80,0x08, 0x00,0x80,
1249 0x60,0x08, 0x03,0x00,
1250 0x18,0x08, 0x0c,0x00,
1251 0x04,0x08, 0x30,0x00,
1252 0x03,0x08, 0x40,0x00,
1253 0x00,0xc9, 0x80,0x00,
1254 0x00,0x3e, 0x00,0x00,
1255 0x00,0x08, 0x00,0x00,
1256 0x00,0x3e, 0x00,0x00,
1257 0x00,0xc9, 0x80,0x00,
1258 0x03,0x08, 0x40,0x00,
1259 0x04,0x08, 0x30,0x00,
1260 0x18,0x08, 0x0c,0x00,
1261 0x60,0x08, 0x03,0x00,
1262 0x80,0x08, 0x00,0x80,
1263 0x00,0x08, 0x00,0x00,
1264 0x00,0x08, 0x00,0x00,
1265 0x00,0x08, 0x00,0x00,
1266 0x00,0x08, 0x00,0x00,
1267 0x00,0x08, 0x00,0x00,
1268 0x00,0x08, 0x00,0x00,
1269 0x00,0x08, 0x00,0x00,/* STAR 25x29 = 6.0 */
1270
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 0x00,0x00, 0x80,0x00,
1277 0x00,0x00, 0x80,0x00,
1278 0x00,0x00, 0x80,0x00,
1279 0x00,0x00, 0x80,0x00,
1280 0x30,0x00, 0x80,0x06,
1281 0x0c,0x00, 0x80,0x18,
1282 0x03,0x00, 0x80,0x60,
1283 0x00,0xc0, 0x81,0x80,
1284 0x00,0x30, 0x86,0x00,
1285 0x00,0x0c, 0x98,0x00,
1286 0x00,0x03, 0xe0,0x00,
1287 0x00,0x03, 0xe0,0x00,
1288 0x00,0x0c, 0x98,0x00,
1289 0x00,0x30, 0x86,0x00,
1290 0x00,0xc0, 0x81,0x80,
1291 0x03,0x00, 0x80,0x60,
1292 0x0c,0x00, 0x80,0x18,
1293 0x30,0x00, 0x80,0x06,
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 0x00,0x00, 0x80,0x00,
1300 0x00,0x00, 0x80,0x00,
1301 0x00,0x00, 0x00,0x00,
1302 0x00,0x00, 0x00,0x00,/* STAR 32x32 = 6.5 */
1303
1304 0x00, 0x00, 0x80, 0x00,
1305 0x00, 0x00, 0x80, 0x00,
1306 0x00, 0x00, 0x80, 0x00,
1307 0x00, 0x00, 0x80, 0x00,
1308 0x00, 0x00, 0x80, 0x00,
1309 0x00, 0x00, 0x80, 0x00,
1310 0x00, 0x00, 0x80, 0x00,
1311 0x00, 0x00, 0x80, 0x00,
1312 0x10, 0x00, 0x80, 0x04,
1313 0x0c, 0x00, 0x80, 0x18,
1314 0x02, 0x00, 0x80, 0x20,
1315 0x01, 0x80, 0x80, 0xc0,
1316 0x00, 0x40, 0x81, 0x00,
1317 0x00, 0x30, 0x86, 0x00,
1318 0x00, 0x08, 0x88, 0x00,
1319 0x00, 0x06, 0xb0, 0x00,
1320 0x00, 0x01, 0xc0, 0x00,
1321 0x00, 0x06, 0xb0, 0x00,
1322 0x00, 0x08, 0x88, 0x00,
1323 0x00, 0x30, 0x86, 0x00,
1324 0x00, 0x40, 0x81, 0x00,
1325 0x01, 0x80, 0x80, 0xc0,
1326 0x02, 0x00, 0x80, 0x20,
1327 0x0c, 0x00, 0x80, 0x18,
1328 0x10, 0x00, 0x80, 0x04,
1329 0x00, 0x00, 0x80, 0x00,
1330 0x00, 0x00, 0x80, 0x00,
1331 0x00, 0x00, 0x80, 0x00,
1332 0x00, 0x00, 0x80, 0x00,
1333 0x00, 0x00, 0x80, 0x00,
1334 0x00, 0x00, 0x80, 0x00,
1335 0x00, 0x00, 0x80, 0x00,/* STAR 32x32 = 7.0 */
1336
1337 /* TYPE = CIRC */
1338
1339 0x38,
1340 0x44,
1341 0x82,
1342 0x82,
1343 0x82,
1344 0x44,
1345 0x38,/* CIRC 7x7 = 1.0 */
1346
1347 0x3c,0x00,
1348 0x42,0x00,
1349 0x81,0x00,
1350 0x81,0x00,
1351 0x81,0x00,
1352 0x81,0x00,
1353 0x42,0x00,
1354 0x3c,0x00,
1355 0x00,0x00,/*CIRC 9x9 = 1.5 */
1356
1357 0x3e, 0x00,
1358 0x41, 0x00,
1359 0x81, 0x80,
1360 0x80,0x80,
1361 0x80,0x80,
1362 0x80,0x80,
1363 0x81, 0x80,
1364 0x41, 0x00,
1365 0x3e,0x00,/* CIRC 9x9 = 2.0 */
1366
1367 0x1f,0x00,
1368 0x20,0x80,
1369 0x40,0x40,
1370 0x80,0x20,
1371 0x80,0x20,
1372 0x80,0x20,
1373 0x80,0x20,
1374 0x80,0x20,
1375 0x40,0x40,
1376 0x20,0x80,
1377 0x1f,0x00,/* CIRC 11x11 = 2.5 */
1378
1379 0x0f,0x80,
1380 0x10,0x40,
1381 0x20,0x20,
1382 0x40,0x10,
1383 0x80,0x08,
1384 0x80,0x08,
1385 0x80,0x08,
1386 0x80,0x08,
1387 0x80,0x08,
1388 0x40,0x10,
1389 0x20,0x20,
1390 0x10,0x40,
1391 0x0f,0x80,/* CIRC 13x13 = 3.0 */
1392
1393 0x07,0xc0,
1394 0x18,0x30,
1395 0x20,0x08,
1396 0x40,0x04,
1397 0x40,0x04,
1398 0x80,0x02,
1399 0x80,0x02,
1400 0x80,0x02,
1401 0x80,0x02,
1402 0x80,0x02,
1403 0x40,0x04,
1404 0x40,0x04,
1405 0x20,0x08,
1406 0x18,0x30,
1407 0x07,0xc0,/* CIRC 15x15 = 3.5 */
1408
1409 0x03,0xe0, 0x00,
1410 0x0c,0x18, 0x00,
1411 0x10,0x04, 0x00,
1412 0x20,0x02, 0x00,
1413 0x40,0x01, 0x00,
1414 0x40,0x01, 0x00,
1415 0x80,0x00, 0x80,
1416 0x80,0x00, 0x80,
1417 0x80,0x00, 0x80,
1418 0x80,0x00, 0x80,
1419 0x80,0x00, 0x80,
1420 0x40,0x01, 0x00,
1421 0x40,0x01, 0x00,
1422 0x20,0x02, 0x00,
1423 0x10,0x04, 0x00,
1424 0x0c,0x18, 0x00,
1425 0x03,0xe0, 0x00,/* CIRC 17x17 = 4.0 */
1426
1427 0x03,0xf8, 0x00,
1428 0x0e,0x0e, 0x00,
1429 0x18,0x03, 0x00,
1430 0x20,0x00, 0x80,
1431 0x60,0x00, 0xc0,
1432 0x40,0x00, 0x40,
1433 0xc0,0x00, 0x60,
1434 0x80,0x00, 0x20,
1435 0x80,0x00, 0x20,
1436 0x80,0x00, 0x20,
1437 0x80,0x00, 0x20,
1438 0x80,0x00, 0x20,
1439 0xc0,0x00, 0x60,
1440 0x40,0x00, 0x40,
1441 0x60,0x00, 0xc0,
1442 0x20,0x00, 0x80,
1443 0x18,0x03, 0x00,
1444 0x0e,0x0e, 0x00,
1445 0x03,0xf8, 0x00,/* CIRC 19x19 = 4.5 */
1446
1447 0x01,0xfc, 0x00,
1448 0x06,0x03, 0x00,
1449 0x08,0x00, 0x80,
1450 0x10,0x00, 0x40,
1451 0x20,0x00, 0x20,
1452 0x40,0x00, 0x10,
1453 0x40,0x00, 0x10,
1454 0x80,0x00, 0x08,
1455 0x80,0x00, 0x08,
1456 0x80,0x00, 0x08,
1457 0x80,0x00, 0x08,
1458 0x80,0x00, 0x08,
1459 0x80,0x00, 0x08,
1460 0x80,0x00, 0x08,
1461 0x40,0x00, 0x10,
1462 0x40,0x00, 0x10,
1463 0x20,0x00, 0x20,
1464 0x10,0x00, 0x40,
1465 0x08,0x00, 0x80,
1466 0x06,0x03, 0x00,
1467 0x01,0xfc, 0x00,/* CIRC 21x21 = 5.0 */
1468
1469 0x00,0xfe, 0x00,
1470 0x03,0x01, 0x80,
1471 0x0c,0x00, 0x60,
1472 0x18,0x00, 0x30,
1473 0x30,0x00, 0x18,
1474 0x20,0x00, 0x08,
1475 0x40,0x00, 0x04,
1476 0x40,0x00, 0x04,
1477 0x80,0x00, 0x02,
1478 0x80,0x00, 0x02,
1479 0x80,0x00, 0x02,
1480 0x80,0x00, 0x02,
1481 0x80,0x00, 0x02,
1482 0x80,0x00, 0x02,
1483 0x80,0x00, 0x02,
1484 0x40,0x00, 0x04,
1485 0x40,0x00, 0x04,
1486 0x20,0x00, 0x08,
1487 0x30,0x00, 0x18,
1488 0x18,0x00, 0x30,
1489 0x0c,0x00, 0x60,
1490 0x03,0x01, 0x80,
1491 0x00,0xfe, 0x00,/* CIRC 23x23 = 5.5 */
1492
1493 0x00,0x7f, 0x00,0x00,
1494 0x01,0x80, 0xc0,0x00,
1495 0x06,0x00, 0x30,0x00,
1496 0x08,0x00, 0x08,0x00,
1497 0x10,0x00, 0x04,0x00,
1498 0x20,0x00, 0x02,0x00,
1499 0x20,0x00, 0x02,0x00,
1500 0x40,0x00, 0x01,0x00,
1501 0x40,0x00, 0x01,0x00,
1502 0x80,0x00, 0x00,0x80,
1503 0x80,0x00, 0x00,0x80,
1504 0x80,0x00, 0x00,0x80,
1505 0x80,0x00, 0x00,0x80,
1506 0x80,0x00, 0x00,0x80,
1507 0x80,0x00, 0x00,0x80,
1508 0x80,0x00, 0x00,0x80,
1509 0x40,0x00, 0x01,0x00,
1510 0x40,0x00, 0x01,0x00,
1511 0x20,0x00, 0x02,0x00,
1512 0x20,0x00, 0x02,0x00,
1513 0x10,0x00, 0x04,0x00,
1514 0x08,0x00, 0x08,0x00,
1515 0x06,0x00, 0x30,0x00,
1516 0x01,0x80, 0xc0,0x00,
1517 0x00,0x7f, 0x00,0x00,/* CIRC 25x25 = 6.0 */
1518
1519 0x00,0x3f, 0x80,0x00,
1520 0x01,0xc0, 0x70,0x00,
1521 0x03,0x00, 0x18,0x00,
1522 0x0c,0x00, 0x06,0x00,
1523 0x18,0x00, 0x03,0x00,
1524 0x10,0x00, 0x01,0x00,
1525 0x20,0x00, 0x00,0x80,
1526 0x60,0x00, 0x00,0xc0,
1527 0x40,0x00, 0x00,0x40,
1528 0x40,0x00, 0x00,0x40,
1529 0x80,0x00, 0x00,0x20,
1530 0x80,0x00, 0x00,0x20,
1531 0x80,0x00, 0x00,0x20,
1532 0x80,0x00, 0x00,0x20,
1533 0x80,0x00, 0x00,0x20,
1534 0x80,0x00, 0x00,0x20,
1535 0x80,0x00, 0x00,0x20,
1536 0x40,0x00, 0x00,0x40,
1537 0x40,0x00, 0x00,0x40,
1538 0x60,0x00, 0x00,0xc0,
1539 0x20,0x00, 0x00,0x80,
1540 0x10,0x00, 0x01,0x00,
1541 0x18,0x00, 0x03,0x00,
1542 0x0c,0x00, 0x06,0x00,
1543 0x03,0x00, 0x18,0x00,
1544 0x01,0xc0, 0x70,0x00,
1545 0x00,0x3f, 0x80,0x00,/* CIRC 27x27 = 6.5 */
1546
1547 0x00,0x1f, 0xc0,0x00,
1548 0x00,0xe0, 0x38,0x00,
1549 0x01,0x00, 0x04,0x00,
1550 0x06,0x00, 0x03,0x00,
1551 0x08,0x00, 0x00,0x80,
1552 0x10,0x00, 0x00,0x40,
1553 0x10,0x00, 0x00,0x40,
1554 0x20,0x00, 0x00,0x20,
1555 0x40,0x00, 0x00,0x10,
1556 0x40,0x00, 0x00,0x10,
1557 0x40,0x00, 0x00,0x10,
1558 0x80,0x00, 0x00,0x08,
1559 0x80,0x00, 0x00,0x08,
1560 0x80,0x00, 0x00,0x08,
1561 0x80,0x00, 0x00,0x08,
1562 0x80,0x00, 0x00,0x08,
1563 0x80,0x00, 0x00,0x08,
1564 0x80,0x00, 0x00,0x08,
1565 0x40,0x00, 0x00,0x10,
1566 0x40,0x00, 0x00,0x10,
1567 0x40,0x00, 0x00,0x10,
1568 0x20,0x00, 0x00,0x20,
1569 0x10,0x00, 0x00,0x40,
1570 0x10,0x00, 0x00,0x40,
1571 0x08,0x00, 0x00,0x80,
1572 0x06,0x00, 0x03,0x00,
1573 0x01,0x00, 0x04,0x00,
1574 0x00,0xe0, 0x38,0x00,
1575 0x00,0x1f, 0xc0,0x00, /* CIRC 29x29 = 7.0 */
1576
1577 /* TYPE = CROSS */
1578
1579 0x82,
1580 0x44,
1581 0x28,
1582 0x10,
1583 0x28,
1584 0x44,
1585 0x82,/* CROSS 7x7 = 1.0 */
1586
1587 0x80,0x80,
1588 0x41,0x00,
1589 0x22,0x00,
1590 0x14,0x00,
1591 0x08,0x00,
1592 0x14,0x00,
1593 0x22,0x00,
1594 0x41,0x00,
1595 0x80,0x80,/* CROSS 9x9 = 1.5 */
1596
1597 0x80,0x20,
1598 0x40,0x40,
1599 0x20,0x80,
1600 0x11,0x00,
1601 0x0a,0x00,
1602 0x04,0x00,
1603 0x0a,0x00,
1604 0x11,0x00,
1605 0x20,0x80,
1606 0x40,0x40,
1607 0x80,0x20,/* CROSS 11x11 = 2.0 */
1608
1609 0x80,0x08,
1610 0x40,0x10,
1611 0x20,0x20,
1612 0x10,0x40,
1613 0x08,0x80,
1614 0x05,0x00,
1615 0x02,0x00,
1616 0x05,0x00,
1617 0x08,0x80,
1618 0x10,0x40,
1619 0x20,0x20,
1620 0x40,0x10,
1621 0x80,0x08,/* CROSS 13x13 = 2.5 */
1622
1623 0x80,0x02,
1624 0x40,0x04,
1625 0x20,0x08,
1626 0x10,0x10,
1627 0x08,0x20,
1628 0x04,0x40,
1629 0x02,0x80,
1630 0x01,0x00,
1631 0x02,0x80,
1632 0x04,0x40,
1633 0x08,0x20,
1634 0x10,0x10,
1635 0x20,0x08,
1636 0x40,0x04,
1637 0x80,0x02,/* CROSS 15x15 = 3.0 */
1638
1639 0x80,0x00, 0x80,
1640 0x40,0x01, 0x00,
1641 0x20,0x02, 0x00,
1642 0x10,0x04, 0x00,
1643 0x08,0x08, 0x00,
1644 0x04,0x10, 0x00,
1645 0x02,0x20, 0x00,
1646 0x01,0x40, 0x00,
1647 0x00,0x80, 0x00,
1648 0x01,0x40, 0x00,
1649 0x02,0x20, 0x00,
1650 0x04,0x10, 0x00,
1651 0x08,0x08, 0x00,
1652 0x10,0x04, 0x00,
1653 0x20,0x02, 0x00,
1654 0x40,0x01, 0x00,
1655 0x80,0x00, 0x80,/* CROSS 17x17 = 3.5 */
1656
1657 0x80,0x00, 0x20,
1658 0x40,0x00, 0x40,
1659 0x20,0x00, 0x80,
1660 0x10,0x01, 0x00,
1661 0x08,0x02, 0x00,
1662 0x04,0x04, 0x00,
1663 0x02,0x08, 0x00,
1664 0x01,0x10, 0x00,
1665 0x00,0xa0, 0x00,
1666 0x00,0x40, 0x00,
1667 0x00,0xa0, 0x00,
1668 0x01,0x10, 0x00,
1669 0x02,0x08, 0x00,
1670 0x04,0x04, 0x00,
1671 0x08,0x02, 0x00,
1672 0x10,0x01, 0x00,
1673 0x20,0x00, 0x80,
1674 0x40,0x00, 0x40,
1675 0x80,0x00, 0x20,/* CROSS 19x19 = 4.0 */
1676
1677 0x80,0x00, 0x08,
1678 0x40,0x00, 0x10,
1679 0x20,0x00, 0x20,
1680 0x10,0x00, 0x40,
1681 0x08,0x00, 0x80,
1682 0x04,0x01, 0x00,
1683 0x02,0x02, 0x00,
1684 0x01,0x04, 0x00,
1685 0x00,0x88, 0x00,
1686 0x00,0x50, 0x00,
1687 0x00,0x20, 0x00,
1688 0x00,0x50, 0x00,
1689 0x00,0x88, 0x00,
1690 0x01,0x04, 0x00,
1691 0x02,0x02, 0x00,
1692 0x04,0x01, 0x00,
1693 0x08,0x00, 0x80,
1694 0x10,0x00, 0x40,
1695 0x20,0x00, 0x20,
1696 0x40,0x00, 0x10,
1697 0x80,0x00, 0x08,/* CROSS 21x21 = 4.5 */
1698
1699 0x80,0x00, 0x02,
1700 0x40,0x00, 0x04,
1701 0x20,0x00, 0x08,
1702 0x10,0x00, 0x10,
1703 0x08,0x00, 0x20,
1704 0x04,0x00, 0x40,
1705 0x02,0x00, 0x80,
1706 0x01,0x01, 0x00,
1707 0x00,0x82, 0x00,
1708 0x00,0x44, 0x00,
1709 0x00,0x28, 0x00,
1710 0x00,0x10, 0x00,
1711 0x00,0x28, 0x00,
1712 0x00,0x44, 0x00,
1713 0x00,0x82, 0x00,
1714 0x01,0x01, 0x00,
1715 0x02,0x00, 0x80,
1716 0x04,0x00, 0x40,
1717 0x08,0x00, 0x20,
1718 0x10,0x00, 0x10,
1719 0x20,0x00, 0x08,
1720 0x40,0x00, 0x04,
1721 0x80,0x00, 0x02,/* CROSS 23x23 = 5.0 */
1722
1723 0x80,0x00, 0x00,0x80,
1724 0x40,0x00, 0x01,0x00,
1725 0x20,0x00, 0x02,0x00,
1726 0x10,0x00, 0x04,0x00,
1727 0x08,0x00, 0x08,0x00,
1728 0x04,0x00, 0x10,0x00,
1729 0x02,0x00, 0x20,0x00,
1730 0x01,0x00, 0x40,0x00,
1731 0x00,0x80, 0x80,0x00,
1732 0x00,0x41, 0x00,0x00,
1733 0x00,0x22, 0x00,0x00,
1734 0x00,0x14, 0x00,0x00,
1735 0x00,0x08, 0x00,0x00,
1736 0x00,0x14, 0x00,0x00,
1737 0x00,0x22, 0x00,0x00,
1738 0x00,0x41, 0x00,0x00,
1739 0x00,0x80, 0x80,0x00,
1740 0x01,0x00, 0x40,0x00,
1741 0x02,0x00, 0x20,0x00,
1742 0x04,0x00, 0x10,0x00,
1743 0x08,0x00, 0x08,0x00,
1744 0x10,0x00, 0x04,0x00,
1745 0x20,0x00, 0x02,0x00,
1746 0x40,0x00, 0x01,0x00,
1747 0x80,0x00, 0x00,0x80,/* CROSS 25x25 = 5.5 */
1748
1749 0x80,0x00, 0x00,0x20,
1750 0x40,0x00, 0x00,0x40,
1751 0x20,0x00, 0x00,0x80,
1752 0x10,0x00, 0x01,0x00,
1753 0x08,0x00, 0x02,0x00,
1754 0x04,0x00, 0x04,0x00,
1755 0x02,0x00, 0x08,0x00,
1756 0x01,0x00, 0x10,0x00,
1757 0x00,0x80, 0x20,0x00,
1758 0x00,0x40, 0x40,0x00,
1759 0x00,0x20, 0x80,0x00,
1760 0x00,0x11, 0x00,0x00,
1761 0x00,0x0a, 0x00,0x00,
1762 0x00,0x04, 0x00,0x00,
1763 0x00,0x0a, 0x00,0x00,
1764 0x00,0x11, 0x00,0x00,
1765 0x00,0x20, 0x80,0x00,
1766 0x00,0x40, 0x40,0x00,
1767 0x00,0x80, 0x20,0x00,
1768 0x01,0x00, 0x10,0x00,
1769 0x02,0x00, 0x08,0x00,
1770 0x04,0x00, 0x04,0x00,
1771 0x08,0x00, 0x02,0x00,
1772 0x10,0x00, 0x01,0x00,
1773 0x20,0x00, 0x00,0x80,
1774 0x40,0x00, 0x00,0x40,
1775 0x80,0x00, 0x00,0x20,/* CROSS 27x27 = 6.0 */
1776
1777 0x00,0x00, 0x00,0x00,
1778 0x00,0x00, 0x00,0x00,
1779 0x20,0x00, 0x00,0x04,
1780 0x10,0x00, 0x00,0x08,
1781 0x08,0x00, 0x00,0x10,
1782 0x04,0x00, 0x00,0x20,
1783 0x02,0x00, 0x00,0x40,
1784 0x01,0x00, 0x00,0x80,
1785 0x00,0x80, 0x01,0x00,
1786 0x00,0x40, 0x02,0x00,
1787 0x00,0x20, 0x04,0x00,
1788 0x00,0x10, 0x08,0x00,
1789 0x00,0x08, 0x10,0x00,
1790 0x00,0x04, 0x20,0x00,
1791 0x00,0x02, 0x40,0x00,
1792 0x00,0x01, 0x80,0x00,
1793 0x00,0x01, 0x80,0x00,
1794 0x00,0x02, 0x40,0x00,
1795 0x00,0x04, 0x20,0x00,
1796 0x00,0x08, 0x10,0x00,
1797 0x00,0x10, 0x08,0x00,
1798 0x00,0x20, 0x04,0x00,
1799 0x00,0x40, 0x02,0x00,
1800 0x00,0x80, 0x01,0x00,
1801 0x01,0x00, 0x00,0x80,
1802 0x02,0x00, 0x00,0x40,
1803 0x04,0x00, 0x00,0x20,
1804 0x08,0x00, 0x00,0x10,
1805 0x10,0x00, 0x00,0x08,
1806 0x20,0x00, 0x00,0x04,
1807 0x00,0x00, 0x00,0x00,
1808 0x00,0x00, 0x00,0x00,/* CROSS 32x32 = 6.5 */
1809
1810 0x00,0x00, 0x00,0x00,
1811 0x40,0x00, 0x00,0x02,
1812 0x20,0x00, 0x00,0x04,
1813 0x10,0x00, 0x00,0x08,
1814 0x08,0x00, 0x00,0x10,
1815 0x04,0x00, 0x00,0x20,
1816 0x02,0x00, 0x00,0x40,
1817 0x01,0x00, 0x00,0x80,
1818 0x00,0x80, 0x01,0x00,
1819 0x00,0x40, 0x02,0x00,
1820 0x00,0x20, 0x04,0x00,
1821 0x00,0x10, 0x08,0x00,
1822 0x00,0x08, 0x10,0x00,
1823 0x00,0x04, 0x20,0x00,
1824 0x00,0x02, 0x40,0x00,
1825 0x00,0x01, 0x80,0x00,
1826 0x00,0x01, 0x80,0x00,
1827 0x00,0x02, 0x40,0x00,
1828 0x00,0x04, 0x20,0x00,
1829 0x00,0x08, 0x10,0x00,
1830 0x00,0x10, 0x08,0x00,
1831 0x00,0x20, 0x04,0x00,
1832 0x00,0x40, 0x02,0x00,
1833 0x00,0x80, 0x01,0x00,
1834 0x01,0x00, 0x00,0x80,
1835 0x02,0x00, 0x00,0x40,
1836 0x04,0x00, 0x00,0x20,
1837 0x08,0x00, 0x00,0x10,
1838 0x10,0x00, 0x00,0x08,
1839 0x20,0x00, 0x00,0x04,
1840 0x40,0x00, 0x00,0x02,
1841 0x00,0x00, 0x00,0x00/* CROSS 32x32 = 7.0 */
1842};
1843
1844/*----------------------------------------------------------------------*/
1845
1846//TsmInitAttributes
1847void OpenGl_Display::InitAttributes ()
1848{
1849 // Return if already initialized
1850 if (myLinestyleBase) return;
1851
1852 myLinestyleBase = glGenLists(5);
1853
1854 /* Line */
1855
1856 glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_DASH, GL_COMPILE );
1857 glLineStipple(1, DASH_LS );
1858 glEndList();
1859
1860 glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_DOT, GL_COMPILE );
1861 glLineStipple(1, DOT_LS );
1862 glEndList();
1863
1864 glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_DOTDASH, GL_COMPILE );
1865 glLineStipple(1, DASH_DOT_LS );
1866 glEndList();
1867
1868 glNewList( (GLuint)myLinestyleBase+(GLuint)Aspect_TOL_USERDEFINED, GL_COMPILE );
1869 glLineStipple(1, DASH_DDOT_LS );
1870 glEndList();
1871
1872 /* FSXXX
1873 * GL_POLYGON_STIPPLE
1874 * need 32x32 stipple patterns
1875 */
1876 const int nbi = sizeof(myInteriors)/(32*sizeof(unsigned int));
1877 myPatternBase = glGenLists(TEL_HS_USER_DEF_START);
1878 int i;
1879 for( i = 1; i < TEL_HS_USER_DEF_START; i++ )
1880 {
1881 glNewList( (GLuint)myPatternBase + i, GL_COMPILE );
1882 glPolygonStipple((const GLubyte *) (myInteriors[i<nbi? i : 0]));
1883 glEndList();
1884 }
1885
1886 glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
1887
1888 myMarkerBase = glGenLists (60);
1889 int j;
1890 for( i = 1; i < TEL_NB_OF_LISTS; i++ )
1891 for( j = 0; j < TEL_NO_OF_SIZES; j++ )
1892 {
1893 const Tfloat w = arrPMFontInfo[i][j].width;
1894 const Tfloat h = arrPMFontInfo[i][j].height;
1895 const Tint offset = arrPMFontInfo[i][j].offset;
1896
1897 glNewList( (const GLuint)(arrPMFontInfo[i][j].str[0] + myMarkerBase), GL_COMPILE );
1898 glBitmap( (GLsizei)w, (GLsizei)h, (GLfloat)(0.5f * w), (GLfloat)(0.5f * h), 0.f, 0.f, (const GLubyte *) &myMarkerRaster[offset] );
1899 glEndList();
1900 }
1901}
1902
1903/*----------------------------------------------------------------------*/
1904
1905#define TEL_PM_START_SIZE 1.F
1906#define TEL_PM_END_SIZE 7.F
1907
1908//TelGetStringForPM
1909const char * OpenGl_Display::GetStringForMarker (const Aspect_TypeOfMarker AType, const Tfloat AVal) const
1910{
1911 const int atype = (int)(( AType > Aspect_TOM_O_X )? Aspect_TOM_X : AType);
1912
1913 const float index = ( float )(TEL_NO_OF_SIZES-1) * (AVal - ( float )TEL_PM_START_SIZE ) / ( float )(TEL_PM_END_SIZE - TEL_PM_START_SIZE);
1914 int id = (int)(index + 0.5F);
1915 if (id < 0) id = 0;
1916 else if (id >= TEL_NO_OF_SIZES) id = TEL_NO_OF_SIZES-1;
1917
1918 return arrPMFontInfo[atype][id].str;
1919}
1920
1921/*----------------------------------------------------------------------*/
1922
1923void OpenGl_Display::SetBaseForMarker () const
1924{
1925 glListBase( (const GLuint) myMarkerBase );
1926}
1927
1928/*----------------------------------------------------------------------*/
1929
1930void OpenGl_Display::SetTypeOfLine (const Aspect_TypeOfLine AType) const
1931{
1932 if (AType != Aspect_TOL_SOLID)
1933 {
1934 glCallList((GLuint)myLinestyleBase+(GLuint)AType);
1935 glEnable( GL_LINE_STIPPLE );
1936#ifdef HAVE_GL2PS
1937 gl2psEnable( GL2PS_LINE_STIPPLE );
1938#endif
1939 }
1940 else
1941 {
1942 glDisable( GL_LINE_STIPPLE );
1943#ifdef HAVE_GL2PS
1944 gl2psDisable( GL2PS_LINE_STIPPLE );
1945#endif
1946 }
1947}
1948
1949/*----------------------------------------------------------------------*/
1950
1951void OpenGl_Display::SetTypeOfHatch (const int AType) const
1952{
1953 if (AType)
1954 {
1955 glCallList((GLuint)myPatternBase+(GLuint)AType);
1956 glEnable( GL_POLYGON_STIPPLE );
1957 }
1958 else
1959 glDisable( GL_POLYGON_STIPPLE );
1960}
1961
1962/*----------------------------------------------------------------------*/