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