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