gprint.h revision 296373
199112Sobrien/* Last non-groff version: gprint.h 1.1 84/10/08 299112Sobrien * 365428Simp * This file contains standard definitions used by the gprint program. 4179020Sbrooks */ 5179020Sbrooks 6179020Sbrooks#include <stdio.h> 7179020Sbrooks#include <math.h> 8179020Sbrooks 9194Snate 1078718Sdd#define xorn(x,y) (x) 1165428Simp /* was 512 */ 12194Snate#define yorn(x,y) (511 - (y)) /* switch direction for */ 1387283Sdwmalone /* y-coordinates */ 14102944Sdwmalone 15194Snate#define STYLES 6 16194Snate#define SIZES 4 17194Snate#define FONTS 4 18194Snate#define SOLID -1 19194Snate#define DOTTED 004 /* 014 */ 2024360Simp#define DASHED 020 /* 034 */ 21194Snate#define DOTDASHED 024 /* 054 */ 22194Snate#define LONGDASHED 074 23194Snate 24194Snate#define DEFTHICK -1 /* default thicknes */ 25194Snate#define DEFSTYLE SOLID /* default line style */ 26194Snate 2745279Scracauer#define TRUE 1 28194Snate#define FALSE 0 29194Snate 30194Snate#define nullelt -1 31194Snate#define nullpt -1 32194Snate#define nullun NULL 33194Snate 34194Snate#define BOTLEFT 0 35194Snate#define BOTRIGHT 1 3695657Smarkm#define CENTCENT 2 37194Snate#define VECTOR 3 38#define ARC 4 39#define CURVE 5 40#define POLYGON 6 41#define BSPLINE 7 42#define BEZIER 8 43#define TOPLEFT 10 44#define TOPCENT 11 45#define TOPRIGHT 12 46#define CENTLEFT 13 47#define CENTRIGHT 14 48#define BOTCENT 15 49#define TEXT(t) ( (t <= CENTCENT) || (t >= TOPLEFT) ) 50 51/* WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING 52 * The above (TEXT) test is dependent on the relative values of the 53 * constants and will have to change if these values change or if new 54 * commands are added with value greater than BOTCENT 55 */ 56 57#define NUSER 4 58#define NFONTS 4 59#define NBRUSHES 6 60#define NSIZES 4 61#define NJUSTS 9 62#define NSTIPPLES 16 63 64#define ADD 1 65#define DELETE 2 66#define MOD 3 67 68typedef struct point { 69 double x, y; 70 struct point *nextpt; 71} POINT; 72 73typedef struct elmt { 74 int type, brushf, size, textlength; 75 char *textpt; 76 POINT *ptlist; 77 struct elmt *nextelt, *setnext; 78} ELT; 79 80#define DBNextElt(elt) (elt->nextelt) 81#define DBNextofSet(elt) (elt->setnext) 82#define DBNullelt(elt) (elt == NULL) 83#define Nullpoint(pt) ((pt) == (POINT *) NULL) 84#define PTNextPoint(pt) (pt->nextpt) 85 86/* EOF */ 87