xref: /plan9/sys/src/cmd/gs/src/icsmap.h (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1 /* Copyright (C) 1994, 1999 Aladdin Enterprises.  All rights reserved.
2 
3   This software is provided AS-IS with no warranty, either express or
4   implied.
5 
6   This software is distributed under license and may not be copied,
7   modified or distributed except as expressly authorized under the terms
8   of the license contained in the file LICENSE in this distribution.
9 
10   For more information about licensing, please refer to
11   http://www.ghostscript.com/licensing/. For information on
12   commercial licensing, go to http://www.artifex.com/licensing/ or
13   contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14   San Rafael, CA  94903, U.S.A., +1(415)492-9861.
15 */
16 
17 /* $Id: icsmap.h,v 1.5 2002/06/16 04:47:10 lpd Exp $ */
18 /* Interface to shared routines for loading the cached color space maps. */
19 
20 #ifndef icsmap_INCLUDED
21 #  define icsmap_INCLUDED
22 
23 /*
24  * Set up to load a cached map for an Indexed or substituted Separation
25  * color space.  The implementation is in zcsindex.c.  When the map1
26  * procedure is called, the following structure is on the e_stack:
27  */
28 #define num_csme 5
29 #  define csme_num_components (-4)	/* t_integer */
30 #  define csme_map (-3)		/* t_struct (bytes) */
31 #  define csme_proc (-2)	/* -procedure- */
32 #  define csme_hival (-1)	/* t_integer */
33 #  define csme_index 0		/* t_integer */
34 /*
35  * Note that the underlying color space parameter is a direct space, not a
36  * base space, since the underlying space of an Indexed color space may be
37  * a Separation or DeviceN space.
38  */
39 int zcs_begin_map(i_ctx_t *i_ctx_p, gs_indexed_map ** pmap,
40 		  const ref * pproc, int num_entries,
41 		  const gs_direct_color_space * base_space,
42 		  op_proc_t map1);
43 
44 #endif /* icsmap_INCLUDED */
45