Annotation of GNUtools/emacs/src/dispextern.h, revision 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.