gtx-prototypes-20090316
[openafs.git] / src / gtx / gtxX11win.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 #ifndef __gator_X11windows_h
11 #define __gator_X11windows_h  1
12
13 #include "gtxwindows.h"         /*Base gator window dfns */
14
15 /*Value for gwin w_type field*/
16 #define GATOR_WIN_X11    3
17
18 /*Private data for a X11 gwin*/
19 #if 0
20 struct gator_X11gwin {
21     WINDOW *wp;                 /*Window pointer */
22     int charwidth;              /*Character width in pixels */
23     int charheight;             /*Character height in pixels */
24     char box_vertchar;          /*Vertical char for boxing purposes */
25     char box_horizchar;         /*Horizontal char for boxing purposes */
26 };
27 #endif /* 0 */
28
29 /*X11 gwin's creation parameters*/
30 struct gator_X11gwin_params {
31     struct gwin_createparams gwin_params;       /*Basic params for the window */
32     char box_vertchar;          /*Vertical char for boxing purposes */
33     char box_horizchar;         /*Horizontal char for boxing purposes */
34 };
35
36 /*X11 initialization routine*/
37
38 extern int gator_X11gwin_init(int);
39     /*
40      * Summary:
41      *    Initialize the X11 window package.
42      *
43      * Args:
44      *    int adebug: Is debugging turned on?
45      *
46      * Returns:
47      *    0 on success,
48      *    Error value otherwise.
49      */
50
51 /*X11 window's creation routine*/
52
53 extern struct gwin *gator_X11gwin_create(struct gator_X11gwin_params *);
54     /*
55      * Summary:
56      *    Create a X11 window.
57      *
58      * Args:
59      *    struct gator_X11gwin_params *params : Ptr to creation parameters.
60      *
61      * Returns:
62      *    Ptr to the created X11 window structure if successful,
63      *    Error value otherwise.
64      */
65
66 /*X11 cleanup routine*/
67
68 extern int gator_X11gwin_cleanup(struct gwin *);
69     /*
70      * Summary:
71      *    Clean up after the X11 window package.
72      *
73      * Args:
74      *    struct gwin *gwp : Ptr to base window.
75      *
76      * Returns:
77      *    0 on success,
78      *    Error value otherwise.
79      */
80
81 extern struct gwinbaseops gator_X11_gwinbops;
82
83 /*X11 window's routines*/
84
85 extern int gator_X11gwin_box(struct gwin *);
86     /*
87      * Summary:
88      *    Draw a box around the given X11 window.
89      *
90      * Args:
91      *   struct gwin *gwp : Ptr to the X11 window to draw
92      *                              a box around.
93      *
94      * Returns:
95      *    0: Success.
96      *    Error value otherwise.
97      */
98
99 extern int gator_X11gwin_clear(struct gwin *);
100     /*
101      * Summary:
102      *    Clear out the given X11 window.
103      *
104      * Args:
105      *   struct gwin *gwp : Ptr to the X11 window to clear
106      *                              out.
107      *
108      * Returns:
109      *    0: Success.
110      *    Error value otherwise.
111      */
112
113 extern int gator_X11gwin_destroy(struct gwin *);
114     /*
115      * Summary:
116      *    Destroy the given X11 window.
117      *
118      * Args:
119      *   struct gwin *gwp : Ptr to the X11 window to destroy.
120      *
121      * Returns:
122      *    0: Success.
123      *    Error value otherwise.
124      */
125
126 extern int gator_X11gwin_display(struct gwin *);
127     /*
128      * Summary:
129      *    Display/redraw the given X11 window.
130      *
131      * Args:
132      *   struct gwin *gwp : Ptr to the X11 window to draw.
133      *
134      * Returns:
135      *    0: Success.
136      *    Error value otherwise.
137      */
138
139 extern int gator_X11gwin_drawline(struct gwin *, struct gwin_lineparams *);
140     /*
141      * Summary:
142      *    Draw a line between two points in the given X11
143      *    window.
144      *
145      * Args:
146      *   struct gwin *gwp : Ptr to the X11 window in which
147      *                              the line is to be drawn.
148      *   struct gwin_lineparams *params : Ptr to other params.
149      *
150      * Returns:
151      *    0: Success.
152      *    Error value otherwise.
153      */
154
155 extern int gator_X11gwin_drawrectangle(struct gwin *, 
156                                        struct gwin_rectparams *);
157     /*
158      * Summary:
159      *    Draw a rectangle in the given X11 window.
160      *
161      * Args:
162      *   struct gwin *gwp : Ptr to the X11 window in which
163      *                              the rectangle is to be drawn.
164      *   struct gwin_rectparams *params : Ptr to other params.
165      *
166      * Returns:
167      *    0: Success.
168      *    Error value otherwise.
169      */
170
171 extern int gator_X11gwin_drawchar(struct gwin *,
172                                   struct gwin_charparams *);
173     /*
174      * Summary:
175      *    Draw a character in the given X11 window.
176      *
177      * Args:
178      *   struct gwin *gwp : Ptr to the X11 window in which
179      *                              the character is to be drawn.
180      *   struct gwin_charparams *params : Ptr to other params.
181      *
182      * Returns:
183      *    0: Success.
184      *    Error value otherwise.
185      */
186
187 extern int gator_X11gwin_drawstring(struct gwin *,
188                                     struct gwin_strparams *);
189     /*
190      * Summary:
191      *    Draw a string in the given X11 window.
192      *
193      * Args:
194      *   struct gwin *gwp : Ptr to the X11 window in which
195      *                              the string is to be drawn.
196      *   struct gwin_strparams *params : Ptr to other params.
197      *
198      * Returns:
199      *    0: Success.
200      *    Error value otherwise.
201      */
202
203 extern int gator_X11gwin_invert(struct gwin *,
204                                 struct gwin_invparams *);
205     /*
206      * Summary:
207      *    Invert a region in the given X11 window.
208      *
209      * Args:
210      *   struct gwin *gwp : Ptr to the X11 window in which
211      *                              the inverted region lies.
212      *   struct gwin_invparams *params : Ptr to other params.
213      *
214      * Returns:
215      *    0: Success.
216      *    Error value otherwise.
217      */
218
219 extern int gator_X11gwin_getchar(struct gwin *);
220
221 extern int gator_X11gwin_getdimensions(struct gwin *,
222                                        struct gwin_sizeparams *);
223
224 extern int gator_X11gwin_wait(struct gwin *);
225
226 #endif /* __gator_X11windows_h */