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