/* Copyright (C) 2000 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: gscdevn.h,v 1.3.6.1.2.1 2003/01/17 00:49:02 giles Exp $ */ /* Client interface to DeviceN color */ #ifndef gscdevn_INCLUDED # define gscdevn_INCLUDED #include "gscspace.h" /* * Allocate and fill in a DeviceN color space. * Note that the client is responsible for memory management of the * name array and (if used) the tint transform Function. */ int gs_cspace_build_DeviceN(P5( gs_color_space **ppcspace, gs_separation_name *psnames, uint num_components, const gs_color_space *palt_cspace, gs_memory_t *pmem )); /* Set the tint transformation procedure for a DeviceN color space. */ /* VMS limits procedure names to 31 characters, and some systems only */ /* compare the first 23 characters. */ extern int gs_cspace_set_devn_proc(P3( gs_color_space * pcspace, int (*proc)(P5(const gs_device_n_params *, const float *, float *, const gs_imager_state *, void * )), void *proc_data )); /* Set the DeviceN tint transformation procedure to a Function. */ #ifndef gs_function_DEFINED typedef struct gs_function_s gs_function_t; # define gs_function_DEFINED #endif int gs_cspace_set_devn_function(P2(gs_color_space *pcspace, gs_function_t *pfn)); /* * If the DeviceN tint transformation procedure is a Function, * return the function object, otherwise return 0. */ gs_function_t *gs_cspace_get_devn_function(P1(const gs_color_space *pcspace)); #endif /* gscdevn_INCLUDED */