.ie t .he ''\fBAppendix B\fR'' .el .he ''\fIAppendix B\fR'' .bp .(x .ti 0 .b "Appendix B" .)x .sh 1 "The WINDOW structure" 1 .pp The WINDOW structure is defined as follows: .(l I .so win_st.gr .)l .pp .Vn \*_cury \\* .(f \** All variables not normally accessed directly by the user are named with an initial .Bq \*_ to avoid conflicts with the user's variables. .)f and .Vn \*_curx are the current \*y for the window. New characters added to the screen are added at this point. .Vn \*_maxy and .Vn \*_maxx are the maximum values allowed for .Vn \*_cury\*,\*_curx ). ( .Vn \*_begy and .Vn \*_begx are the starting \*y on the terminal for the window, i.e., the window's home. .Vn \*_cury , .Vn \*_curx , .Vn \*_maxy , and .Vn \*_maxx are measured relative to .Vn \*_begy\*,\*_begx ), ( not the terminal's home. .pp .Vn \*_clear tells if a clear-screen sequence is to be generated on the next .Fn refresh call. This is only meaningful for screens. The initial clear-screen for the first .Fn refresh call is generated by initially setting clear to be TRUE for .Vn curscr , which always generates a clear-screen if set, irrelevant of the dimensions of the window involved. .Vn \*_leave is TRUE if the current \*y and the cursor are to be left after the last character changed on the terminal, or not moved if there is no change. .Vn \*_scroll is TRUE if scrolling is allowed. .pp .Vn \*_y is a pointer to an array of lines which describe the terminal. Thus: .(l \*_y[i] .)l .lp is a pointer to the .Vn i th line, and .(l \*_y[i][j] .)l .lp is the .Vn j th character on the .Vn i th line. .pp .Vn \*_flags can have one or more values or'd into it. .b \*_SUBWIN means that the window is a subwindow, which indicates to .Fn delwin that the space for the lines is not to be freed. .b \*_ENDLINE says that the end of the line for this window is also the end of a screen. .b \*_FULLWIN says that this window is a screen. .b \*_SCROLLWIN indicates that the last character of this screen is at the lower right-hand corner of the terminal; .i i.e. , if a character was put there, the terminal would scroll. .b \*_STANDOUT says that all characters added to the screen are in standout mode.