xref: /plan9/sys/src/cmd/postscript/common/gen.h (revision 14f51593fd82e19ba95969a8c07ff71131015979)
1*219b2ee8SDavid du Colombier /*
2*219b2ee8SDavid du Colombier  * A few definitions that shouldn't have to change. Used by most programs in
3*219b2ee8SDavid du Colombier  * this package.
4*219b2ee8SDavid du Colombier  */
5*219b2ee8SDavid du Colombier 
6*219b2ee8SDavid du Colombier #define PROGRAMVERSION	"3.3.2"
7*219b2ee8SDavid du Colombier 
8*219b2ee8SDavid du Colombier #define NON_FATAL	0
9*219b2ee8SDavid du Colombier #define FATAL		1
10*219b2ee8SDavid du Colombier #define USER_FATAL	2
11*219b2ee8SDavid du Colombier 
12*219b2ee8SDavid du Colombier #define OFF		0
13*219b2ee8SDavid du Colombier #define ON		1
14*219b2ee8SDavid du Colombier 
15*219b2ee8SDavid du Colombier #define FALSE		0
16*219b2ee8SDavid du Colombier #define TRUE		1
17*219b2ee8SDavid du Colombier 
18*219b2ee8SDavid du Colombier #define BYTE		8
19*219b2ee8SDavid du Colombier #define BMASK		0377
20*219b2ee8SDavid du Colombier 
21*219b2ee8SDavid du Colombier #define POINTS		72.3
22*219b2ee8SDavid du Colombier 
23*219b2ee8SDavid du Colombier #ifndef PI
24*219b2ee8SDavid du Colombier #define PI		3.141592654
25*219b2ee8SDavid du Colombier #endif
26*219b2ee8SDavid du Colombier 
27*219b2ee8SDavid du Colombier #define ONEBYTE		0
28*219b2ee8SDavid du Colombier #define UTFENCODING	1
29*219b2ee8SDavid du Colombier 
30*219b2ee8SDavid du Colombier #define READING		ONEBYTE
31*219b2ee8SDavid du Colombier #define WRITING		ONEBYTE
32*219b2ee8SDavid du Colombier 
33*219b2ee8SDavid du Colombier /*
34*219b2ee8SDavid du Colombier  *
35*219b2ee8SDavid du Colombier  * DOROUND controls whether some translators include file ROUNDPAGE (path.h)
36*219b2ee8SDavid du Colombier  * after the prologue. Used to round page dimensions obtained from the clippath
37*219b2ee8SDavid du Colombier  * to know paper sizes. Enabled by setting DOROUND to TRUE (or 1).
38*219b2ee8SDavid du Colombier  *
39*219b2ee8SDavid du Colombier  */
40*219b2ee8SDavid du Colombier 
41*219b2ee8SDavid du Colombier #define DOROUND	TRUE
42*219b2ee8SDavid du Colombier 
43*219b2ee8SDavid du Colombier /*
44*219b2ee8SDavid du Colombier  *
45*219b2ee8SDavid du Colombier  * Default resolution and the height and width of a page (in case we need to get
46*219b2ee8SDavid du Colombier  * to upper left corner) - only used in BoundingBox calculations!!
47*219b2ee8SDavid du Colombier  *
48*219b2ee8SDavid du Colombier  */
49*219b2ee8SDavid du Colombier 
50*219b2ee8SDavid du Colombier #define DEFAULT_RES	72
51*219b2ee8SDavid du Colombier #define PAGEHEIGHT	11.0 * DEFAULT_RES
52*219b2ee8SDavid du Colombier #define PAGEWIDTH	8.5 * DEFAULT_RES
53*219b2ee8SDavid du Colombier 
54*219b2ee8SDavid du Colombier /*
55*219b2ee8SDavid du Colombier  *
56*219b2ee8SDavid du Colombier  * Simple macros.
57*219b2ee8SDavid du Colombier  *
58*219b2ee8SDavid du Colombier  */
59*219b2ee8SDavid du Colombier 
60*219b2ee8SDavid du Colombier #define ABS(A)		((A) >= 0 ? (A) : -(A))
61*219b2ee8SDavid du Colombier #define MIN(A, B)	((A) < (B) ? (A) : (B))
62*219b2ee8SDavid du Colombier #define MAX(A, B)	((A) > (B) ? (A) : (B))
63