1 /* Copyright (C) 2001-2019 Artifex Software, Inc.
2    All Rights Reserved.
3 
4    This software is provided AS-IS with no warranty, either express or
5    implied.
6 
7    This software is distributed under license and may not be copied,
8    modified or distributed except as expressly authorized under the terms
9    of the license contained in the file LICENSE in this distribution.
10 
11    Refer to licensing information at http://www.artifex.com or contact
12    Artifex Software, Inc.,  1305 Grant Avenue - Suite 200, Novato,
13    CA 94945, U.S.A., +1(415)492-9861, for further information.
14 */
15 
16 
17 #ifndef gsicc_create_INCLUDED
18 #  define gsicc_create_INCLUDED
19 
20 #include "gscie.h"
21 
22 void gsicc_create_fromcrd(unsigned char *buffer, gs_memory_t *memory);
23 int gsicc_create_froma(const gs_color_space *pcs, unsigned char **pp_buffer_in,
24                        int *profile_size_out, gs_memory_t *memory,
25                        gx_cie_vector_cache *a_cache,
26                        gx_cie_scalar_cache *lmn_caches);
27 int gsicc_create_fromabc(const gs_color_space *pcs, unsigned char **buffer,
28                          int *profile_size_out, gs_memory_t *memory,
29                          gx_cie_vector_cache *abc_caches,
30                          gx_cie_scalar_cache *lmn_caches, bool *islab);
31 int gsicc_create_fromdefg(const gs_color_space *pcs,
32                           unsigned char **pp_buffer_in, int *profile_size_out,
33                           gs_memory_t *memory, gx_cie_vector_cache *abc_caches,
34                           gx_cie_scalar_cache *lmn_caches,
35                           gx_cie_scalar_cache *defg_caches);
36 int gsicc_create_fromdef(const gs_color_space *pcs, unsigned char **pp_buffer_in,
37                          int *profile_size_out, gs_memory_t *memory,
38                          gx_cie_vector_cache *abc_caches,
39                          gx_cie_scalar_cache *lmn_caches,
40                          gx_cie_scalar_cache *def_caches);
41 cmm_profile_t* gsicc_create_from_cal(float *white, float *black, float *gamma,
42                                      float *matrix, gs_memory_t *memory,
43                                      int num_colors);
44 byte* gsicc_getv2buffer(cmm_profile_t *srcprofile, int *size);
45 byte* gsicc_create_getv2buffer(const gs_gstate *pgs,
46                                 cmm_profile_t *srcprofile, int *size);
47 #endif
48