Annotation of 43BSD/contrib/emacs/src/dispextern.h, revision 1.1.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.