annotate info/display.h @ 2704:261befb7f938

[project @ 1997-02-19 19:37:10 by jwe]
author jwe
date Wed, 19 Feb 1997 19:37:10 +0000
parents b043097d7e04
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2502
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
1 /* display.h -- How the display in Info is done. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
2
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
3 /* This file is part of GNU Info, a program for reading online documentation
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
4 stored in Info format.
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
5
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
6 Copyright (C) 1993 Free Software Foundation, Inc.
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
7
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
8 This program is free software; you can redistribute it and/or modify
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
9 it under the terms of the GNU General Public License as published by
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
10 the Free Software Foundation; either version 2, or (at your option)
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
11 any later version.
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
12
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
13 This program is distributed in the hope that it will be useful,
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
16 GNU General Public License for more details.
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
17
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
19 along with this program; if not, write to the Free Software
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
21
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
22 Written by Brian Fox (bfox@ai.mit.edu). */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
23
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
24 #if !defined (_DISPLAY_H_)
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
25 #define _DISPLAY_H_
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
26
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
27 #include "info-utils.h"
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
28 #include "terminal.h"
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
29
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
30 typedef struct {
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
31 char *text; /* Text of the line as it appears. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
32 int textlen; /* Printable Length of TEXT. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
33 int inverse; /* Non-zero means this line is inverse. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
34 } DISPLAY_LINE;
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
35
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
36 /* An array of display lines which tell us what is currently visible on
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
37 the display. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
38 extern DISPLAY_LINE **the_display;
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
39
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
40 /* Non-zero means do no output. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
41 extern int display_inhibited;
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
42
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
43 /* Non-zero if we didn't completely redisplay a window. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
44 extern int display_was_interrupted_p;
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
45
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
46 /* Initialize THE_DISPLAY to WIDTH and HEIGHT, with nothing in it. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
47 extern void display_initialize_display ();
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
48
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
49 /* Clear all of the lines in DISPLAY making the screen blank. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
50 extern void display_clear_display ();
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
51
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
52 /* Update the windows pointed to by WINDOWS in THE_DISPLAY. This actually
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
53 writes the text on the screen. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
54 extern void display_update_display ();
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
55
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
56 /* Display WIN on THE_DISPLAY. Unlike display_update_display (), this
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
57 function only does one window. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
58 extern void display_update_one_window ();
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
59
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
60 /* Move the screen cursor to directly over the current character in WINDOW. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
61 extern void display_cursor_at_point ();
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
62
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
63 /* Scroll the region of the_display starting at START, ending at END, and
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
64 moving the lines AMOUNT lines. If AMOUNT is less than zero, the lines
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
65 are moved up in the screen, otherwise down. Actually, it is possible
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
66 for no scrolling to take place in the case that the terminal doesn't
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
67 support it. This doesn't matter to us. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
68 extern void display_scroll_display ();
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
69
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
70 /* Try to scroll lines in WINDOW. OLD_PAGETOP is the pagetop of WINDOW before
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
71 having had its line starts recalculated. OLD_STARTS is the list of line
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
72 starts that used to appear in this window. OLD_COUNT is the number of lines
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
73 that appear in the OLD_STARTS array. */
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
74 extern void display_scroll_line_starts ();
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
75
b043097d7e04 [project @ 1996-11-13 03:41:37 by jwe]
jwe
parents:
diff changeset
76 #endif /* !_DISPLAY_H_ */