|
|
1.1 root 1: #include <jerq.h>
2: #define PADS_TERM
3: #include "../pads.pri"
4:
5: long assertf();
6: #define ASSERT
7: #define assert(e) ( assertf( (long) (e) ) )
8: #define salloc(s) ((struct s*) Alloc(sizeof(struct s)) )
9:
10: typedef unsigned char uchar;
11: typedef int (*PFI)();
12: typedef long (*PFL)();
13: typedef char (*PFC)();
14:
15: typedef struct Line {
16: long object;
17: Index carte;
18: unsigned char ptop;
19: unsigned char phit;
20: Attrib attributes;
21: /* ***************************** */
22: char *text;
23: long key;
24: Rectangle rect;
25: struct Line *down;
26: struct Line *up;
27: } Line;
28:
29: typedef struct Pad {
30: long object;
31: Index carte;
32: unsigned char ptop;
33: unsigned char phit;
34: Attrib attributes;
35: /* ***************************** */
36: struct Pad *front;
37: struct Pad *back;
38: Rectangle rect;
39: Rectangle srect;
40: char *name;
41: Line sentinel;
42: long selkey;
43: short lo;
44: short hi;
45: short ticks;
46: short tabs;
47: } Pad ;
48:
49: typedef struct Selection {
50: Pad *pad;
51: Line *line;
52: } Selection;
53:
54: typedef struct Entry {
55: char *text;
56: int (*action)();
57: long opand;
58: struct Script *script;
59: } Entry;
60:
61: typedef struct Script{
62: Entry *(*generator)();
63: int (*limits)();
64: struct Script *more;
65: Index cindex; /* bogus! bogus! bogus! */
66: short items;
67: short width;
68: short prevtop;
69: short prevhit;
70: } Script;
71:
72: Entry *ScriptHit();
73:
74: typedef enum Cover { CLEAR, PARTIAL, COMPLETE } Cover;
75:
76: extern Selection Selected; /* selected line */
77: extern Pad *Current; /* current pad */
78: extern long HostObject; /* global arg to HostAction(Index) */
79: extern long HostParent; /* and its pad's object */
80: extern short Scrolly; /* suggest middle for Paint() */
81:
82: extern Point Zpoint;
83: extern Rectangle ZRectangle;
84: extern Pad *DirtyPad;
85:
86: #define BIGMEMORY 1
87: #define NOVICEUSER 2
88: int Configuration;
89:
90: Point dxordy();
91: Rectangle boundrect();
92: Rectangle moverect();
93: Rectangle scrollbar();
94: Rectangle canon();
95:
96: char *strcpy();
97: char *strdupl();
98: char *strcat();
99: char *itoa();
100:
101: char *Alloc();
102: char *GCAlloc();
103:
104: char *IndexToStr();
105: Carte *IndexToCarte();
106:
107: int DeletePick();
108: int DeletePad();
109: int Move();
110: int CutLine();
111: int Sever();
112: int Reshape();
113: int HostAction();
114: int HostNumeric();
115: int FoldToggle();
116:
117: Pad *New();
118: Pad *PickPad();
119: Pad *PidToPad();
120:
121: Entry *TitleEntry();
122: Entry *FoldEntry();
123:
124: extern Cursor Danger;
125: extern Cursor Bullseye;
126: extern Cursor NoMemory;
127: extern Cursor NoGCMemory;
128: extern Cursor Coffee;
129: extern Cursor HostBusy;
130: extern Texture Arrow;
131: extern Cursor *Pcursor;
132:
133: extern Index CIndex;
134:
135: #define butts (mouse.buttons&07)
136: #define BUTT1 4
137: #define BUTT2 2
138: #define BUTT3 1
139:
140: typedef struct RectList RectList ;
141: struct RectList {
142: Rectangle *rp;
143: RectList *more;
144: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.