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