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