Commit | Line | Data |
---|---|---|
0e868502 KM |
1 | .\" Copyright (c) 1980 Regents of the University of California. |
2 | .\" All rights reserved. The Berkeley software License Agreement | |
3 | .\" specifies the terms and conditions for redistribution. | |
4 | .\" | |
5 | .\" @(#)appen.B 4.1 (Berkeley) %G% | |
6 | .\" | |
7 | .ie t .he ''\fBAppendix B\fR'' | |
8 | .el .he ''\fIAppendix B\fR'' | |
9 | .bp | |
10 | .(x | |
11 | .ti 0 | |
12 | .b "Appendix B" | |
13 | .)x | |
14 | .sh 1 "The WINDOW structure" 1 | |
15 | .pp | |
16 | The WINDOW structure is defined as follows: | |
17 | .(l I | |
18 | .so win_st.gr | |
19 | .)l | |
20 | .pp | |
21 | .Vn \*_cury \\* | |
22 | .(f | |
23 | \** | |
24 | All variables not normally accessed directly by the user | |
25 | are named with an initial | |
26 | .Bq \*_ | |
27 | to avoid conflicts with the user's variables. | |
28 | .)f | |
29 | and | |
30 | .Vn \*_curx | |
31 | are the current \*y for the window. | |
32 | New characters added to the screen | |
33 | are added at this point. | |
34 | .Vn \*_maxy | |
35 | and | |
36 | .Vn \*_maxx | |
37 | are the maximum values allowed for | |
38 | .Vn \*_cury\*,\*_curx ). ( | |
39 | .Vn \*_begy | |
40 | and | |
41 | .Vn \*_begx | |
42 | are the starting \*y on the terminal for the window, | |
43 | i.e., | |
44 | the window's home. | |
45 | .Vn \*_cury , | |
46 | .Vn \*_curx , | |
47 | .Vn \*_maxy , | |
48 | and | |
49 | .Vn \*_maxx | |
50 | are measured relative to | |
51 | .Vn \*_begy\*,\*_begx ), ( | |
52 | not the terminal's home. | |
53 | .pp | |
54 | .Vn \*_clear | |
55 | tells if a clear-screen sequence is to be generated | |
56 | on the next | |
57 | .Fn refresh | |
58 | call. | |
59 | This is only meaningful for screens. | |
60 | The initial clear-screen for the first | |
61 | .Fn refresh | |
62 | call is generated by initially setting clear to be TRUE for | |
63 | .Vn curscr , | |
64 | which always generates a clear-screen if set, | |
65 | irrelevant of the dimensions of the window involved. | |
66 | .Vn \*_leave | |
67 | is TRUE if the current \*y and the cursor | |
68 | are to be left after the last character changed on the terminal, | |
69 | or not moved if there is no change. | |
70 | .Vn \*_scroll | |
71 | is TRUE | |
72 | if scrolling is allowed. | |
73 | .pp | |
74 | .Vn \*_y | |
75 | is a pointer to an array of lines which describe the terminal. | |
76 | Thus: | |
77 | .(l | |
78 | \*_y[i] | |
79 | .)l | |
80 | .lp | |
81 | is a pointer to the | |
82 | .Vn i th | |
83 | line, and | |
84 | .(l | |
85 | \*_y[i][j] | |
86 | .)l | |
87 | .lp | |
88 | is the | |
89 | .Vn j th | |
90 | character on the | |
91 | .Vn i th | |
92 | line. | |
93 | .pp | |
94 | .Vn \*_flags | |
95 | can have one or more values | |
96 | or'd into it. | |
97 | .b \*_SUBWIN | |
98 | means that the window is a subwindow, | |
99 | which indicates to | |
100 | .Fn delwin | |
101 | that the space for the lines is not to be freed. | |
102 | .b \*_ENDLINE | |
103 | says that the end of the line for this window | |
104 | is also the end of a screen. | |
105 | .b \*_FULLWIN | |
106 | says that this window is a screen. | |
107 | .b \*_SCROLLWIN | |
108 | indicates that the last character of this screen | |
109 | is at the lower right-hand corner of the terminal; | |
110 | .i i.e. , | |
111 | if a character was put there, | |
112 | the terminal would scroll. | |
113 | .b \*_STANDOUT | |
114 | says that all characters added to the screen | |
115 | are in standout mode. |