Annotation of GNUtools/emacs/src/dispextern.h, revision 1.1.1.1

1.1       root        1: /* Interface definitions for display code.
                      2:    Copyright (C) 1985, 1990 Free Software Foundation, Inc.
                      3: 
                      4: This file is part of GNU Emacs.
                      5: 
                      6: GNU Emacs is free software; you can redistribute it and/or modify
                      7: it under the terms of the GNU General Public License as published by
                      8: the Free Software Foundation; either version 1, or (at your option)
                      9: any later version.
                     10: 
                     11: GNU Emacs is distributed in the hope that it will be useful,
                     12: but WITHOUT ANY WARRANTY; without even the implied warranty of
                     13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     14: GNU General Public License for more details.
                     15: 
                     16: You should have received a copy of the GNU General Public License
                     17: along with GNU Emacs; see the file COPYING.  If not, write to
                     18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
                     19: 
                     20: 
                     21: /* Nonzero means do not assume anything about current
                     22:  contents of actual terminal screen */
                     23: 
                     24: extern int screen_garbaged;
                     25: 
                     26: /* Desired terminal cursor position (to show position of point),
                     27:  origin zero.  */
                     28: 
                     29: extern int cursor_hpos, cursor_vpos;
                     30: 
                     31: /* Nonzero means last display completed
                     32:    and cursor is really at cursor_hpos, cursor_vpos.
                     33:    Zero means it was preempted. */
                     34: 
                     35: extern int display_completed;
                     36: 
                     37: /* Nonzero while trying to read keyboard input at main program level.  */
                     38: 
                     39: extern int waiting_for_input;
                     40: 
                     41: struct matrix
                     42: {
                     43:   /* Height of this matrix.  */
                     44:   int height;
                     45:   /* Width of this matrix.  */
                     46:   int width;
                     47:   /* Vector of used widths of lines, indexed by vertical position.  */
                     48:   int *used;
                     49:   /* Vector of line contents.
                     50:      m->contents[V][H] is the character at position V, H.
                     51:      Note that ->contents[...][screen_width] is always 0
                     52:      and so is ->contents[...][-1].  */
                     53:   unsigned char **contents;
                     54:   /* Long vector from which the line contents are taken.  */
                     55:   unsigned char *total_contents;
                     56:   /* Vector indicating, for each line, whether it is highlighted.  */
                     57:   char *highlight;
                     58:   /* Vector indicating, for each line, whether its contents mean anything.  */
                     59:   char *enable;
                     60: };
                     61: 
                     62: /* Current screen contents.  */
                     63: extern struct matrix *current_screen;
                     64: /* Screen contents to be displayed.  */
                     65: extern struct matrix *new_screen;
                     66: /* Temporary buffer for screen contents.  */
                     67: extern struct matrix *temp_screen;
                     68: 
                     69: /* Get ready to display on screen line VPOS at column HPOS
                     70:    and return the string where the text of that line is stored.  */
                     71: 
                     72: unsigned char *get_display_line ();
                     73: 
                     74: /* Buffer used by `message' for formatting a message, and by print.c.  */
                     75: extern char *message_buf;
                     76: 
                     77: /* Nonzero means message_buf is being used by print.  */
                     78: extern int message_buf_print;
                     79: 
                     80: /* Message to display instead of minibuffer contents
                     81:    This is what the functions error and message make,
                     82:    and command echoing uses it as well.
                     83:    It overrides the minibuf_prompt as well as the buffer.  */
                     84: extern char *echo_area_contents;
                     85: 
                     86: /* All costs measured in characters.
                     87:    So no cost can exceed the area of a screen, measured in characters.
                     88:    This should not be more than million.
                     89:    Meanwhile, we can add lots of millions together without overflow.  */
                     90: 
                     91: #define INFINITY 1000000

unix.superglobalmegacorp.com

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