|
|
1.1 root 1: /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1984. */
2: /* $Header: cell.h,v 2.0 84/06/18 15:46:34 guido Exp $ */
3:
4: /*
5: * B editor -- Definitions for linked lists of screen lines, baptized `cells'.
6: * (This is NOT an abstract data type!)
7: */
8:
9: struct cell {
10: struct cell *c_link;
11: node c_data;
12: short c_onscreen;
13: short c_oldindent;
14: short c_newindent;
15: short c_length;
16: char c_oldvhole;
17: char c_newvhole; /* Yes if this line contains a `vhole' */
18: char c_oldfocus;
19: char c_newfocus; /* Yes if this line contains underlining */
20: };
21:
22: typedef struct cell cell;
23:
24: #define Cnil ((cell*) NULL)
25:
26: #define Nowhere (-9999)
27:
28: #define SpaceRound(x) ((indent + (x) + llength - 1) / llength)
29: #define Space(p) \
30: SpaceRound((p)->c_length + (p)->c_newindent + (p)->c_newvhole)
31: #define Oldspace(p) \
32: SpaceRound((p)->c_length + (p)->c_newindent + (p)->c_newvhole)
33:
34: cell *replist();
35: cell *build();
36:
37: extern int llength;
38: extern int winheight;
39: extern int indent;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.