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