/* Copyright (C) 1999 artofcode LLC. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA, 02111-1307. */ /*$Id: gxcdevn.h,v 1.2.6.1.2.1 2003/01/17 00:49:03 giles Exp $ */ /* Internal definitions for DeviceN color spaces */ #ifndef gxcdevn_INCLUDED # define gxcdevn_INCLUDED #include "gsrefct.h" #include "gxcindex.h" /* Cache for DeviceN color. Note that currently this is a 1-entry cache. */ #ifndef gs_device_n_map_DEFINED # define gs_device_n_map_DEFINED typedef struct gs_device_n_map_s gs_device_n_map; #endif struct gs_device_n_map_s { rc_header rc; int (*tint_transform)(P5(const gs_device_n_params * params, const float *in, float *out, const gs_imager_state *pis, void *data)); void *tint_transform_data; bool cache_valid; float tint[GS_CLIENT_COLOR_MAX_COMPONENTS]; frac conc[GX_DEVICE_COLOR_MAX_COMPONENTS]; }; #define private_st_device_n_map() /* in gscdevn.c */\ gs_private_st_ptrs1(st_device_n_map, gs_device_n_map, "gs_device_n_map",\ device_n_map_enum_ptrs, device_n_map_reloc_ptrs, tint_transform_data) /* Allocate and initialize a DeviceN map. */ int alloc_device_n_map(P3(gs_device_n_map ** ppmap, gs_memory_t * mem, client_name_t cname)); #endif /* gxcdevn_INCLUDED */