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 ();

Defined struct's

display_line defined in line 59; used 70 times

Usage of this include

Last modified: 1986-02-08
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 437
Valid CSS Valid XHTML 1.0 Strict