4
* $Id: ps.h 685 2003-03-08 15:26:51Z travo $
6
* Declare the PostScript engine for GIST.
9
/* Copyright (c) 1994. The Regents of the University of California.
10
All rights reserved. */
20
typedef struct GpsBBox GpsBBox;
22
int xll, yll, xur, yur;
25
typedef struct PSEngine PSEngine;
29
/* --------------- Specific to PSEngine ------------------- */
32
p_file *file; /* 0 until file is actually written into */
33
int closed; /* if file==0 and closed!=0, there was a write error */
35
/* Page orientation and color table can only be changed at the beginning
36
of each page, so the entries in the Engine base class are repeated
37
here as the "currently in effect" values. When a new page begins,
38
these values are brought into agreement with those in the base
39
class. The ChangePalette virtual function temporarily resets colorMode
40
to 0, to avoid any references to the new palette until the
46
GpsBBox pageBB; /* bounding box for current page */
47
GpsBBox docBB; /* bounding box for entire document */
48
int currentPage; /* current page number, incremented by EndPage */
49
long fonts; /* bits correspond to Gist fonts (set when used) */
51
/* The ps.ps GistPrimitives assume knowledge of the several
52
graphical state parameters, mostly from gistA. These are
53
reset at the beginning of each page. */
56
unsigned long curColor;
61
int curAlignH, curAlignV;
64
/* When clipping is turned off, the ps.ps GistPrimitives state
65
partially reverts to its condition when clipping was turned on. */
66
unsigned long clipColor;
72
char line[80]; /* buffer in which to build current output line */
73
int nchars; /* current number of characters in line */
76
extern PSEngine *GisPSEngine(Engine *engine);