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