1 /* gprint.h	1.5	83/05/22
2  *
3  * This file contains standard definitions used by the gprint program.
4  */
5 
6 #define Vxlen		2048		/* varian dimensions */
7 #define Vylen		1600
8 #define Vbytperlin	264
9 
10 #define Wxlen		2048		/* versatec dimensions */
11 #define Wylen		2048
12 #define Wbytperlin	880
13 
14 #define	MenuSize	116		/* screen dimensions */
15 #define HXmin		0
16 #define HXmax		511
17 #define HYmin		0
18 #define HYmax		(511 - MenuSize)
19 #define VXmin		MenuSize
20 #define VXmax		511
21 #define VYmin		0
22 #define VYmax		511
23 
24 						/* translation stuff */
25 #define xorn(x,y)	Orientation ? ((y) - VYmin) : ((x) - HXmin)
26 #define yorn(x,y)	Orientation ? ((x) - VXmin) : (HYmax - (y))
27 #define mapx(x)		(((x) * scale)-orgx)
28 #define mapy(y)		(((y) * scale)-orgy)
29 
30 #define STYLES 6
31 #define SIZES 4
32 #define FONTS 4
33 #define SOLID -1
34 #define DOTTED 004	/* 014 */
35 #define DASHED 020	/* 034 */
36 #define DOTDASHED 024	/* 054 */
37 #define LONGDASHED 074
38 
39 #include <stdio.h>
40 #include <math.h>
41 
42 #define TRUE	1
43 #define FALSE	0
44 
45 #define nullelt	-1
46 #define nullpt	-1
47 #define nullun	NULL
48 
49 #define BOTLEFT	0
50 #define BOTRIGHT 1
51 #define CENTCENT 2
52 #define VECTOR 3
53 #define ARC 4
54 #define CURVE 5
55 #define TOPLEFT 10
56 #define TOPCENT 11
57 #define TOPRIGHT 12
58 #define CENTLEFT 13
59 #define CENTRIGHT 14
60 #define BOTCENT 15
61 #define TEXT(t) ( (t <= CENTCENT) || (t >= TOPLEFT) )
62 /* WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING
63  *    The above (TEXT) test is dependent on the relative values of the
64  *    constants and will have to change if these values change or if new
65  *    commands are added with value greater than BOTCENT
66  */
67 
68 #define NUSER 4
69 #define NFONTS 4
70 #define NBRUSHES 6
71 #define NSIZES 4
72 #define NJUSTS 9
73 
74 #define ADD 1
75 #define DELETE 2
76 #define MOD 3
77 
78 typedef struct point {
79 	float x, y;
80 	struct point *nextpt;
81 } POINT;
82 
83 typedef struct elmt {
84 	int type, brushf, size, textlength;
85 	char *textpt;
86 	POINT *ptlist;
87 	struct elmt *nextelt, *setnext;
88 } ELT;
89 
90 typedef struct unlt {
91 	int action;
92 	ELT *(*dbase), *oldelt, *newelt;
93 	struct unlt *nextun;
94 } UNELT;
95 
96 typedef struct {
97 	int tx_x;	/* First column of field */
98 	int tx_y;	/* Row containing field */
99 	int tx_size;	/* Size of field in characters */
100 } TXFIELD;
101 
102 #define DBNextElt(elt) elt->nextelt
103 #define DBNextofSet(elt) elt->setnext
104 #define DBNullelt(elt) (elt == NULL)
105 #define Nullpoint(pt)  (pt->x == nullpt)
106 #define PTNextPoint(pt) pt->nextpt
107