Annotation of 43BSDReno/share/doc/ps1/18.curses/appen.B, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1980 The Regents of the University of California.
        !             2: .\" All rights reserved.
        !             3: .\"
        !             4: .\" Redistribution and use in source and binary forms are permitted
        !             5: .\" provided that the above copyright notice and this paragraph are
        !             6: .\" duplicated in all such forms and that any documentation,
        !             7: .\" advertising materials, and other materials related to such
        !             8: .\" distribution and use acknowledge that the software was developed
        !             9: .\" by the University of California, Berkeley.  The name of the
        !            10: .\" University may not be used to endorse or promote products derived
        !            11: .\" from this software without specific prior written permission.
        !            12: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !            13: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !            14: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            15: .\"
        !            16: .\"    @(#)appen.B     6.2 (Berkeley) 3/17/89
        !            17: .\"
        !            18: .ie t .oh '\*(Ln Appendix B''PS1:18-%'
        !            19: .eh 'PS1:18-%''\*(Ln Appendix B'
        !            20: .el .he ''\fIAppendix B\fR''
        !            21: .bp
        !            22: .(x
        !            23: .ti 0
        !            24: .b "Appendix B"
        !            25: .)x
        !            26: .nr $1 0
        !            27: .sh 1 "The WINDOW structure"
        !            28: .pp
        !            29: The WINDOW structure is defined as follows:
        !            30: .(l I
        !            31: .so win_st.gr
        !            32: .)l
        !            33: .pp
        !            34: .Vn \*_cury \\*
        !            35: .(f
        !            36: \**
        !            37: All variables not normally accessed directly by the user
        !            38: are named with an initial
        !            39: .Bq \*_
        !            40: to avoid conflicts with the user's variables.
        !            41: .)f
        !            42: and
        !            43: .Vn \*_curx
        !            44: are the current \*y for the window.
        !            45: New characters added to the screen
        !            46: are added at this point.
        !            47: .Vn \*_maxy
        !            48: and
        !            49: .Vn \*_maxx
        !            50: are the maximum values allowed for
        !            51: .Vn \*_cury\*,\*_curx ). (
        !            52: .Vn \*_begy
        !            53: and
        !            54: .Vn \*_begx
        !            55: are the starting \*y on the terminal for the window,
        !            56: .i i.e. ,
        !            57: the window's home.
        !            58: .Vn \*_cury ,
        !            59: .Vn \*_curx ,
        !            60: .Vn \*_maxy ,
        !            61: and
        !            62: .Vn \*_maxx
        !            63: are measured relative to
        !            64: .Vn \*_begy\*,\*_begx ), (
        !            65: not the terminal's home.
        !            66: .pp
        !            67: .Vn \*_clear
        !            68: tells if a clear-screen sequence is to be generated
        !            69: on the next
        !            70: .Fn refresh
        !            71: call.
        !            72: This is only meaningful for screens.
        !            73: The initial clear-screen for the first
        !            74: .Fn refresh
        !            75: call is generated by initially setting clear to be TRUE for
        !            76: .Vn curscr ,
        !            77: which always generates a clear-screen if set,
        !            78: irrelevant of the dimensions of the window involved.
        !            79: .Vn \*_leave
        !            80: is TRUE if the current \*y and the cursor
        !            81: are to be left after the last character changed on the terminal,
        !            82: or not moved if there is no change.
        !            83: .Vn \*_scroll
        !            84: is TRUE
        !            85: if scrolling is allowed.
        !            86: .pp
        !            87: .Vn \*_y
        !            88: is a pointer to an array of lines which describe the terminal.
        !            89: Thus:
        !            90: .(l
        !            91: \*_y[i]
        !            92: .)l
        !            93: .lp
        !            94: is a pointer to the
        !            95: .Vn i th
        !            96: line, and
        !            97: .(l
        !            98: \*_y[i][j]
        !            99: .)l
        !           100: .lp
        !           101: is the
        !           102: .Vn j th
        !           103: character on the
        !           104: .Vn i th
        !           105: line.
        !           106: .Vn \*_flags
        !           107: can have one or more values
        !           108: or'd into it.
        !           109: .pp
        !           110: For windows that are not subwindows,
        !           111: .Vn \*_orig
        !           112: is
        !           113: NULL .
        !           114: For subwindows,
        !           115: it points to the main window
        !           116: to which the window is subsidiary.
        !           117: .Vn \*_nextp
        !           118: is a pointer in a circularly linked list
        !           119: of all the windows which are subwindows of the same main window,
        !           120: plus the main window itself.
        !           121: .pp
        !           122: .Vn \*_firstch
        !           123: and
        !           124: .Vn \*_lastch
        !           125: are
        !           126: .Fn malloc ed
        !           127: arrays which contain the index of the
        !           128: first and last changed characters
        !           129: on the line.
        !           130: .Vn \*_ch\*_off
        !           131: is the x offset for the window
        !           132: in the
        !           133: .Vn \*_firstch
        !           134: and
        !           135: .Vn \*_lastch
        !           136: arrays for this window.
        !           137: For main windows,
        !           138: this is always 0;
        !           139: for subwindows
        !           140: it is the difference between the starting point of the main window
        !           141: and that of the subindow,
        !           142: so that change markers can be set relative to the main window.
        !           143: This makes these markers global in scope.
        !           144: .pp
        !           145: All subwindows share the appropriate portions of
        !           146: .Vn _y ,
        !           147: .Vn _firstch ,
        !           148: .Vn _lastch ,
        !           149: and
        !           150: .Vn _insdel
        !           151: with their main window.
        !           152: .pp
        !           153: .b \*_ENDLINE
        !           154: says that the end of the line for this window
        !           155: is also the end of a screen.
        !           156: .b \*_FULLWIN
        !           157: says that this window is a screen.
        !           158: .b \*_SCROLLWIN
        !           159: indicates that the last character of this screen
        !           160: is at the lower right-hand corner of the terminal;
        !           161: .i i.e. ,
        !           162: if a character was put there,
        !           163: the terminal would scroll.
        !           164: .b \*_FULLLINE
        !           165: says that the width of a line is the same as the width of the terminal.
        !           166: If
        !           167: .b \*_FLUSH
        !           168: is set,
        !           169: it says that
        !           170: .Fn fflush "" "" stdout
        !           171: should be called at the end of each
        !           172: .Fn refresh
        !           173: .b \*_STANDOUT
        !           174: says that all characters added to the screen
        !           175: are in standout mode.
        !           176: .b \*_INSDEL
        !           177: is reserved for future use,
        !           178: and is set by
        !           179: .Fn idlok .
        !           180: .Vn \*_firstch
        !           181: is set to
        !           182: .b \*_NOCHANGE
        !           183: for lines on which there has been no change
        !           184: since the last
        !           185: .Fn refresh .

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.