diff options
Diffstat (limited to 'gs/base/gxtmap.h')
-rw-r--r-- | gs/base/gxtmap.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gs/base/gxtmap.h b/gs/base/gxtmap.h new file mode 100644 index 000000000..4d0418967 --- /dev/null +++ b/gs/base/gxtmap.h @@ -0,0 +1,47 @@ +/* Copyright (C) 2001-2006 Artifex Software, Inc. + All Rights Reserved. + + This software is provided AS-IS with no warranty, either express or + implied. + + This software is distributed under license and may not be copied, modified + or distributed except as expressly authorized under the terms of that + license. Refer to licensing information at http://www.artifex.com/ + or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, + San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information. +*/ + +/* $Id$ */ +/* Definition of transfer mapping function */ +/* (also used for black generation and undercolor removal) */ + +#ifndef gxtmap_INCLUDED +# define gxtmap_INCLUDED + +/* Common definition for mapping procedures. */ +/* These are used for transfer functions, black generation, */ +/* and undercolor removal. */ +/* gx_transfer_map should probably be renamed gx_mapping_cache.... */ + +/* Define an abstract type for a transfer map. */ +typedef struct gx_transfer_map_s gx_transfer_map; + +/* + * Define the type of a mapping procedure. There are two forms of this. + * The original form passed only the transfer map itself as an argument: + */ +typedef float (*gs_mapping_proc) (floatp, const gx_transfer_map *); + +/* + * Later, we recognized that this procedure should really be a general + * closure: + */ +typedef float (*gs_mapping_closure_proc_t) (floatp value, + const gx_transfer_map * pmap, + const void *proc_data); +typedef struct gs_mapping_closure_s { + gs_mapping_closure_proc_t proc; + const void *data; +} gs_mapping_closure_t; + +#endif /* gxtmap_INCLUDED */ |