Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 43 lines (35 sloc) 1.631 kb
9f1c6f0 Martin Dietze 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.