xref: /plan9/sys/src/cmd/gs/src/icolor.h (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1 /* Copyright (C) 1994, 1996, 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: icolor.h,v 1.5 2002/06/16 04:47:10 lpd Exp $ */
18 /* Declarations for transfer function & similar cache remapping */
19 
20 #ifndef icolor_INCLUDED
21 #  define icolor_INCLUDED
22 
23 /*
24  * Define the number of stack slots needed for zcolor_remap_one.
25  * The client is responsible for doing check_e/ostack or the equivalent
26  * before calling zcolor_remap_one.
27  */
28 extern const int zcolor_remap_one_ostack;
29 extern const int zcolor_remap_one_estack;
30 
31 /*
32  * Schedule the sampling and reloading of a cache.  Note that if
33  * zcolor_remap_one recognize the procedure as being of a special form, it
34  * may not schedule anything, but it still returns o_push_estack.  (This is
35  * a change as of release 5.95; formerly, it returned 0 in this case.)
36  */
37 int zcolor_remap_one(i_ctx_t *, const ref *, gx_transfer_map *,
38 		     const gs_state *, op_proc_t);
39 
40 /* Reload a cache with entries in [0..1] after sampling. */
41 int zcolor_remap_one_finish(i_ctx_t *);
42 
43 /* Reload a cache with entries in [-1..1] after sampling. */
44 int zcolor_remap_one_signed_finish(i_ctx_t *);
45 
46 /* Recompute the effective transfer functions and invalidate the current */
47 /* color after cache reloading. */
48 int zcolor_reset_transfer(i_ctx_t *);
49 
50 /* Invalidate the current color after cache reloading. */
51 int zcolor_remap_color(i_ctx_t *);
52 
53 #endif /* icolor_INCLUDED */
54