Commit | Line | Data |
---|---|---|
4a12abe8 WJ |
1 | /* Copyright (C) 1989, 1991 Aladdin Enterprises. All rights reserved. |
2 | Distributed by Free Software Foundation, Inc. | |
3 | ||
4 | This file is part of Ghostscript. | |
5 | ||
6 | Ghostscript is distributed in the hope that it will be useful, but | |
7 | WITHOUT ANY WARRANTY. No author or distributor accepts responsibility | |
8 | to anyone for the consequences of using it or for whether it serves any | |
9 | particular purpose or works at all, unless he says so in writing. Refer | |
10 | to the Ghostscript General Public License for full details. | |
11 | ||
12 | Everyone is granted permission to copy, modify and redistribute | |
13 | Ghostscript, but only under the conditions described in the Ghostscript | |
14 | General Public License. A copy of this license is supposed to have been | |
15 | given to you along with Ghostscript so you can know your rights and | |
16 | responsibilities. It should be in a file named COPYING. Among other | |
17 | things, the copyright notice and this notice must be preserved on all | |
18 | copies. */ | |
19 | ||
20 | /* state.h */ | |
21 | /* Ghostscript interpreter graphics state definition */ | |
22 | ||
23 | /* Note that from the interpreter's point of view, */ | |
24 | /* the graphics state is opaque, i.e. the interpreter is */ | |
25 | /* just another client of the library. */ | |
26 | ||
27 | /* The interpreter requires additional items in the graphics state: */ | |
28 | typedef struct int_gstate_s int_gstate; | |
29 | struct int_gstate_s { | |
30 | /* Any refs must come first, for alignment. */ | |
31 | ref screen_proc; /* halftone screen procedure */ | |
32 | struct { | |
33 | ref red, green, blue, gray; /* transfer procedures */ | |
34 | } transfer_procs; | |
35 | ref font; /* font object (dictionary) */ | |
36 | int_gstate *saved; /* previous int_gstate from gsave */ | |
37 | }; | |
38 | /* Enumerate the refs in an int_gstate. */ | |
39 | #define int_gstate_map_refs(p,m)\ | |
40 | (m(&(p)->screen_proc), m(&(p)->transfer_procs.red),\ | |
41 | m(&(p)->transfer_procs.green), m(&(p)->transfer_procs.blue),\ | |
42 | m(&(p)->font)) | |
43 | ||
44 | /* The current instances. */ | |
45 | extern int_gstate istate; | |
46 | extern gs_state *igs; |