Annotation of 43BSD/contrib/emacs/src/dispextern.h, revision 1.1

1.1     ! root        1: /* Interface definitions for display code.
        !             2:    Copyright (C) 1985 Richard M. Stallman.
        !             3: 
        !             4: This file is part of GNU Emacs.
        !             5: 
        !             6: GNU Emacs is distributed in the hope that it will be useful,
        !             7: but WITHOUT ANY WARRANTY.  No author or distributor
        !             8: accepts responsibility to anyone for the consequences of using it
        !             9: or for whether it serves any particular purpose or works at all,
        !            10: unless he says so in writing.  Refer to the GNU Emacs General Public
        !            11: License for full details.
        !            12: 
        !            13: Everyone is granted permission to copy, modify and redistribute
        !            14: GNU Emacs, but only under the conditions described in the
        !            15: GNU Emacs General Public License.   A copy of this license is
        !            16: supposed to have been given to you along with GNU Emacs so you
        !            17: can know your rights and responsibilities.  It should be in a
        !            18: file named COPYING.  Among other things, the copyright notice
        !            19: and this notice must be preserved on all copies.  */
        !            20: 
        !            21: 
        !            22: /* Nonzero means do not assume anything about current
        !            23:  contents of actual terminal screen */
        !            24: 
        !            25: extern int screen_garbaged;
        !            26: 
        !            27: /* Desired terminal cursor position (to show position of dot),
        !            28:  origin one */
        !            29: 
        !            30: extern int cursX, cursY;
        !            31: 
        !            32: /* Nonzero means last display completed and cursor is really at cursX, cursY.
        !            33:  Zero means it was preempted. */
        !            34: 
        !            35: extern int display_completed;
        !            36: 
        !            37: /* Display line structure.
        !            38: This structure records the contents of a line
        !            39: either as already on the display
        !            40: or as we desire to have it on the display.
        !            41: 
        !            42: PhysScreen is a vector of pointers to lines
        !            43:  describing the actual contents of the screen.
        !            44: DesiredScreen is a vector of pointers to lines
        !            45:  describing what we want to put on the screen.
        !            46:  These were made from the buffers being displayed
        !            47:  by the file window.c
        !            48: 
        !            49: The code in this file compares those two vectors of display lines
        !            50:  and performs the updating.
        !            51: 
        !            52: As display lines are used only to go in those vectors,
        !            53:  the most display lines that ever ought to exist is
        !            54:  twice the maximum screen size.  That many are created
        !            55:  initially and put in a pool.  If the pool is ever empty
        !            56:  and a line is needed, that indicates a bug.
        !            57: */
        !            58: 
        !            59: struct display_line
        !            60:   {
        !            61:     struct display_line *next; /* Chain for free lines. */
        !            62:     short   length;            /* the number of valid characters in body */
        !            63:     char    highlighted;       /* 1 means write this line in standout mode */
        !            64:     char    physical;          /* Mark bit for gc'ing, in update_screen */
        !            65:     char    body[MScreenWidth + 4];    /* the actual text of the line */
        !            66: };
        !            67: 
        !            68: /* Allocate a line structure for screen line `vpos' (origin 0)
        !            69:  to start output in it at `hpos' (origin 0, may be negative) */
        !            70: 
        !            71: struct display_line *get_display_line (), *new_display_line ();

unix.superglobalmegacorp.com

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