source: trunk/minix/commands/yap/display.h@ 20

Last change on this file since 20 was 9, checked in by Mattia Monga, 14 years ago

Minix 3.1.2a

File size: 3.0 KB
Line 
1/* Copyright (c) 1985 Ceriel J.H. Jacobs */
2
3/* $Header: /cvsup/minix/src/commands/yap/display.h,v 1.1.1.1 2005/04/21 14:55:39 beng Exp $ */
4
5# ifndef _DISPLAY_
6# define PUBLIC extern
7# else
8# define PUBLIC
9# endif
10
11# define MINPAGESIZE 5
12
13PUBLIC int pagesize; /* How many lines on a page */
14PUBLIC int maxpagesize; /* Maximum # of lines on a page */
15PUBLIC int scrollsize; /* number of lines in a scroll */
16struct scr_info {
17 struct linelist {
18 int cnt; /* # of screenlines for this line */
19 long line; /* lineno of this line */
20# define firstline head->line
21# define lastline tail->line
22 struct linelist *next;
23 struct linelist *prev;
24 } *tail, *head; /* Of all lines of the input file that are
25 * on the screen, remember how many
26 * screenlines they occupy. Keep this
27 * info in a doubly linked list.
28 */
29 int nf; /* How many screenlines of the first line
30 * on the screen are not on the screen?
31 */
32 int currentpos; /* Y coordinate of first free line */
33 struct linelist ssaavv; /* Mark */
34# define savfirst ssaavv.line
35# define savnf ssaavv.cnt
36};
37
38PUBLIC struct scr_info scr_info;
39PUBLIC int status; /* EOFILE on end of file
40 * START on start of file
41 * logical "or" if both
42 */
43/* Flags for status field */
44
45# define EOFILE 01
46# define START 02
47
48VOID redraw();
49/*
50 * void redraw(flag)
51 * int flag; Either 0 or 1
52 *
53 * Redraws the screen. If flag = 1, the screen is redrawn as precisely
54 * as possible, otherwise one page is displayed (which possibly does not
55 * take a whole screen.
56 */
57
58int display();
59/*
60 * int display(firstline, nodispl, nlines, really)
61 * long firstline; Line with which to start
62 * int nodispl; Do not display nodispl lines of it
63 * int nlines; Number of screen lines that must be displayed
64 * int really; Either 0 or 1
65 *
66 * Displays nlines as a page. if "really" = 0, the actual displaying is not
67 * performed. Only the computing associated with it is done.
68 */
69
70int scrollf();
71/*
72 * int scrollf(nlines,really)
73 * int nlines; Number of lines to scroll
74 * int really; Either 0 or 1, see explanation above
75 *
76 * Scroll forwards "nlines" (screen)lines.
77 */
78
79int scrollb();
80/*
81 * int scrollb(nlines,really)
82 * int nlines; Number of lines to scroll
83 * int really; Either 0 or 1, see explanation above
84 *
85 * Scroll backwards "nlines" (screen)lines.
86 */
87
88int tomark();
89/*
90 * int tomark(cnt)
91 * long cnt; (Argument ignored)
92 *
93 * Display a page starting at the mark. If there was no
94 * mark, display the first page of the file.
95 * (There is always assumed to be a mark, the initial one is on the first page
96 * of the file).
97 */
98
99int setmark();
100/*
101 * int setmark(cnt)
102 * long cnt; (Argument ignored)
103 *
104 * Sets a mark on the current page.
105 * It returns nothing (but the address is taken ...)
106 */
107
108int exgmark();
109/*
110 * int exgmark(cnt)
111 * long cnt; (Argumewnt ignored)
112 *
113 * Sets the mark on the current page and displays the
114 * previously marked page.
115 */
116
117VOID d_clean();
118/*
119 * void d_clean()
120 *
121 * Clean up and initialize. To be called before displaying a new file
122 */
123
124# undef PUBLIC
Note: See TracBrowser for help on using the repository browser.