175584Sru/* Last non-groff version: gprint.h 1.1 84/10/08 275584Sru * 375584Sru * This file contains standard definitions used by the gprint program. 475584Sru */ 575584Sru 675584Sru#include <stdio.h> 775584Sru#include <math.h> 875584Sru 975584Sru 1075584Sru#define xorn(x,y) (x) 1175584Sru /* was 512 */ 1275584Sru#define yorn(x,y) (511 - (y)) /* switch direction for */ 1375584Sru /* y-coordinates */ 1475584Sru 1575584Sru#define STYLES 6 1675584Sru#define SIZES 4 1775584Sru#define FONTS 4 1875584Sru#define SOLID -1 1975584Sru#define DOTTED 004 /* 014 */ 2075584Sru#define DASHED 020 /* 034 */ 2175584Sru#define DOTDASHED 024 /* 054 */ 2275584Sru#define LONGDASHED 074 2375584Sru 2475584Sru#define DEFTHICK -1 /* default thicknes */ 2575584Sru#define DEFSTYLE SOLID /* default line style */ 2675584Sru 2775584Sru#define TRUE 1 2875584Sru#define FALSE 0 2975584Sru 3075584Sru#define nullelt -1 3175584Sru#define nullpt -1 3275584Sru#define nullun NULL 3375584Sru 3475584Sru#define BOTLEFT 0 3575584Sru#define BOTRIGHT 1 3675584Sru#define CENTCENT 2 3775584Sru#define VECTOR 3 3875584Sru#define ARC 4 3975584Sru#define CURVE 5 4075584Sru#define POLYGON 6 41104862Sru#define BSPLINE 7 42104862Sru#define BEZIER 8 4375584Sru#define TOPLEFT 10 4475584Sru#define TOPCENT 11 4575584Sru#define TOPRIGHT 12 4675584Sru#define CENTLEFT 13 4775584Sru#define CENTRIGHT 14 4875584Sru#define BOTCENT 15 4975584Sru#define TEXT(t) ( (t <= CENTCENT) || (t >= TOPLEFT) ) 5075584Sru 5175584Sru/* WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING 5275584Sru * The above (TEXT) test is dependent on the relative values of the 5375584Sru * constants and will have to change if these values change or if new 5475584Sru * commands are added with value greater than BOTCENT 5575584Sru */ 5675584Sru 5775584Sru#define NUSER 4 5875584Sru#define NFONTS 4 5975584Sru#define NBRUSHES 6 6075584Sru#define NSIZES 4 6175584Sru#define NJUSTS 9 6275584Sru#define NSTIPPLES 16 6375584Sru 6475584Sru#define ADD 1 6575584Sru#define DELETE 2 6675584Sru#define MOD 3 6775584Sru 6875584Srutypedef struct point { 69151497Sru double x, y; 7075584Sru struct point *nextpt; 7175584Sru} POINT; 7275584Sru 7375584Srutypedef struct elmt { 7475584Sru int type, brushf, size, textlength; 7575584Sru char *textpt; 7675584Sru POINT *ptlist; 7775584Sru struct elmt *nextelt, *setnext; 7875584Sru} ELT; 7975584Sru 8075584Sru#define DBNextElt(elt) (elt->nextelt) 8175584Sru#define DBNextofSet(elt) (elt->setnext) 8275584Sru#define DBNullelt(elt) (elt == NULL) 8375584Sru#define Nullpoint(pt) ((pt) == (POINT *) NULL) 8475584Sru#define PTNextPoint(pt) (pt->nextpt) 8575584Sru 8675584Sru/* EOF */ 87