2 * Copyright 2000, International Business Machines Corporation and others.
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
10 #ifndef __gator_X11windows_h
11 #define __gator_X11windows_h 1
13 #include "gtxwindows.h" /*Base gator window dfns */
15 /*Value for gwin w_type field*/
16 #define GATOR_WIN_X11 3
18 /*Private data for a X11 gwin*/
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 */
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 */
36 /*X11 initialization routine*/
38 extern int gator_X11gwin_init(int);
41 * Initialize the X11 window package.
44 * int adebug: Is debugging turned on?
48 * Error value otherwise.
51 /*X11 window's creation routine*/
53 extern struct gwin
*gator_X11gwin_create(void *);
56 * Create a X11 window.
59 * struct gator_X11gwin_params *params : Ptr to creation parameters.
62 * Ptr to the created X11 window structure if successful,
63 * Error value otherwise.
66 /*X11 cleanup routine*/
68 extern int gator_X11gwin_cleanup(struct gwin
*);
71 * Clean up after the X11 window package.
74 * struct gwin *gwp : Ptr to base window.
78 * Error value otherwise.
81 extern struct gwinbaseops gator_X11_gwinbops
;
83 /*X11 window's routines*/
85 extern int gator_X11gwin_box(struct gwin
*);
88 * Draw a box around the given X11 window.
91 * struct gwin *gwp : Ptr to the X11 window to draw
96 * Error value otherwise.
99 extern int gator_X11gwin_clear(struct gwin
*);
102 * Clear out the given X11 window.
105 * struct gwin *gwp : Ptr to the X11 window to clear
110 * Error value otherwise.
113 extern int gator_X11gwin_destroy(struct gwin
*);
116 * Destroy the given X11 window.
119 * struct gwin *gwp : Ptr to the X11 window to destroy.
123 * Error value otherwise.
126 extern int gator_X11gwin_display(struct gwin
*);
129 * Display/redraw the given X11 window.
132 * struct gwin *gwp : Ptr to the X11 window to draw.
136 * Error value otherwise.
139 extern int gator_X11gwin_drawline(struct gwin
*, struct gwin_lineparams
*);
142 * Draw a line between two points in the given X11
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.
152 * Error value otherwise.
155 extern int gator_X11gwin_drawrectangle(struct gwin
*,
156 struct gwin_rectparams
*);
159 * Draw a rectangle in the given X11 window.
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.
168 * Error value otherwise.
171 extern int gator_X11gwin_drawchar(struct gwin
*,
172 struct gwin_charparams
*);
175 * Draw a character in the given X11 window.
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.
184 * Error value otherwise.
187 extern int gator_X11gwin_drawstring(struct gwin
*,
188 struct gwin_strparams
*);
191 * Draw a string in the given X11 window.
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.
200 * Error value otherwise.
203 extern int gator_X11gwin_invert(struct gwin
*,
204 struct gwin_invparams
*);
207 * Invert a region in the given X11 window.
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.
216 * Error value otherwise.
219 extern int gator_X11gwin_getchar(struct gwin
*);
221 extern int gator_X11gwin_getdimensions(struct gwin
*,
222 struct gwin_sizeparams
*);
224 extern int gator_X11gwin_wait(struct gwin
*);
226 #endif /* __gator_X11windows_h */