/usr/src/openafs-1.6.1/include/afs/gtxwindows.h is in openafs-modules-dkms 1.6.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | /*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
*
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
*/
#ifndef __gator_windows_h
#define __gator_windows_h 1
/*--------------------------------------------------------------------------------
* gator_windows.h
*
* Constants and data structures defining the basis for gator windows,
* independent of the lower-level graphical environment.
*--------------------------------------------------------------------------------*/
/*
* Gator window definition.
*/
struct gwin {
int w_type; /*Type of window */
int w_x, w_y; /*X and Y coordinates */
int w_width, w_height; /*Width & height in pixels */
int w_changed; /*Does the window need to be refreshed? */
struct gwinops *w_op; /*Ptr to the operations defined on the window */
struct gwin *w_parent; /*Parent window, if any */
struct gtx_frame *w_frame; /*Frame information */
int *w_data; /*Ptr to info describing the window */
};
/*
* window display list item.
*/
struct gwin_dlist {
struct gwin_dlist *next; /* "car" */
struct onode *data; /* "cdr" */
};
/*
* Initialization parameters for the gator window package.
*/
struct gwin_initparams {
int i_type; /*Type of lower-level graphics package used */
int i_x, i_y; /*X, Y coordinates of the screen area */
int i_width, i_height; /*Width, height of the screen area */
int i_debug; /*Should debugging be turned on? */
};
/*
* Creation parameters for gator windows.
*/
struct gwin_createparams {
int cr_type; /*Type of window */
int cr_x, cr_y; /*X and Y coordinates */
int cr_width, cr_height; /*Width & height in pixels */
struct gwin *cr_parentwin; /*Ptr to parent window structure */
};
/*
* Line-drawing parameters.
*/
struct gwin_lineparams {
int x1, y1; /*X, Y coordinates of first point */
int x2, y2; /*X, Y coordinates of second point */
};
/*
* Rectangle-drawing parameters.
*/
struct gwin_rectparams {
int x, y; /*X, Y coordinates of rectangle's origin */
int width, height; /*Rectangle width & height */
};
/*
* Size params.
*/
struct gwin_sizeparams {
int maxx, maxy; /* x,y size */
};
/*
* Char-drawing parameters.
*/
struct gwin_charparams {
int x, y; /*X, Y coordinates of char origin */
char c; /*Char to draw */
int highlight; /*Print in highlight/standout mode? */
};
/*
* String-drawing parameters.
*/
struct gwin_strparams {
int x, y; /*X, Y coordinates of string */
int highlight; /*Print in highlight/standout mode? */
char *s; /*String to draw */
};
/*
* Inversion parameters.
*/
struct gwin_invparams {
int x, y; /*X, Y coordinates of origin */
int width, height; /*Width & height of rectangle to invert */
};
/*
* Operations on gator windows.
*/
struct gwinops {
int (*gw_box) (struct gwin *); /* Draw a box around the given window */
int (*gw_clear) (struct gwin *); /* Clear out a window */
int (*gw_destroy) (struct gwin *); /* Destroy a window */
int (*gw_display) (struct gwin *); /* [Re]display a window */
int (*gw_drawline) (struct gwin *, struct gwin_lineparams *);
/* Draw a line between two points */
int (*gw_drawrectangle) (struct gwin *, struct gwin_rectparams *);
/* Draw a rectangle at the given loc & dimensions */
int (*gw_drawchar) (struct gwin *, struct gwin_charparams *);
/* Draw a char at the given location */
int (*gw_drawstring) (struct gwin *, struct gwin_strparams *);
/* Draw a char string at the given location */
int (*gw_invert) (struct gwin *, struct gwin_invparams *);
/* Invert region */
int (*gw_getchar) (struct gwin *); /* Get a character from a window */
int (*gw_getdimensions) (struct gwin *, struct gwin_sizeparams *);
/* Get dimensions of a window */
int (*gw_wait) (struct gwin *); /* Wait for input */
};
/*
* Macros facilitating the use of the window functions.
*/
#define WOP_BOX(WNP) (WNP)->w_op->gw_box(WNP)
#define WOP_CLEAR(WNP) (WNP)->w_op->gw_clear(WNP)
#define WOP_DESTROY(WNP) (WNP)->w_op->gw_destroy(WNP)
#define WOP_DISPLAY(WNP) (WNP)->w_op->gw_display(WNP)
#define WOP_DRAWLINE(WNP, params) (WNP)->w_op->gw_drawline(WNP, params)
#define WOP_DRAWRECTANGLE(WNP, params) (WNP)->w_op->gw_drawrectangle(WNP, params)
#define WOP_DRAWCHAR(WNP, params) (WNP)->w_op->gw_drawchar(WNP, params)
#define WOP_DRAWSTRING(WNP, params) (WNP)->w_op->gw_drawstring(WNP, params)
#define WOP_INVERT(WNP, params) (WNP)->w_op->gw_invert(WNP, params)
#define WOP_GETCHAR(WNP) (WNP)->w_op->gw_getchar(WNP)
#define WOP_GETDIMENSIONS(WNP,params) (WNP)->w_op->gw_getdimensions(WNP, params)
#define WOP_WAIT(WNP) (WNP)->w_op->gw_wait(WNP)
/*
* Base operations on the lower-level window system.
*/
struct gwinbaseops {
struct gwin *(*gw_createwin) (void *);
/*Create a window */
int (*gw_cleanup) (struct gwin *); /*Clean up before program exit */
};
/*
* Ptr to the base operation array.
*/
extern struct gwinbaseops gwinbops;
/*
* Macros facilitating the use of the base window operations.
*/
#define WOP_CREATE(p) ((*(gwinbops.gw_createwin))(p))
#define WOP_CLEANUP(w) ((*(gwinbops.gw_cleanup))(w))
/*
* Pointer to the base window, which is created by the initialization routine.
*/
extern struct gwin gator_basegwin;
extern int gw_init(struct gwin_initparams *);
/*
* Summary:
* Initialize the gator window package.
*
* Args:
* struct gwin_initparams *params: Ptr to initialization params.
*
* Returns:
* 0 on success,
* Error value otherwise.
*/
/* initialize the whole gator toolkit package */
extern struct gwin *gtx_Init(int, int);
#endif /* __gator_windows_h */
|