0022960: Memory leak in Xw_get_env.cxx
[occt.git] / src / Xw / Xw_Cextern.hxx
1 #ifndef XW_CEXTERN
2 #define XW_CEXTERN
3
4 #if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
5 #define XW_PROTOTYPE 1
6 #endif
7
8 #define XW_EXT_DISPLAY void
9 #define XW_EXT_WINDOW void
10 #define XW_EXT_COLORMAP void
11 #define XW_EXT_WIDTHMAP void
12 #define XW_EXT_TYPEMAP void
13 #define XW_EXT_FONTMAP void
14 #define XW_EXT_TILEMAP void
15 #define XW_EXT_MARKMAP void
16 #define XW_EXT_IMAGEDATA void
17 #define XW_EXT_COLOR void
18 #define XW_USERDATA void
19
20 #ifndef WNT
21 # include <Aspect_Handle.hxx>
22 #else
23 # define STRICT
24 # include <windows.h>
25 # define Aspect_Handle HANDLE
26 #endif  /* WNT */
27
28 #include <Aspect_Units.hxx>
29 #include <Aspect_FillMethod.hxx>
30
31 #ifndef _Xw_TypeOfVisual_HeaderFile
32 typedef enum { 
33         Xw_TOV_STATICGRAY,
34         Xw_TOV_GRAYSCALE,
35         Xw_TOV_STATICCOLOR,
36         Xw_TOV_PSEUDOCOLOR,
37         Xw_TOV_TRUECOLOR,
38         Xw_TOV_DIRECTCOLOR,
39         Xw_TOV_DEFAULT,
40         Xw_TOV_PREFERRED_PSEUDOCOLOR,
41         Xw_TOV_PREFERRED_TRUECOLOR,
42         Xw_TOV_PREFERRED_OVERLAY,
43         Xw_TOV_OVERLAY
44 } Xw_TypeOfVisual ;
45 #endif
46
47 #ifndef _Xw_TypeOfMapping_HeaderFile
48 typedef enum { 
49         Xw_TOM_HARDRAMP,
50         Xw_TOM_SIMPLERAMP,
51         Xw_TOM_BESTRAMP,
52         Xw_TOM_COLORCUBE,
53         Xw_TOM_READONLY 
54 } Xw_TypeOfMapping ;
55 #endif
56
57 typedef int XW_ATTRIB ;
58 #define XW_ALLATTRIB ~0 
59 #define XW_NOATTRIB  0
60
61 typedef enum { 
62         XW_REPLACE,XW_ERASE,XW_XORBACK,XW_XORLIGHT,XW_HIGHLIGHT,XW_UNHIGHLIGHT
63 } XW_DRAWMODE ;
64
65 typedef enum {
66         XW_DISABLE,XW_ENABLE
67 } XW_DOUBLEBUFFERMODE ;
68
69 typedef enum {
70         XW_WS_UNKNOWN,XW_MAP,XW_POP,XW_PUSH,XW_ICONIFY
71 } XW_WINDOWSTATE ;
72
73 typedef enum {
74         XW_MOUSEBUTTON,XW_MOUSEBUTTON1,XW_MOUSEBUTTON2,XW_MOUSEBUTTON3,
75         XW_MOUSEMOVE,XW_MOUSEMOVEWITHBUTTON,XW_MOUSEMOVEWITHBUTTON1,
76         XW_MOUSEMOVEWITHBUTTON2,XW_MOUSEMOVEWITHBUTTON3,
77         XW_KEYBOARD,XW_ENTERWINDOW,XW_RESIZEWINDOW,
78         XW_MOVEWINDOW,XW_ICONIFYWINDOW,XW_EXPOSEWINDOW,XW_ALLEVENT
79 } XW_EVENTTYPE ;
80
81 typedef struct {
82         XW_EVENTTYPE type ;
83         XW_EXT_WINDOW *awindow ;
84 } XW_ANYEVENT ;
85
86 typedef struct {
87         XW_EVENTTYPE type ;
88         XW_EXT_WINDOW *awindow ;
89         int     modifier ;      /* Special Key code */
90         int     button ;        /* Button number */
91         int     state ;         /* Button state : True if Press */
92         int     x,y ;           /* Mouse position */
93 } XW_MOUSEBUTTONEVENT ;
94
95 typedef struct {
96         XW_EVENTTYPE type ;
97         XW_EXT_WINDOW *awindow ;
98         int     modifier ;      /* Special Key code */
99         int     x,y ;           /* Mouse position */
100 } XW_MOUSEMOVEEVENT ;
101
102 typedef struct {
103         XW_EVENTTYPE type ;
104         XW_EXT_WINDOW *awindow ;
105         int     modifier ;      /* Special Key code */
106         int     button ;        /* Button number */
107         int     state ;         /* Button state : True if Press */
108         int     x,y ;           /* Mouse position */
109 } XW_MOUSEMOVEWITHBUTTONEVENT ;
110
111 typedef struct {
112         XW_EVENTTYPE type ;
113         XW_EXT_WINDOW *awindow ;
114         int     modifier ;          /* Special Key code */
115         int     keycode ;           /* Function Key code */
116         int     state ;             /* Key state : True if Press */
117         char    *string ;
118         int     x,y ;               /* Mouse position */
119 } XW_KEYBOARDEVENT ;
120
121 typedef struct {
122         XW_EVENTTYPE type ;
123         XW_EXT_WINDOW *awindow ;
124         int     xc,yc ;         /* Exposure center position */
125         int     width,height ;  /* Exposure size */
126 } XW_WINDOWEXPOSEEVENT ;
127
128 typedef struct {
129         XW_EVENTTYPE type ;
130         XW_EXT_WINDOW *awindow ;
131         int     xc,yc ;         /* Window center position */
132         int     width,height ;  /* Window size */
133 } XW_WINDOWRESIZEEVENT ;
134
135 typedef struct {
136         XW_EVENTTYPE type ;
137         XW_EXT_WINDOW *awindow ;
138         int     xc,yc ;         /* Window center position */
139 } XW_WINDOWMOVEEVENT ;
140
141 typedef struct {
142         XW_EVENTTYPE type ;
143         XW_EXT_WINDOW *awindow ;
144 } XW_WINDOWICONIFYEVENT ;
145
146 typedef struct {
147         XW_EVENTTYPE type ;
148         XW_EXT_WINDOW *awindow ;
149 } XW_WINDOWENTEREVENT ;
150
151 typedef union {
152         XW_EVENTTYPE type ;
153         XW_ANYEVENT  any ;
154         XW_MOUSEBUTTONEVENT mousebutton ;
155         XW_MOUSEMOVEEVENT mousemove ;
156         XW_MOUSEMOVEWITHBUTTONEVENT mousemovewithbutton ;
157         XW_KEYBOARDEVENT keyboard ;
158         XW_WINDOWEXPOSEEVENT windowexpose ;
159         XW_WINDOWRESIZEEVENT windowresize ;
160         XW_WINDOWMOVEEVENT windowmove ;
161         XW_WINDOWICONIFYEVENT windowiconify ;
162         XW_WINDOWENTEREVENT windowenter ;
163 } XW_EVENT ;
164
165 typedef enum {
166         XW_WITHOUT_CURSOR,XW_RUBBERLINE_CURSOR,
167         XW_RUBBERBAND_CURSOR,XW_USERDEFINED_CURSOR
168 } XW_CURSORTYPE ;
169
170 typedef enum {
171         XW_TOR_UNKNOWN,XW_NO_BORDER,XW_TOP_BORDER,
172         XW_RIGHT_BORDER,XW_BOTTOM_BORDER,XW_LEFT_BORDER,
173         XW_TOP_AND_RIGHT_BORDER,XW_RIGHT_AND_BOTTOM_BORDER,
174         XW_BOTTOM_AND_LEFT_BORDER,XW_LEFT_AND_TOP_BORDER
175 } XW_RESIZETYPE ;
176
177 typedef enum {
178         XW_ERROR,XW_SUCCESS
179 } XW_STATUS ;
180
181 #define XW_EXTENDEDTEXT_XSCALE 1
182 #define XW_EXTENDEDTEXT_YSCALE 2
183 #define XW_EXTENDEDTEXT_SLANT 4
184 #define XW_EXTENDEDTEXT_WIDTH 8
185 #define XW_EXTENDEDTEXT_HEIGHT 16
186 #define XW_EXTENDEDTEXT_MINHEIGHT 32
187 #define XW_EXTENDEDTEXT_UNDERLINE 64
188
189 #define XW_EXTENDEDTEXT_OUTLINE 256
190 #define XW_EXTENDEDTEXT_COMPOSITE 512
191
192 typedef struct {
193         int     type ;
194         float   xscale,yscale ;
195         float   slant ;
196         float   spacing ;
197         float   width,height,minheight ;
198         int     isUnderlined ;
199 } XW_EXTENDEDTEXT ;
200
201 typedef XW_STATUS (*XW_CALLBACK)(
202 #ifdef XW_PROTOTYPE         
203                 XW_EVENT* anyevent      ,
204                 XW_USERDATA* userdata
205 #endif
206                                 ) ;
207
208 /*
209    Trace & Errors
210 */
211
212         void Xw_set_trace       (
213 #ifdef XW_PROTOTYPE         
214                 int             TraceLevel      ,
215                 int             ErrorLevel
216 #endif
217                                 ) ;
218
219         char* Xw_get_error      (
220 #ifdef XW_PROTOTYPE         
221                 int*            Code ,
222                 int*            Gravity 
223 #endif
224                                 ) ;
225
226         XW_STATUS Xw_print_error        (
227                                 ) ;
228
229 /* 
230    Attributes selection 
231 */
232
233         XW_ATTRIB Xw_set_line_attrib            (
234 #ifdef XW_PROTOTYPE         
235                 XW_EXT_WINDOW* window_extension ,
236                 int             color   ,
237                 int             type    ,
238                 int             width   ,
239                 XW_DRAWMODE     mode
240 #endif
241                                                 );
242
243         XW_ATTRIB Xw_get_line_attrib            (
244 #ifdef XW_PROTOTYPE         
245                 XW_EXT_WINDOW* window_extension ,
246                 int             *color  ,
247                 int             *type   ,
248                 int             *width  ,
249                 XW_DRAWMODE     *mode
250 #endif
251                                                 );
252
253
254         XW_ATTRIB Xw_set_poly_attrib            (
255 #ifdef XW_PROTOTYPE         
256                 XW_EXT_WINDOW*  window_extension        ,
257                 int             color   ,
258                 int             type    ,
259                 int             tile    ,
260                 XW_DRAWMODE     mode
261 #endif
262                                                 );
263
264         XW_ATTRIB Xw_get_poly_attrib            (
265 #ifdef XW_PROTOTYPE         
266                 XW_EXT_WINDOW*  window_extension        ,
267                 int             *color  ,
268                 int             *type   ,
269                 int             *tile   ,
270                 XW_DRAWMODE     *mode
271 #endif
272                                                 );
273
274
275         XW_ATTRIB Xw_set_text_attrib            (
276 #ifdef XW_PROTOTYPE         
277                 XW_EXT_WINDOW*  window_extension        ,
278                 int             color   ,
279                 int             type    ,
280                 int             font    ,
281                 XW_DRAWMODE     mode
282 #endif
283                                                 );
284
285         XW_ATTRIB Xw_get_text_attrib            (
286 #ifdef XW_PROTOTYPE         
287                 XW_EXT_WINDOW*  window_extension        ,
288                 int             *color  ,
289                 int             *type   ,
290                 int             *font   ,
291                 XW_DRAWMODE     *mode
292 #endif
293                                                 );
294
295         XW_ATTRIB Xw_set_extended_text_attrib           (
296 #ifdef XW_PROTOTYPE         
297                 XW_EXT_WINDOW*  window_extension        ,
298                 int             color   ,
299                 int             font    ,
300                 XW_DRAWMODE     mode    ,
301                 XW_EXTENDEDTEXT *attribs
302 #endif
303                                                 );
304
305         XW_ATTRIB Xw_set_marker_attrib          (
306 #ifdef XW_PROTOTYPE         
307                 XW_EXT_WINDOW*  window_extension        ,
308                 int             color   ,
309                 int             type    ,
310                 int             width   ,
311                 XW_DRAWMODE     mode
312 #endif
313                                                 );
314
315         XW_ATTRIB Xw_get_marker_attrib          (
316 #ifdef XW_PROTOTYPE         
317                 XW_EXT_WINDOW*  window_extension        ,
318                 int             *color  ,
319                 int             *type   ,
320                 int             *width  ,
321                 XW_DRAWMODE     *mode
322 #endif
323                                                 );
324
325 /*
326     Output primitives 
327 */
328
329         void Xw_set_clipping                    (
330 #ifdef XW_PROTOTYPE         
331                 XW_EXT_WINDOW*  window_extension        ,
332                 int             flag    
333 #endif
334                                                 );
335
336         int Xw_get_clipping                     (
337 #ifdef XW_PROTOTYPE         
338                 XW_EXT_WINDOW*  window_extension
339 #endif
340                                                 );
341
342         XW_STATUS Xw_draw_line                  (
343 #ifdef XW_PROTOTYPE         
344                 XW_EXT_WINDOW*  window_extension        ,
345                 int             npoint  ,
346                 float*          x       ,
347                 float*          y
348 #endif
349                                                 );
350
351         XW_STATUS Xw_begin_line                 (
352 #ifdef XW_PROTOTYPE         
353                 XW_EXT_WINDOW*  window_extension        ,
354                 int             npoint
355 #endif
356                                                 );
357
358         XW_STATUS Xw_line_point                 (
359 #ifdef XW_PROTOTYPE         
360                 XW_EXT_WINDOW*  window_extension        ,
361                 float           x       ,
362                 float           y
363 #endif
364                                                 );
365
366         XW_STATUS Xw_close_line                 (
367 #ifdef XW_PROTOTYPE         
368                 XW_EXT_WINDOW*  window_extension
369 #endif
370                                                 );
371
372         XW_STATUS Xw_draw_segment                       (
373 #ifdef XW_PROTOTYPE         
374                 XW_EXT_WINDOW*  window_extension        ,
375                 float           x1              ,
376                 float           y1              ,
377                 float           x2              ,
378                 float           y2
379 #endif
380                                                 );
381
382         XW_STATUS Xw_draw_segments                      (
383 #ifdef XW_PROTOTYPE         
384                 XW_EXT_WINDOW*  window_extension        ,
385                 int             nsegments   ,
386                 float*          x1              ,
387                 float*          y1              ,
388                 float*          x2              ,
389                 float*          y2
390 #endif
391                                                 );
392
393         XW_STATUS Xw_begin_segments                     (
394 #ifdef XW_PROTOTYPE         
395                 XW_EXT_WINDOW*  window_extension        ,
396                 int             nsegment
397 #endif
398                                                 );
399
400         XW_STATUS Xw_close_segments                     (
401 #ifdef XW_PROTOTYPE         
402                 XW_EXT_WINDOW*  window_extension
403 #endif
404                                                 );
405
406         XW_STATUS Xw_draw_arc                   (
407 #ifdef XW_PROTOTYPE         
408                 XW_EXT_WINDOW*  window_extension        ,
409                 float           xc              ,
410                 float           yc              ,
411                 float           xradius         ,
412                 float           yradius         ,
413                 float           start_angle     ,
414                 float           angle
415 #endif
416                                                 );
417
418         XW_STATUS Xw_begin_arcs                 (
419 #ifdef XW_PROTOTYPE         
420                 XW_EXT_WINDOW*  window_extension        ,
421                 int             narc
422 #endif
423                                                 );
424
425         XW_STATUS Xw_close_arcs                 (
426 #ifdef XW_PROTOTYPE         
427                 XW_EXT_WINDOW*  window_extension
428 #endif
429                                                 );
430
431         XW_STATUS Xw_draw_polyarc                       (
432 #ifdef XW_PROTOTYPE         
433                 XW_EXT_WINDOW*  window_extension        ,
434                 float           xc              ,
435                 float           yc              ,
436                 float           xradius         ,
437                 float           yradius         ,
438                 float           start_angle     ,
439                 float           angle
440 #endif
441                                                 );
442
443         XW_STATUS Xw_begin_polyarcs                     (
444 #ifdef XW_PROTOTYPE         
445                 XW_EXT_WINDOW*  window_extension        ,
446                 int             narc
447 #endif
448                                                 );
449
450         XW_STATUS Xw_close_polyarcs                     (
451 #ifdef XW_PROTOTYPE         
452                 XW_EXT_WINDOW*  window_extension
453 #endif
454                                                 );
455
456
457         XW_STATUS Xw_draw_poly                  (
458 #ifdef XW_PROTOTYPE         
459                 XW_EXT_WINDOW*  window_extension        ,
460                 int             npoint  ,
461                 float*          x       ,
462                 float*          y
463 #endif
464                                                 );
465
466         XW_STATUS Xw_begin_poly                 (
467 #ifdef XW_PROTOTYPE         
468                 XW_EXT_WINDOW*  window_extension        ,
469                 int             npoint          ,
470                 int             npath
471 #endif
472                                                 );
473
474         XW_STATUS Xw_poly_point                 (
475 #ifdef XW_PROTOTYPE         
476                 XW_EXT_WINDOW*  window_extension        ,
477                 float           x       ,
478                 float           y
479 #endif
480                                                 );
481
482         XW_STATUS Xw_close_poly                 (
483 #ifdef XW_PROTOTYPE         
484                 XW_EXT_WINDOW*  window_extension
485 #endif
486                                                 );
487
488         XW_STATUS Xw_close_path                 (
489 #ifdef XW_PROTOTYPE         
490                 XW_EXT_WINDOW*  window_extension
491 #endif
492                                                 );
493
494         XW_STATUS Xw_draw_text                  (
495 #ifdef XW_PROTOTYPE         
496                 XW_EXT_WINDOW*  window_extension        ,
497                 float           x               , 
498                 float           y               ,
499                 char*           text            ,
500                 float           angle           ,
501                 int             mode
502 #endif
503                                                 );
504
505         XW_STATUS Xw_draw_polytext                      (
506 #ifdef XW_PROTOTYPE         
507                 XW_EXT_WINDOW*  window_extension        ,
508                 float           x               , 
509                 float           y               ,
510                 char*           text            ,
511                 float           angle           ,
512                 float           marge           ,
513                 int             mode
514 #endif
515                                                 );
516         
517         XW_STATUS Xw_get_text_size              (
518 #ifdef XW_PROTOTYPE         
519                 XW_EXT_WINDOW* window_extension ,
520                 int             Index   ,
521                 char*           string  ,
522                 float*          width   ,
523                 float*          height  ,
524                 float*          xoffset ,
525                 float*          yoffset
526 #endif
527                                                 );
528
529         XW_STATUS Xw_draw_marker                        (
530 #ifdef XW_PROTOTYPE         
531                 XW_EXT_WINDOW*  window_extension        ,
532                 int             Index   ,
533                 float           x       ,
534                 float           y       ,
535                 float           width   ,
536                 float           height  ,
537                 float           angle
538 #endif
539                                                 );
540
541         XW_STATUS Xw_begin_markers                      (
542 #ifdef XW_PROTOTYPE         
543                 XW_EXT_WINDOW*  window_extension        ,
544                 int             nmarker
545 #endif
546                                                 );
547
548         XW_STATUS Xw_close_markers                      (
549 #ifdef XW_PROTOTYPE         
550                 XW_EXT_WINDOW*  window_extension
551 #endif
552                                                 );
553
554         XW_STATUS Xw_draw_point                 (
555 #ifdef XW_PROTOTYPE         
556                 XW_EXT_WINDOW*  window_extension        ,
557                 float           x       ,
558                 float           y       
559 #endif
560                                                 );
561
562         XW_STATUS Xw_begin_points                       (
563 #ifdef XW_PROTOTYPE         
564                 XW_EXT_WINDOW*  window_extension        ,
565                 int             npoint
566 #endif
567                                                 );
568
569         XW_STATUS Xw_close_points                       (
570 #ifdef XW_PROTOTYPE         
571                 XW_EXT_WINDOW*  window_extension
572 #endif
573                                                 );
574
575         XW_STATUS Xw_open_buffer                        (
576 #ifdef XW_PROTOTYPE         
577                 XW_EXT_WINDOW*  window_extension ,
578                 int             BufferId,
579                 float           Xpivot,
580                 float           Ypivot,
581                 int             widthindex,
582                 int             colorindex,
583                 int             fontindex,
584                 XW_DRAWMODE     drawmode
585 #endif
586                                                 );
587
588         XW_STATUS Xw_close_buffer                       (
589 #ifdef XW_PROTOTYPE         
590                 XW_EXT_WINDOW*  window_extension ,
591                 int             BufferId
592 #endif
593                                                 );
594
595         XW_STATUS Xw_set_buffer                 (
596 #ifdef XW_PROTOTYPE         
597                 XW_EXT_WINDOW*  window_extension ,
598                 int             BufferId
599 #endif
600                                                 );
601
602         XW_STATUS Xw_draw_buffer                        (
603 #ifdef XW_PROTOTYPE         
604                 XW_EXT_WINDOW*  window_extension ,
605                 int             BufferId
606 #endif
607                                                 );
608
609         XW_STATUS Xw_erase_buffer                       (
610 #ifdef XW_PROTOTYPE         
611                 XW_EXT_WINDOW*  window_extension ,
612                 int             BufferId
613 #endif
614                                                 );
615
616         XW_STATUS Xw_move_buffer                        (
617 #ifdef XW_PROTOTYPE         
618                 XW_EXT_WINDOW*  window_extension ,
619                 int             BufferId,
620                 float           Xpivot,
621                 float           Ypivot
622 #endif
623                                                 );
624
625         XW_STATUS Xw_scale_buffer                       (
626 #ifdef XW_PROTOTYPE         
627                 XW_EXT_WINDOW*  window_extension ,
628                 int             BufferId,
629                 float           Sx,
630                 float           Sy
631 #endif
632                                                 );
633
634         XW_STATUS Xw_rotate_buffer                      (
635 #ifdef XW_PROTOTYPE         
636                 XW_EXT_WINDOW*  window_extension ,
637                 int             BufferId,
638                 float           Angle
639 #endif
640                                                 );
641
642         XW_STATUS Xw_clear_buffer                       (
643 #ifdef XW_PROTOTYPE         
644                 XW_EXT_WINDOW*  window_extension ,
645                 int             BufferId
646 #endif
647                                                 );
648
649
650         XW_STATUS Xw_get_buffer_info            (
651 #ifdef XW_PROTOTYPE         
652                 XW_EXT_WINDOW*  window_extension ,
653                 int     BufferId,
654                 float*  xpivot,
655                 float*  ypivot,
656                 float*  xscale,
657                 float*  yscale,
658                 float*  angle
659 #endif
660                                                 );
661
662         XW_STATUS Xw_get_buffer_status          (
663 #ifdef XW_PROTOTYPE         
664                 XW_EXT_WINDOW*  window_extension ,
665                 int     BufferId,
666                 int*    isOpen,
667                 int*    isDrawn,
668                 int*    isEmpty
669 #endif
670                                                 );
671
672 /* 
673    Window Miscellaneous
674 */
675
676         XW_STATUS Xw_def_background_color                       (
677 #ifdef XW_PROTOTYPE         
678                 XW_EXT_WINDOW*  window_extension        ,
679                 float           r       ,
680                 float           g       ,
681                 float           b 
682 #endif
683                                                 );
684
685         XW_STATUS Xw_set_background_index                       (
686 #ifdef XW_PROTOTYPE         
687                 XW_EXT_WINDOW*  window_extension        ,
688                 int             index
689 #endif
690                                                 );
691
692         XW_STATUS Xw_get_background_index                       (
693 #ifdef XW_PROTOTYPE         
694                 XW_EXT_WINDOW*  window_extension        ,
695                 int*            index
696 #endif
697                                                 );
698
699         XW_STATUS Xw_get_background_color       (
700 #ifdef XW_PROTOTYPE         
701                 XW_EXT_WINDOW*  window_extension        ,
702                 float*          r       ,
703                 float*          g       ,
704                 float*          b 
705 #endif
706                                                 );
707         XW_STATUS Xw_get_background_pixel                       (
708 #ifdef XW_PROTOTYPE         
709                 XW_EXT_WINDOW* window_extension ,
710                 unsigned long*          pixel
711 #endif
712                                                 );
713
714         XW_STATUS Xw_open_pixmap                (
715 #ifdef XW_PROTOTYPE         
716                 XW_EXT_WINDOW*  window_extension
717 #endif
718                                                 );
719
720         XW_STATUS Xw_close_pixmap               (
721 #ifdef XW_PROTOTYPE         
722                 XW_EXT_WINDOW*  window_extension
723 #endif
724                                                 );
725
726         XW_STATUS Xw_open_background_pixmap     (
727 #ifdef XW_PROTOTYPE         
728                 XW_EXT_WINDOW*  window_extension
729 #endif
730                                                 );
731
732         XW_STATUS Xw_close_background_pixmap    (
733 #ifdef XW_PROTOTYPE         
734                 XW_EXT_WINDOW*  window_extension
735 #endif
736                                                 );
737
738         XW_STATUS Xw_set_double_buffer          (
739 #ifdef XW_PROTOTYPE         
740                 XW_EXT_WINDOW*  window_extension        ,
741                 XW_DOUBLEBUFFERMODE     state
742 #endif
743                                                 );
744
745         XW_DOUBLEBUFFERMODE Xw_get_double_buffer                (
746 #ifdef XW_PROTOTYPE         
747                 XW_EXT_WINDOW*  window_extension
748 #endif
749                                                 );
750
751         XW_STATUS Xw_erase_window                       (
752 #ifdef XW_PROTOTYPE         
753                 XW_EXT_WINDOW*  window_extension
754 #endif
755                                                 );
756
757         XW_STATUS Xw_erase_area                 (
758 #ifdef XW_PROTOTYPE         
759                 XW_EXT_WINDOW*  window_extension        ,
760                 int             Xcenter         ,
761                 int             Ycenter         ,
762                 int             width   ,
763                 int             height
764 #endif
765                                                 );
766
767         XW_RESIZETYPE Xw_resize_window                  (
768 #ifdef XW_PROTOTYPE         
769                 XW_EXT_WINDOW*  window_extension
770 #endif
771                                                 );
772
773         XW_STATUS Xw_restore_area                       (
774 #ifdef XW_PROTOTYPE         
775                 XW_EXT_WINDOW*  window_extension        ,
776                 int             Xcenter ,
777                 int             Ycenter ,
778                 int             width   ,
779                 int             height
780 #endif
781                                                 );
782
783         XW_STATUS Xw_restore_window                             (
784 #ifdef XW_PROTOTYPE         
785                 XW_EXT_WINDOW*  window_extension
786 #endif
787                                                 );
788
789         XW_STATUS Xw_flush                      (
790 #ifdef XW_PROTOTYPE         
791                 XW_EXT_WINDOW*  window_extension,
792                 int             synchronize
793 #endif
794                                                 );
795
796         XW_EXT_WINDOW* Xw_def_window            (
797 #ifdef XW_PROTOTYPE         
798                 XW_EXT_DISPLAY* display_extension       ,
799                 Aspect_Handle          XWindowID,
800                 int             istransparent
801 #endif
802                                                 );
803
804         XW_STATUS Xw_isdefine_window            (
805 #ifdef XW_PROTOTYPE         
806                 XW_EXT_WINDOW*  window_extension
807 #endif
808                                                 );
809
810         Aspect_Handle Xw_open_window                   (
811 #ifdef XW_PROTOTYPE         
812                 XW_EXT_DISPLAY* display_extension       ,
813                 Xw_TypeOfVisual pclass  ,
814                 Aspect_Handle          parent  ,
815                 float           xc      ,
816                 float           yc      ,
817                 float           width   ,
818                 float           height  ,
819                 char*           title   ,
820                 int             istransparent  
821 #endif
822                                                 );
823
824         XW_STATUS Xw_close_window               (
825 #ifdef XW_PROTOTYPE         
826                 XW_EXT_WINDOW*  window_extension,
827                 int             destroy
828 #endif
829                                                 );
830
831         XW_STATUS Xw_set_window_state           (
832 #ifdef XW_PROTOTYPE         
833                 XW_EXT_WINDOW*  window_extension        ,
834                 XW_WINDOWSTATE  state
835 #endif
836                                                 );
837
838         XW_STATUS Xw_set_window_ratio           (
839 #ifdef XW_PROTOTYPE         
840                 XW_EXT_WINDOW*  window_extension        ,
841                 float           ratio
842 #endif
843                                                 );
844
845         XW_STATUS Xw_set_window_position                (
846 #ifdef XW_PROTOTYPE         
847                 XW_EXT_WINDOW*  window_extension        ,
848                 int             Xcenter ,
849                 int             Ycenter ,
850                 int             width   ,
851                 int             height
852 #endif
853                                                 );
854
855         XW_WINDOWSTATE Xw_get_window_position           (
856 #ifdef XW_PROTOTYPE         
857                 XW_EXT_WINDOW*  window_extension        ,
858                 int*            Xcenter ,
859                 int*            Ycenter ,
860                 int*            width   ,
861                 int*            height
862 #endif
863                                                 );
864
865         XW_WINDOWSTATE Xw_get_window_state              (
866 #ifdef XW_PROTOTYPE         
867                 XW_EXT_WINDOW*  window_extension
868 #endif
869                                                 );
870
871         XW_STATUS Xw_get_window_size            (
872 #ifdef XW_PROTOTYPE         
873                 XW_EXT_WINDOW*  window_extension        ,
874                 int*            width   ,
875                 int*            height
876 #endif
877                                                 );
878
879         Xw_TypeOfVisual Xw_get_window_visual    (
880 #ifdef XW_PROTOTYPE         
881                 XW_EXT_WINDOW*  window_extension
882 #endif
883                                                 );
884
885         float Xw_get_window_pixelvalue          (
886 #ifdef XW_PROTOTYPE
887                 XW_EXT_WINDOW*  window_extension     ,
888                 int             Pv
889 #endif
890                                                 );
891
892         XW_STATUS Xw_get_window_pixelcoord         (
893 #ifdef XW_PROTOTYPE
894                 XW_EXT_WINDOW*  window_extension     ,
895                 int             Px  ,
896                 int             Py  ,
897                 float*          Dx  ,
898                 float*          Dy
899 #endif
900                                                 );
901
902         XW_STATUS Xw_get_window_info    (
903 #ifdef XW_PROTOTYPE         
904                 XW_EXT_WINDOW*  window_extension     ,
905                 Aspect_Handle*         window  ,
906                 Aspect_Handle*         pixmap  ,
907                 Aspect_Handle*         root    ,
908                 Aspect_Handle*         colormap,
909                 Xw_TypeOfVisual* pclass ,
910                 int*            depth   ,
911                 int*            visualid
912 #endif
913                                                 );
914
915         XW_STATUS Xw_set_hard_cursor                    (
916 #ifdef XW_PROTOTYPE         
917                 XW_EXT_WINDOW*  window_extension        ,
918                 int     XcursorID       ,
919                 int     grab    ,
920                 float   red     ,
921                 float   green   ,
922                 float   blue
923 #endif
924                                                 );
925
926         XW_STATUS Xw_set_soft_cursor                    (
927 #ifdef XW_PROTOTYPE         
928                 XW_EXT_WINDOW*  window_extension        ,
929                 XW_CURSORTYPE   cursor  ,
930                 int             button 
931 #endif
932                                                 );
933
934         XW_STATUS Xw_get_cursor_position        (
935 #ifdef XW_PROTOTYPE         
936                 XW_EXT_WINDOW*  window_extension        ,
937                 int*    Xpos    ,
938                 int*    Ypos    
939 #endif
940                                                 );
941
942 /*
943    Images Miscellaneous
944 */
945
946         XW_EXT_IMAGEDATA* Xw_open_image                 (
947 #ifdef XW_PROTOTYPE         
948                 XW_EXT_WINDOW*  window_extension        ,
949                 XW_USERDATA*    aimageinfo,
950                 int             width   ,
951                 int             height
952 #endif
953                                                 );
954
955         XW_STATUS Xw_isdefine_image             (
956 #ifdef XW_PROTOTYPE         
957                 XW_EXT_IMAGEDATA*       image_extension
958 #endif
959                                                 );
960
961         XW_STATUS Xw_close_image                        (
962 #ifdef XW_PROTOTYPE         
963                 XW_EXT_IMAGEDATA*       image_extension
964 #endif
965                                                 );
966
967         XW_STATUS Xw_draw_image                 (
968 #ifdef XW_PROTOTYPE         
969                 XW_EXT_WINDOW*  window_extension    ,
970                 XW_EXT_IMAGEDATA*       image_extension ,
971                 float           Xcenter ,
972                 float           Ycenter
973 #endif
974                                                 );
975
976 XW_STATUS Xw_draw_zoomed_image
977 (
978 #ifdef XW_PROTOTYPE         
979   XW_EXT_WINDOW*    window_extension,
980   XW_EXT_IMAGEDATA* image_extension,
981   float             Xcenter,
982   float             Ycenter,
983   float             zoom
984 #endif
985 );
986
987         XW_STATUS Xw_zoom_image                 (
988 #ifdef XW_PROTOTYPE         
989                 XW_EXT_IMAGEDATA*       image_extension ,
990                 float           zoom    
991 #endif
992                                                 );
993
994         XW_STATUS Xw_gamma_image                 (
995 #ifdef XW_PROTOTYPE         
996                 XW_EXT_IMAGEDATA*       image_extension ,
997                 float           gamma    
998 #endif
999                                                 );
1000
1001
1002         XW_STATUS Xw_put_background_image       (
1003 #ifdef XW_PROTOTYPE         
1004                 XW_EXT_WINDOW*  window_extension    ,
1005                 XW_EXT_IMAGEDATA*       image_extension ,
1006                 Aspect_FillMethod       method
1007 #endif
1008                                                 );
1009
1010         XW_STATUS Xw_update_background_image    (
1011 #ifdef XW_PROTOTYPE         
1012                 XW_EXT_WINDOW*  window_extension 
1013 #endif
1014                                                 );
1015
1016         XW_STATUS Xw_set_background_pixmap      ( 
1017 #ifdef XW_PROTOTYPE 
1018                 XW_EXT_WINDOW * awindow, 
1019                 Aspect_Handle apixmap
1020 #endif
1021                                                 );
1022
1023         XW_STATUS Xw_get_background_pixmap      ( 
1024 #ifdef XW_PROTOTYPE 
1025                 XW_EXT_WINDOW * awindow, 
1026                 Aspect_Handle& apixmap 
1027 #endif
1028                                                 );
1029
1030         XW_STATUS Xw_clear_background_image     (
1031 #ifdef XW_PROTOTYPE         
1032                 XW_EXT_WINDOW*  window_extension   
1033 #endif
1034                                                 );
1035
1036         XW_EXT_IMAGEDATA* Xw_get_image                  (
1037 #ifdef XW_PROTOTYPE         
1038                 XW_EXT_WINDOW*  window_extension    ,
1039                 XW_USERDATA*    aimageinfo,
1040                 int             Xcenter ,
1041                 int             Ycenter ,
1042                 int             width   ,
1043                 int             height
1044 #endif
1045                                                 );
1046
1047         XW_EXT_IMAGEDATA* Xw_get_image_from_pixmap (
1048 #ifdef XW_PROTOTYPE         
1049                 XW_EXT_WINDOW*  window_extension    ,
1050                 XW_USERDATA*    aimageinfo,
1051                 Aspect_Handle   pixmapID,
1052                 int             Xcenter ,
1053                 int             Ycenter ,
1054                 int             width   ,
1055                 int             height
1056 #endif
1057                                                 );
1058
1059         XW_STATUS Xw_get_background_image       (
1060 #ifdef XW_PROTOTYPE         
1061                 XW_EXT_WINDOW*  window_extension    ,
1062                 int             Xcenter ,
1063                 int             Ycenter ,
1064                 int             width   ,
1065                 int             height
1066 #endif
1067                                                 );
1068
1069         XW_EXT_IMAGEDATA* Xw_get_image_handle   (
1070 #ifdef XW_PROTOTYPE         
1071                 XW_EXT_WINDOW*  window_extension    ,
1072                 XW_USERDATA*    aimageinfo
1073 #endif
1074                                                 );
1075
1076         XW_EXT_IMAGEDATA* Xw_load_image                 (
1077 #ifdef XW_PROTOTYPE         
1078                 XW_EXT_WINDOW*  window_extension    ,
1079                 XW_USERDATA*            aimageinfo      ,
1080                 char*           FileName
1081 #endif
1082                                                 );
1083
1084         XW_STATUS Xw_convert_image                      (
1085 #ifdef XW_PROTOTYPE
1086                 XW_EXT_WINDOW*  window_extension    ,
1087                 XW_EXT_IMAGEDATA*       image_extension,
1088                 XW_EXT_COLOR*   color_extension,
1089                 int             ncolors                
1090 #endif
1091                                                 );
1092
1093         XW_STATUS Xw_get_image_info                     (
1094 #ifdef XW_PROTOTYPE         
1095                 XW_EXT_IMAGEDATA*       image_extension,
1096                 float*          zoom    ,
1097                 int*            width   ,
1098                 int*            height  ,
1099                 int*            depth
1100 #endif
1101                                                 );
1102
1103         XW_STATUS Xw_save_image                 (
1104 #ifdef XW_PROTOTYPE         
1105                 XW_EXT_WINDOW*  window_extension    ,
1106                 XW_EXT_IMAGEDATA*       image_extension ,
1107                 char*           FileName
1108 #endif
1109                                                 );
1110
1111         XW_STATUS Xw_put_pixel                  (
1112 #ifdef XW_PROTOTYPE         
1113                 XW_EXT_IMAGEDATA*       image_extension ,
1114                 int             x               ,
1115                 int             y               ,
1116                 int             index   ,
1117                 int             npixel
1118 #endif
1119                                                 );
1120
1121         XW_STATUS Xw_put_rgbpixel                       (
1122 #ifdef XW_PROTOTYPE         
1123                 XW_EXT_IMAGEDATA*       image_extension ,
1124                 int             x               ,
1125                 int             y               ,
1126                 float           r       ,
1127                 float           g       ,
1128                 float           b       ,
1129                 int             npixel
1130 #endif
1131                                                 );
1132
1133         XW_STATUS Xw_get_pixel                  (
1134 #ifdef XW_PROTOTYPE         
1135                 XW_EXT_IMAGEDATA*       image_extension ,
1136                 int             x               ,
1137                 int             y               ,
1138                 int*            index   ,
1139                 int*            npixel
1140 #endif
1141                                                 );
1142
1143         XW_STATUS Xw_get_rgbpixel                       (
1144 #ifdef XW_PROTOTYPE         
1145                 XW_EXT_IMAGEDATA*       image_extension ,
1146                 int             x               ,
1147                 int             y               ,
1148                 float*          r               ,
1149                 float*          g       ,
1150                 float*          b       ,
1151                 int*            npixel
1152 #endif
1153                                                 );
1154
1155         XW_STATUS Xw_alloc_pixel                        (
1156 #ifdef XW_PROTOTYPE         
1157                 XW_EXT_COLORMAP*        colormap_extension      ,
1158                 unsigned long   *pixel  
1159 #endif
1160                                                 );
1161
1162         XW_STATUS Xw_free_pixel                 (
1163 #ifdef XW_PROTOTYPE         
1164                 XW_EXT_COLORMAP*        colormap_extension      ,
1165                 unsigned long   pixel   
1166 #endif
1167                                                 );
1168
1169         XW_STATUS Xw_set_pixel                  (
1170 #ifdef XW_PROTOTYPE         
1171                 XW_EXT_COLORMAP*        colormap_extension      ,
1172                 unsigned long   pixel   ,
1173                 float           r       ,
1174                 float           g       ,
1175                 float           b               
1176 #endif
1177                                                 );
1178
1179         XW_STATUS Xw_set_pixel                  (
1180 #ifdef XW_PROTOTYPE         
1181                 XW_EXT_COLORMAP*        colormap_extension      ,
1182                 unsigned long   pixel   ,
1183                 float           r       ,
1184                 float           g       ,
1185                 float           b               
1186 #endif
1187                                                 );
1188
1189 /*
1190     Display miscellaneous
1191 */
1192
1193         XW_EXT_DISPLAY* Xw_set_display          (
1194 #ifdef XW_PROTOTYPE         
1195                 void*           pDisplay       
1196 #endif
1197                                                 );
1198
1199         XW_EXT_DISPLAY* Xw_open_display         (
1200 #ifdef XW_PROTOTYPE         
1201                 char*           connexion       
1202 #endif
1203                                                 );
1204
1205         char* Xw_get_display_name               (
1206 #ifdef XW_PROTOTYPE         
1207                 XW_EXT_DISPLAY* adisplay  
1208 #endif
1209                                                 );
1210
1211         int Xw_get_plane_layer                  (
1212 #ifdef XW_PROTOTYPE         
1213                 XW_EXT_DISPLAY* adisplay        ,
1214                 int     visualid
1215 #endif
1216                                                 );
1217
1218         XW_EXT_DISPLAY* Xw_get_display          (
1219 #ifdef XW_PROTOTYPE         
1220                 char*           connexion       
1221 #endif
1222                                                 );
1223
1224         XW_STATUS Xw_close_display              (
1225 #ifdef XW_PROTOTYPE         
1226                 XW_EXT_DISPLAY* adisplay        
1227 #endif
1228                                                 );
1229
1230         XW_STATUS Xw_get_screen_size            (
1231 #ifdef XW_PROTOTYPE         
1232                 XW_EXT_DISPLAY* adisplay        ,
1233                 int*            width   ,
1234                 int*            height
1235 #endif
1236                                                 );
1237
1238         XW_STATUS Xw_get_mmscreen_size          (
1239 #ifdef XW_PROTOTYPE         
1240                 XW_EXT_DISPLAY* adisplay        ,
1241                 float*          width   ,
1242                 float*          height
1243 #endif
1244                                                 );
1245
1246         XW_STATUS Xw_get_screen_pixelcoord      (
1247 #ifdef XW_PROTOTYPE         
1248                 XW_EXT_DISPLAY* display ,
1249                 int             px              ,
1250                 int             py              ,
1251                 float*          sx              ,
1252                 float*          sy
1253 #endif
1254                                                 );
1255
1256         XW_STATUS Xw_get_pixel_screencoord      (
1257 #ifdef XW_PROTOTYPE         
1258                 XW_EXT_DISPLAY* display ,
1259                 float           sx              ,
1260                 float           sy              ,
1261                 int*            px              ,
1262                 int*            py 
1263 #endif
1264                                                 );
1265
1266         float Xw_get_screen_pixelvalue          (
1267 #ifdef XW_PROTOTYPE         
1268                 XW_EXT_DISPLAY* display ,
1269                 int             pv
1270 #endif
1271                                                 );
1272
1273         int Xw_get_pixel_screenvalue            (
1274 #ifdef XW_PROTOTYPE         
1275                 XW_EXT_DISPLAY* display ,
1276                 float           sv
1277 #endif
1278                                                 );
1279
1280         float Xw_get_mmscreen_pixelvalue        (
1281 #ifdef XW_PROTOTYPE         
1282                 XW_EXT_DISPLAY* display ,
1283                 int             pv 
1284 #endif
1285                                                 );
1286
1287         int Xw_get_pixel_mmscreenvalue          (
1288 #ifdef XW_PROTOTYPE         
1289                 XW_EXT_DISPLAY* adisplay        ,
1290                 float           mv 
1291 #endif
1292                                                 );
1293
1294         XW_STATUS Xw_isdefine_display           (
1295 #ifdef XW_PROTOTYPE
1296                 XW_EXT_DISPLAY*         display_extension
1297 #endif
1298                                                 );
1299
1300 #if defined(XW_PROTOTYPE) && ( defined(__cplusplus) || defined(c_plusplus) )
1301 extern "C" {
1302 #endif
1303         XW_STATUS Xw_get_display_info           (
1304 #ifdef XW_PROTOTYPE         
1305                 XW_EXT_DISPLAY* display_extension       ,
1306                 Aspect_Handle**        display         ,
1307                 Aspect_Handle*         root    ,
1308                 Aspect_Handle*         colormap        ,
1309                 Xw_TypeOfVisual*        pclass  ,
1310                 int*            depth
1311 #endif
1312                                                 );
1313 #if defined(XW_PROTOTYPE) && ( defined(__cplusplus) || defined(c_plusplus) )
1314       }
1315 #endif
1316
1317         Xw_TypeOfVisual Xw_get_display_visual   (
1318 #ifdef XW_PROTOTYPE         
1319                 XW_EXT_DISPLAY*  display_extension      ,
1320                 Xw_TypeOfVisual  visual
1321 #endif
1322                                                 );
1323 /*
1324     IconBox
1325 */
1326
1327         int Xw_load_icons       (
1328 #ifdef XW_PROTOTYPE         
1329                 XW_EXT_WINDOW*  iconbox_extension       ,
1330                 char*           filename
1331 #endif
1332                                                 );
1333
1334         int Xw_clear_icons      (
1335 #ifdef XW_PROTOTYPE         
1336                 XW_EXT_WINDOW*  iconbox_extension       ,
1337                 char*           filename
1338 #endif
1339                                                 );
1340
1341         XW_STATUS Xw_show_icons (
1342 #ifdef XW_PROTOTYPE         
1343                 XW_EXT_WINDOW*  iconbox_extension       
1344 #endif
1345                                                 );
1346
1347         int Xw_save_icons       (
1348 #ifdef XW_PROTOTYPE         
1349                 XW_EXT_WINDOW*  iconbox_extension
1350 #endif
1351                                                 );
1352
1353         Aspect_Handle Xw_get_icon_pixmap        (
1354 #ifdef XW_PROTOTYPE         
1355                 XW_EXT_WINDOW*  iconbox_extension       ,
1356                 int             width   ,
1357                 int             height  ,
1358                 char*           iconname
1359 #endif
1360                                                 );
1361
1362         XW_STATUS Xw_get_icon_size              (
1363 #ifdef XW_PROTOTYPE         
1364                 XW_EXT_WINDOW*  iconbox_extension       ,
1365                 char*           iconname,
1366                 int*            width   ,
1367                 int*            height  
1368 #endif
1369                                                 );
1370
1371         char* Xw_get_icon_name          (
1372 #ifdef XW_PROTOTYPE         
1373                 XW_EXT_WINDOW*  iconbox_extension       ,
1374                 int             index   
1375 #endif
1376                                                 );
1377
1378         XW_STATUS Xw_put_window_icon    (
1379 #ifdef XW_PROTOTYPE         
1380                 XW_EXT_WINDOW*  iconbox_extension       ,
1381                 XW_EXT_WINDOW*  window_extension        ,
1382                 char*           iconname        ,
1383                 int             width   ,
1384                 int             height
1385 #endif
1386                                                 );
1387
1388
1389 /*
1390     Colormap & Color attributs definition 
1391 */
1392
1393         XW_EXT_COLORMAP* Xw_def_colormap        (
1394 #ifdef XW_PROTOTYPE         
1395                 XW_EXT_DISPLAY* display_extension       ,
1396                 Xw_TypeOfVisual     pclass      , 
1397                 int             ncolor  ,
1398                 Aspect_Handle          BaseMap ,
1399                 Xw_TypeOfMapping mapping
1400 #endif
1401                                                 );
1402
1403         XW_STATUS Xw_close_colormap             (
1404 #ifdef XW_PROTOTYPE         
1405                 XW_EXT_COLORMAP* colormap_extension     
1406 #endif
1407                                                 );
1408
1409         XW_STATUS Xw_set_colormap_mapping       (
1410 #ifdef XW_PROTOTYPE         
1411                 XW_EXT_COLORMAP* colormap_extension,
1412                 Xw_TypeOfMapping mapping
1413 #endif
1414                                                 );
1415
1416         XW_STATUS Xw_isdefine_colormap          (
1417 #ifdef XW_PROTOTYPE         
1418                 XW_EXT_COLORMAP* colormap_extension
1419 #endif
1420                                                 );
1421
1422         XW_STATUS Xw_set_colormap               (
1423 #ifdef XW_PROTOTYPE         
1424                 XW_EXT_WINDOW*  window_extension        ,
1425                 XW_EXT_COLORMAP* colormap_extension
1426 #endif
1427                                                 );
1428
1429         Xw_TypeOfVisual Xw_get_colormap_visual  (
1430 #ifdef XW_PROTOTYPE         
1431                 XW_EXT_COLORMAP* colormap_extension
1432 #endif
1433                                                 );
1434
1435         Aspect_Handle Xw_get_colormap_xid       (
1436 #ifdef XW_PROTOTYPE         
1437                 XW_EXT_COLORMAP* colormap_extension
1438 #endif
1439                                                 );
1440
1441         XW_STATUS Xw_get_colormap_colorcube     (
1442 #ifdef XW_PROTOTYPE
1443                 XW_EXT_COLORMAP* colormap_extension,
1444                 Aspect_Handle *colormap,
1445                 int *visualid,
1446                 int *base_pixel,
1447                 int *red_max,
1448                 int *red_mult,
1449                 int *green_max,
1450                 int *green_mult,
1451                 int *blue_max,
1452                 int *blue_mult
1453 #endif
1454                                                 );
1455
1456         XW_STATUS Xw_get_colormap_grayramp      (
1457 #ifdef XW_PROTOTYPE
1458                 XW_EXT_COLORMAP* colormap_extension,
1459                 Aspect_Handle *colormap,
1460                 int *visualid,
1461                 int *base_pixel,
1462                 int *gray_max,
1463                 int *gray_mult
1464 #endif
1465                                                 );
1466
1467         XW_STATUS Xw_get_colormap_info          (
1468 #ifdef XW_PROTOTYPE         
1469                 XW_EXT_COLORMAP* colormap_extension     ,
1470                 Aspect_Handle**        visual,
1471                 Xw_TypeOfVisual* pclass ,
1472                 int*            visualid,
1473                 int*            maxcolor        ,
1474                 int*            systemcolor ,
1475                 int*            usercolor ,
1476                 int*            definecolor ,
1477                 int*            firstfreecolorindex
1478 #endif
1479                                                 );
1480
1481         XW_STATUS Xw_def_color                  (
1482 #ifdef XW_PROTOTYPE         
1483                 XW_EXT_COLORMAP* colormap_extension     ,
1484                 int              index  ,
1485                 float           r               ,
1486                 float           g               ,
1487                 float           b 
1488 #endif
1489                                                 );
1490
1491         XW_STATUS Xw_def_highlight_color        (
1492 #ifdef XW_PROTOTYPE         
1493                 XW_EXT_COLORMAP* colormap_extension     ,
1494                 float           r               ,
1495                 float           g               ,
1496                 float           b 
1497 #endif
1498                                                 );
1499
1500         XW_STATUS Xw_get_color                  (
1501 #ifdef XW_PROTOTYPE         
1502                 XW_EXT_COLORMAP* colormap_extension     ,
1503                 int             index   ,
1504                 float*          r               ,
1505                 float*          g               ,
1506                 float*          b               ,
1507                 unsigned long* pixel
1508 #endif
1509                                                 );
1510
1511         XW_STATUS Xw_get_color_index            (
1512 #ifdef XW_PROTOTYPE         
1513                 XW_EXT_COLORMAP* colormap_extension     ,
1514                 float           r               ,
1515                 float           g               ,
1516                 float           b               ,
1517                 int*            index
1518 #endif
1519                                                 );
1520
1521         XW_STATUS Xw_get_color_pixel            (
1522 #ifdef XW_PROTOTYPE         
1523                 XW_EXT_COLORMAP* colormap_extension     ,
1524                 float           r               ,
1525                 float           g               ,
1526                 float           b               ,
1527                 unsigned long*          pixel   ,
1528                 int*            isapproximate
1529 #endif
1530                                                 );
1531
1532         XW_STATUS Xw_get_color_name             (
1533 #ifdef XW_PROTOTYPE         
1534                 XW_EXT_COLORMAP* colormap_extension     ,
1535                 const char*     name    ,
1536                 float*          r               ,
1537                 float*          g               ,
1538                 float*          b 
1539 #endif
1540                                                 );
1541
1542         XW_STATUS Xw_get_highlight_color        (
1543 #ifdef XW_PROTOTYPE         
1544                 XW_EXT_COLORMAP* colormap_extension     ,
1545                 float*          r               ,
1546                 float*          g               ,
1547                 float*          b 
1548 #endif
1549                                                 );
1550
1551         XW_STATUS Xw_get_highlight_pixel        (
1552 #ifdef XW_PROTOTYPE         
1553                 XW_EXT_COLORMAP* colormap_extension     ,
1554                 unsigned long*          pixel 
1555 #endif
1556                                                 );
1557
1558         XW_STATUS Xw_isdefine_color             (
1559 #ifdef XW_PROTOTYPE         
1560                 XW_EXT_COLORMAP* colormap_extension     ,
1561                 int             index 
1562 #endif
1563                                                 );
1564 /*
1565     Widthmap & Width attributs definition 
1566 */
1567
1568         XW_EXT_WIDTHMAP* Xw_def_widthmap        (
1569 #ifdef XW_PROTOTYPE         
1570                 XW_EXT_DISPLAY* display_extension       ,
1571                 int             nwidth
1572 #endif
1573                                                 );
1574
1575         XW_STATUS Xw_close_widthmap             (
1576 #ifdef XW_PROTOTYPE         
1577                 XW_EXT_WIDTHMAP* widthmap_extension     
1578 #endif
1579                                                 );
1580
1581         XW_STATUS Xw_isdefine_widthmap          (
1582 #ifdef XW_PROTOTYPE         
1583                 XW_EXT_WIDTHMAP* widthmap_extension
1584 #endif
1585                                                 );
1586
1587         XW_STATUS Xw_set_widthmap               (
1588 #ifdef XW_PROTOTYPE         
1589                 XW_EXT_WINDOW* window_extension ,
1590                 XW_EXT_WIDTHMAP* widthmap_extension
1591 #endif
1592                                                 );
1593
1594         XW_STATUS Xw_get_widthmap_info          (
1595 #ifdef XW_PROTOTYPE         
1596                 XW_EXT_WIDTHMAP* widthmap_extension     ,
1597                 int*            maxwidth        ,
1598                 int*            userwidth ,
1599                 int*            definewidth ,
1600                 int*            firstfreewidthindex
1601 #endif
1602                                                 );
1603
1604         XW_STATUS Xw_def_width                  (
1605 #ifdef XW_PROTOTYPE         
1606                 XW_EXT_WIDTHMAP* widthmap_extension     ,
1607                 int             index   ,
1608                 float           MMwidth
1609 #endif
1610                                                 );
1611
1612         XW_STATUS Xw_get_width_index            (
1613 #ifdef XW_PROTOTYPE         
1614                 XW_EXT_WIDTHMAP* widthmap_extension     ,
1615                 float           Width   ,
1616                 int*            index
1617 #endif
1618                                                 );
1619
1620         XW_STATUS Xw_get_width                  (
1621 #ifdef XW_PROTOTYPE         
1622                 XW_EXT_WIDTHMAP* widthmap_extension     ,
1623                 int             index   ,
1624                 float*          MMwidth
1625 #endif
1626                                                 );
1627
1628         XW_STATUS Xw_isdefine_width             (
1629 #ifdef XW_PROTOTYPE         
1630                 XW_EXT_WIDTHMAP* widthmap_extension     ,
1631                 int             index 
1632 #endif
1633                                                 );
1634
1635 /*
1636     Typemap & Type attributs definition 
1637 */
1638
1639         XW_EXT_TYPEMAP* Xw_def_typemap          (
1640 #ifdef XW_PROTOTYPE         
1641                 XW_EXT_DISPLAY* display_extension       ,
1642                 int             ntype
1643 #endif
1644                                                 );
1645
1646         XW_STATUS Xw_close_typemap              (
1647 #ifdef XW_PROTOTYPE         
1648                 XW_EXT_TYPEMAP* typemap_extension       
1649 #endif
1650                                                 );
1651
1652         XW_STATUS Xw_isdefine_typemap           (
1653 #ifdef XW_PROTOTYPE         
1654                 XW_EXT_TYPEMAP* typemap_extension
1655 #endif
1656                                                 );
1657
1658         XW_STATUS Xw_set_typemap                (
1659 #ifdef XW_PROTOTYPE         
1660                 XW_EXT_WINDOW*  window_extension        ,
1661                 XW_EXT_TYPEMAP* typemap_extension
1662 #endif
1663                                                 );
1664
1665         XW_STATUS Xw_get_typemap_info           (
1666 #ifdef XW_PROTOTYPE         
1667                 XW_EXT_TYPEMAP* typemap_extension       ,
1668                 int*            maxtype ,
1669                 int*            usertype ,
1670                 int*            definetype ,
1671                 int*            firstfreetypeindex
1672 #endif
1673                                                 );
1674
1675         XW_STATUS Xw_def_type                   (
1676 #ifdef XW_PROTOTYPE         
1677                 XW_EXT_TYPEMAP* typemap_extension       ,
1678                 int             index   ,
1679                 int             DescriptorLength        ,
1680                 float*          TypeDescriptor
1681 #endif
1682                                                 );
1683
1684         XW_STATUS Xw_get_type                   (
1685 #ifdef XW_PROTOTYPE         
1686                 XW_EXT_TYPEMAP* typemap_extension       ,
1687                 int             index   ,
1688                 int*            DescriptorLength        ,
1689                 float*          TypeDescriptor
1690 #endif
1691                                                 );
1692
1693         XW_STATUS Xw_get_type_index             (
1694 #ifdef XW_PROTOTYPE         
1695                 XW_EXT_TYPEMAP* typemap_extension       ,
1696                 float*          TypeDescriptor  ,
1697                 int             DescriptorLength        ,
1698                 int*            index
1699 #endif
1700                                                 );
1701
1702         XW_STATUS Xw_isdefine_type              (
1703 #ifdef XW_PROTOTYPE         
1704                 XW_EXT_TYPEMAP* typemap_extension       ,
1705                 int             index 
1706 #endif
1707                                                 );
1708
1709 /*
1710     Fontmap & Font attributs definition 
1711 */
1712
1713         XW_EXT_FONTMAP* Xw_def_fontmap          (
1714 #ifdef XW_PROTOTYPE         
1715                 XW_EXT_DISPLAY* display_extension       ,
1716                 int             nfont
1717 #endif
1718                                                 );
1719
1720         XW_STATUS Xw_close_fontmap              (
1721 #ifdef XW_PROTOTYPE         
1722                 XW_EXT_FONTMAP* fontmap_extension       
1723 #endif
1724                                                 );
1725
1726         XW_STATUS Xw_isdefine_fontmap           (
1727 #ifdef XW_PROTOTYPE         
1728                   XW_EXT_FONTMAP* fontmap_extension
1729 #endif
1730                                                 );
1731
1732         XW_STATUS Xw_set_fontmap                        (
1733 #ifdef XW_PROTOTYPE         
1734                 XW_EXT_WINDOW*  window_extension        ,
1735                 XW_EXT_FONTMAP* fontmap_extension
1736 #endif
1737                                                 );
1738
1739         XW_STATUS Xw_get_fontmap_info                   (
1740 #ifdef XW_PROTOTYPE         
1741                 XW_EXT_FONTMAP* fontmap_extension       ,
1742                 int*            maxfont ,
1743                 int*            userfont ,
1744                 int*            definefont ,
1745                 int*            firstfreefontindex
1746 #endif
1747                                                 );
1748
1749         XW_STATUS Xw_def_font                   (
1750 #ifdef XW_PROTOTYPE         
1751                 XW_EXT_FONTMAP* fontmap_extension       ,
1752                 int             index   ,
1753                 float           size    ,
1754                 char*           FontName 
1755 #endif
1756                                                 );
1757
1758         XW_STATUS Xw_get_font_index                     (
1759 #ifdef XW_PROTOTYPE         
1760                 XW_EXT_FONTMAP* fontmap_extension       ,
1761                 float           size    ,
1762                 char*           FontName        ,
1763                 int*            index
1764 #endif
1765                                                 );
1766
1767
1768         char* Xw_get_font                       (
1769 #ifdef XW_PROTOTYPE         
1770                 XW_EXT_FONTMAP* fontmap_extension       ,
1771                 int             index   ,
1772                 float*          size    ,
1773                 float*          bheight 
1774 #endif
1775                                                 );
1776
1777         XW_STATUS Xw_isdefine_font                      (
1778 #ifdef XW_PROTOTYPE         
1779                 XW_EXT_FONTMAP* fontmap_extension       ,
1780                 int             index 
1781 #endif
1782                                                 );
1783
1784 /*
1785     Tilemap & Tile attributs definition 
1786 */
1787
1788         XW_EXT_TILEMAP* Xw_def_tilemap                  (
1789 #ifdef XW_PROTOTYPE         
1790                 XW_EXT_DISPLAY* display_extension       ,
1791                 int             ntile
1792 #endif
1793                                                 );
1794
1795         XW_STATUS Xw_isdefine_tilemap           (
1796 #ifdef XW_PROTOTYPE         
1797                   XW_EXT_TILEMAP* tilemap_extension
1798 #endif
1799                                                 );
1800
1801         XW_STATUS Xw_set_tilemap                        (
1802 #ifdef XW_PROTOTYPE         
1803                 XW_EXT_WINDOW*  window_extension        ,
1804                 XW_EXT_TILEMAP* tilemap_extension
1805 #endif
1806                                                 );
1807
1808         XW_STATUS Xw_get_tilemap_info                   (
1809 #ifdef XW_PROTOTYPE         
1810                 XW_EXT_TILEMAP* tilemap_extension       ,
1811                 int*            maxtile ,
1812                 int*            usertile ,
1813                 int*            definetile ,
1814                 int*            firstfreetileindex 
1815 #endif
1816                                                 );
1817
1818         XW_STATUS Xw_def_tile                   (
1819 #ifdef XW_PROTOTYPE         
1820                 XW_EXT_TILEMAP* tilemap_extension       ,
1821                 int             index   ,
1822                 int             width   ,
1823                 int             height  ,
1824                 char*           tiledata
1825 #endif
1826                                                 );
1827
1828         XW_STATUS Xw_isdefine_tile                      (
1829 #ifdef XW_PROTOTYPE         
1830                 XW_EXT_TILEMAP* tilemap_extension       ,
1831                 int             index 
1832 #endif
1833                                                 );
1834 /*
1835     Markmap & Marker attributs definition 
1836 */
1837
1838         XW_EXT_MARKMAP* Xw_def_markmap                  (
1839 #ifdef XW_PROTOTYPE         
1840                 XW_EXT_DISPLAY* display_extension       ,
1841                 int             nmarker
1842 #endif
1843                                                 );
1844
1845         XW_STATUS Xw_close_markmap                      (
1846 #ifdef XW_PROTOTYPE         
1847                 XW_EXT_MARKMAP* markmap_extension       
1848 #endif
1849                                                 );
1850
1851         XW_STATUS Xw_isdefine_markmap           (
1852 #ifdef XW_PROTOTYPE         
1853                   XW_EXT_MARKMAP* markmap_extension
1854 #endif
1855                                                 );
1856
1857         XW_STATUS Xw_set_markmap                        (
1858 #ifdef XW_PROTOTYPE         
1859                 XW_EXT_WINDOW*  window_extension        ,
1860                 XW_EXT_MARKMAP* markmap_extension
1861 #endif
1862                                                 );
1863
1864         XW_STATUS Xw_get_markmap_info                   (
1865 #ifdef XW_PROTOTYPE         
1866                 XW_EXT_MARKMAP* markmap_extension       ,
1867                 int*            maxmarker ,
1868                 int*            usermarker ,
1869                 int*            definemarker ,
1870                 int*            firstfreemarkerindex
1871 #endif
1872                                                 );
1873
1874
1875         XW_STATUS Xw_def_marker                         (
1876 #ifdef XW_PROTOTYPE         
1877                 XW_EXT_MARKMAP* markmap_extension       ,
1878                 int             index   ,
1879                 int             length  ,
1880                 int*            spoint  ,
1881                 float*          xpoint  ,
1882                 float*          ypoint  
1883 #endif
1884                                                 );
1885
1886         XW_STATUS Xw_isdefine_marker                    (
1887 #ifdef XW_PROTOTYPE         
1888                 XW_EXT_MARKMAP* markmap_extension       ,
1889                 int             index 
1890 #endif
1891                                                 );
1892
1893         XW_STATUS Xw_isdefine_marker                    (
1894 #ifdef XW_PROTOTYPE         
1895                 XW_EXT_MARKMAP* markmap_extension       ,
1896                 int             index 
1897 #endif
1898                                                 );
1899
1900         XW_STATUS Xw_get_marker_index                   (
1901 #ifdef XW_PROTOTYPE         
1902                 XW_EXT_MARKMAP* markmap_extension       ,
1903                 int             DescriptorLength        ,
1904                 int*            sVector ,
1905                 float*          xVector ,
1906                 float*          yVector ,
1907                 int*            index
1908 #endif
1909                                                 );
1910 /*
1911     Event  management
1912 */
1913
1914         XW_STATUS Xw_set_event          (
1915 #ifdef XW_PROTOTYPE         
1916                 XW_EXT_WINDOW* window_extension ,
1917                 XW_EVENTTYPE    type    ,
1918                 XW_CALLBACK     call_back_routine,
1919                 XW_USERDATA*    user_data
1920 #endif
1921                                                 );
1922
1923         XW_STATUS Xw_wait_event                 (
1924 #ifdef XW_PROTOTYPE       
1925                 XW_EXT_WINDOW* window_extension
1926 #endif
1927                                                 );
1928
1929 /* 
1930     Mapping 
1931 */
1932
1933
1934         XW_STATUS Xw_get_pixel_windowcoord              (
1935 #ifdef XW_PROTOTYPE         
1936                   XW_EXT_WINDOW* window_extension       ,
1937                   float         ux              ,
1938                   float         uy              ,
1939                   int*          px              ,
1940                   int*          py 
1941 #endif
1942                                                 );
1943
1944         int Xw_get_pixel_windowvalue            (
1945 #ifdef XW_PROTOTYPE         
1946                   XW_EXT_WINDOW* window_extension       ,
1947                   float         uv
1948 #endif
1949                                                 );
1950
1951 /*
1952    Environment
1953 */
1954
1955         XW_STATUS Xw_get_env(
1956 #ifdef XW_PROTOTYPE         
1957                 const char* symbol,
1958                 char* value,
1959                 int length
1960 #endif
1961         );
1962
1963 #endif /*XW_CEXTERN*/