Initial IBM OpenAFS 1.0 tree
[openafs.git] / src / gtx / gtxcurseswin.h
1 /*
2  * (C) Copyright Transarc Corporation 1989
3  * Licensed Materials - Property of Transarc
4  * All Rights Reserved.
5  */
6
7 #ifndef __gator_curseswindows_h
8 #define __gator_curseswindows_h  1
9
10 #include "gtxwindows.h"  /*Base gator window dfns*/
11 #if defined(AFS_HPUX110_ENV) && !defined(__HP_CURSES)
12 #define __HP_CURSES
13 #endif
14 #ifdef AFS_LINUX20_ENV
15 #include <ncurses.h>        /*Curses library*/
16 #else
17 #include <curses.h>         /*Curses library*/
18 #endif
19
20 /*Value for gwin w_type field*/
21 #define GATOR_WIN_CURSES    2
22
23 /*Private data for a curses gwin*/
24 struct gator_cursesgwin {
25     WINDOW *wp;         /*Window pointer*/
26     int charwidth;      /*Character width in pixels*/
27     int charheight;     /*Character height in pixels*/
28     char box_vertchar;  /*Vertical char for boxing purposes*/
29     char box_horizchar; /*Horizontal char for boxing purposes*/
30 };
31
32 /*Curses gwin's creation parameters*/
33 struct gator_cursesgwin_params {
34     struct gwin_createparams gwin_params;   /*Basic params for the window*/
35     int charwidth;                          /*Character width in pixels*/
36     int charheight;                         /*Character height in pixels*/
37     char box_vertchar;                      /*Vertical char for boxing purposes*/
38     char box_horizchar;                     /*Horizontal char for boxing purposes*/
39 };
40
41 /*Curses initialization routine*/
42
43 extern int gator_cursesgwin_init();
44     /*
45      * Summary:
46      *    Initialize the curses window package.
47      *
48      * Args:
49      *    int adebug: Is debugging turned on?
50      *
51      * Returns:
52      *    0 on success,
53      *    Error value otherwise.
54      */
55
56 /*Curses window's creation routine*/
57
58 extern struct gwin *gator_cursesgwin_create();
59     /*
60      * Summary:
61      *    Create a curses window.
62      *
63      * Args:
64      *    struct gator_cursesgwin_params *params : Ptr to creation parameters.
65      *
66      * Returns:
67      *    Ptr to the created curses window structure if successful,
68      *    Error value otherwise.
69      */
70
71 /*Curses cleanup routine*/
72
73 extern int gator_cursesgwin_cleanup();
74     /*
75      * Summary:
76      *    Clean up after the curses window package.
77      *
78      * Args:
79      *    struct gwin *gwp : Ptr to base window.
80      *
81      * Returns:
82      *    0 on success,
83      *    Error value otherwise.
84      */
85
86 extern struct gwinbaseops gator_curses_gwinbops;
87
88 /*Curses window's routines*/
89
90 extern int gator_cursesgwin_box();
91     /*
92      * Summary:
93      *    Draw a box around the given curses window.
94      *
95      * Args:
96      *   struct gwin *gwp : Ptr to the curses window to draw
97      *                              a box around.
98      *
99      * Returns:
100      *    0: Success.
101      *    Error value otherwise.
102      */
103
104 extern int gator_cursesgwin_clear();
105     /*
106      * Summary:
107      *    Clear out the given curses window.
108      *
109      * Args:
110      *   struct gwin *gwp : Ptr to the curses window to clear
111      *                              out.
112      *
113      * Returns:
114      *    0: Success.
115      *    Error value otherwise.
116      */
117
118 extern int gator_cursesgwin_destroy();
119     /*
120      * Summary:
121      *    Destroy the given curses window.
122      *
123      * Args:
124      *   struct gwin *gwp : Ptr to the curses window to destroy.
125      *
126      * Returns:
127      *    0: Success.
128      *    Error value otherwise.
129      */
130
131 extern int gator_cursesgwin_display();
132     /*
133      * Summary:
134      *    Display/redraw the given curses window.
135      *
136      * Args:
137      *   struct gwin *gwp : Ptr to the curses window to draw.
138      *
139      * Returns:
140      *    0: Success.
141      *    Error value otherwise.
142      */
143
144 extern int gator_cursesgwin_drawline();
145     /*
146      * Summary:
147      *    Draw a line between two points in the given curses
148      *    window.
149      *
150      * Args:
151      *   struct gwin *gwp : Ptr to the curses window in which
152      *                              the line is to be drawn.
153      *   struct gwin_lineparams *params : Ptr to other params.
154      *
155      * Returns:
156      *    0: Success.
157      *    Error value otherwise.
158      */
159
160 extern int gator_cursesgwin_drawrectangle();
161     /*
162      * Summary:
163      *    Draw a rectangle in the given curses window.
164      *
165      * Args:
166      *   struct gwin *gwp : Ptr to the curses window in which
167      *                              the rectangle is to be drawn.
168      *   struct gwin_rectparams *params : Ptr to other params.
169      *
170      * Returns:
171      *    0: Success.
172      *    Error value otherwise.
173      */
174
175 extern int gator_cursesgwin_drawchar();
176     /*
177      * Summary:
178      *    Draw a character in the given curses window.
179      *
180      * Args:
181      *   struct gwin *gwp : Ptr to the curses window in which
182      *                              the character is to be drawn.
183      *   struct gwin_charparams *params : Ptr to other params.
184      *
185      * Returns:
186      *    0: Success.
187      *    Error value otherwise.
188      */
189
190 extern int gator_cursesgwin_drawstring();
191     /*
192      * Summary:
193      *    Draw a string in the given curses window.
194      *
195      * Args:
196      *   struct gwin *gwp : Ptr to the curses window in which
197      *                              the string is to be drawn.
198      *   struct gwin_strparams *params : Ptr to other params.
199      *
200      * Returns:
201      *    0: Success.
202      *    Error value otherwise.
203      */
204
205 extern int gator_cursesgwin_invert();
206     /*
207      * Summary:
208      *    Invert a region in the given curses window.
209      *
210      * Args:
211      *   struct gwin *gwp : Ptr to the curses window in which
212      *                              the inverted region lies.
213      *   struct gwin_invparams *params : Ptr to other params.
214      *
215      * Returns:
216      *    0: Success.
217      *    Error value otherwise.
218      */
219
220 extern int gator_cursesgwin_getchar();
221
222 extern int gator_cursesgwin_getdimensions();
223
224 extern int gator_cursesgwin_wait();
225
226 #endif /* __gator_curseswindows_h */