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