Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 43 lines (35 sloc) 1.631 kB
9f1c6f0 @mbert Import Elvis 2.2_0 (written by Steve Kirkendall)
authored
1 /* screen.h */
2
3 /* This structure stores information about a strip of rectangles within a
4 * screen. Each STRIP is either horizontal or vertical. Horizontal STRIPS
5 * contain either a single WINDOW, or an array of vertical STRIPs; Vertical
6 * strips contain either a single WINDOW or an array of horizontal STRIPs.
7 *
8 * Each screen contains a single top-level strip. A flag in the SCREEN
9 * structure indicates whether that strip is horizontal or vertical.
10 * The orientation of any subSTRIPs is implied from this.
11 */
12 typedef struct strip_s
13 {
14 long width, height; /* size of the strip, as a whole */
15 long x, y; /* position of the strip within screen */
16 WINDOW window; /* window, or NULL if strip of windows */
17 struct strip_s *sub[1]; /* array of subwindows */
18 } *STRIP;
19
20 /* This is the structure of a SCREEN */
21 typedef struct screen_s
22 {
23 struct screen_s *next; /* some other screen, or NULL */
24
25 GUISCR *guiscr; /* GUI's screen identifier */
26 STRIP contents; /* list of windows in the screen */
27 ELVBOOL horizontal; /* is "contents" horizontally tiled? */
28
29 WINDOW active; /* most recent active window in screen */
30 OPTVAL screenwidth; /* in pixels */
31 OPTVAL screenheight; /* in pixels */
32
33 } *SCREEN;
34
35 #define o_screenwidth(scr) (scr)->screenwidth.value.number
36 #define o_screenheight(scr) (scr)->screenheight.value.number
37
38 extern void screencreate P_((GUISCR *guiscr, int width, int height));
39 extern void screendestroy P_((GUISCR *guiscr));
40 extern void screenfocus P_((GUISCR *guiscr));
41 extern void screenkey P_((GUISCR *guiscr, _CHAR_ key));
42 extern void screenmouse P_((GUISCR *guiscr, int x, int y, int what));
Something went wrong with that request. Please try again.