Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccWrapper.h
Go to the documentation of this file.
1/** @file
2File: IccWrapper.h
3
4Contains: Header file for C Wrapper interface functions for CIccProfile
5 and CIccCmm classes.
6
7Version: V1
8
9Copyright: (c) see ICC Software License
10*/
11
12/*
13* The ICC Software License, Version 0.2
14*
15*
16* Copyright (c) 2003-2016 The International Color Consortium. All rights
17* reserved.
18*
19* Redistribution and use in source and binary forms, with or without
20* modification, are permitted provided that the following conditions
21* are met:
22*
23* 1. Redistributions of source code must retain the above copyright
24* notice, this list of conditions and the following disclaimer.
25*
26* 2. Redistributions in binary form must reproduce the above copyright
27* notice, this list of conditions and the following disclaimer in
28* the documentation and/or other materials provided with the
29* distribution.
30*
31* 3. In the absence of prior written permission, the names "ICC" and "The
32* International Color Consortium" must not be used to imply that the
33* ICC organization endorses or promotes products derived from this
34* software.
35*
36*
37* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40* DISCLAIMED. IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
41* ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48* SUCH DAMAGE.
49* ====================================================================
50*
51* This software consists of voluntary contributions made by many
52* individuals on behalf of the The International Color Consortium.
53*
54*
55* Membership in the ICC is encouraged when this software is used for
56* commercial purposes.
57*
58*
59* For more information on The International Color Consortium, please
60* see <http://www.color.org/>.
61*
62*
63*/
64
65#ifndef _ICC_WRAPPER_H
66#define _ICC_WRAPPER_H
67
68#include "IccDefs.h"
69#include "IccProfile.h"
70#include "IccCmm.h"
71
72#ifdef __cplusplus
73extern "C" {
74#endif
75
76typedef void CIccCmmHandle;
77typedef void CIccApplyHandle;
78typedef void CIccProfileHandle;
79
86
92
93typedef unsigned char icBoolean;
94
97 const char *szFname,
98 icRenderingIntent nIntent,
99 icXformInterp nInterp,
100 CIccProfileHandle *pPcc, //may be NULL (ownership not taken)
101 icXformLutType nLutType,
102 icBoolean bUseDtoBTags,
103 icBoolean bUseBPC,
104 SIccCmmEnvVars *pVars); //may be NULL (ownership not taken)
106 CIccProfileHandle *pProfile, // CMM assumes ownership of profile
107 icRenderingIntent nIntent,
108 icXformInterp nInterp,
109 CIccProfileHandle *pPcc,
110 icXformLutType nLutType,
111 icBoolean bUseDtoBTags,
112 icBoolean bUseBPC,
113 SIccCmmEnvVars *pVars);
120
124
129
130#ifdef __cplusplus
131}
132#endif
133
134#endif //_ICC_WRAPPER_H
File: IccCmm.h.
icXformLutType
CMM Xform LUT types.
Definition IccCmm.h:125
icXformInterp
CMM Interpolation types.
Definition IccCmm.h:113
icStatusCMM
CMM return status values.
Definition IccCmm.h:90
File: IccDefs.h
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition IccDefs.h:100
#define ICCPROFLIB_API
File: IccProfile.h.
CIccApplyHandle * IccCmmGetApply(CIccCmmHandle *pCmm)
void CIccCmmHandle
Definition IccWrapper.h:76
icStatusCMM IccCmmAttachProfileHandle(CIccCmmHandle *pCmm, CIccProfileHandle *pProfile, icRenderingIntent nIntent, icXformInterp nInterp, CIccProfileHandle *pPcc, icXformLutType nLutType, icBoolean bUseDtoBTags, icBoolean bUseBPC, SIccCmmEnvVars *pVars)
icStatusCMM IccCmmAttachProfileFile(CIccCmmHandle *pCmm, const char *szFname, icRenderingIntent nIntent, icXformInterp nInterp, CIccProfileHandle *pPcc, icXformLutType nLutType, icBoolean bUseDtoBTags, icBoolean bUseBPC, SIccCmmEnvVars *pVars)
icStatusCMM IccCmmGetInfo(CIccCmmHandle *pCmm, SIccCmmStruct *pCmmInfo)
CIccCmmHandle * IccCmmCreate(icColorSpaceSignature srcSpace, icColorSpaceSignature dstSpace, icBoolean bFirstIsInput)
icBoolean IccProfileGetHeader(CIccProfileHandle *pProfile, icHeader *pHeader)
void IccApplyFree(CIccApplyHandle *pApply)
void IccCmmFree(CIccCmmHandle *pCmm)
CIccProfileHandle * IccProfileReadHandle(const char *szFname)
icStatusCMM IccCmmApplyFloatMulti(CIccCmmHandle *pCmm, icFloatNumber *pTo, icFloatNumber *pFrom, icUInt32Number nPixels)
CIccProfileHandle * IccProfileOpenHandle(const char *szFname)
void CIccProfileHandle
Definition IccWrapper.h:78
void IccProfileFree(CIccProfileHandle *pProfile)
void CIccApplyHandle
Definition IccWrapper.h:77
icStatusCMM IccCmmBegin(CIccCmmHandle *pCmm)
icStatusCMM IccCmmApplyFloat(CIccCmmHandle *pCmm, icFloatNumber *pTo, icFloatNumber *pFrom)
icStatusCMM IccApplyApplyFloat(CIccApplyHandle *pApply, icFloatNumber *pTo, icFloatNumber *pFrom)
icStatusCMM IccApplyApplyFloatMulti(CIccApplyHandle *pApply, icFloatNumber *pTo, icFloatNumber *pFrom, icUInt32Number nPixels)
unsigned char icBoolean
Definition IccWrapper.h:93
unsigned int icUInt32Number
float icFloat32Number
unsigned short icUInt16Number
icColorSpaceSignature
Color Space Signatures.
icRenderingIntent
Rendering Intents, used in the profile header.
icSigCmmEnvVar
icSigCmmEnvVar * sigs
Definition IccWrapper.h:89
icUInt32Number nVars
Definition IccWrapper.h:88
icFloat32Number * vals
Definition IccWrapper.h:90
icColorSpaceSignature dstSpace
Definition IccWrapper.h:82
icUInt16Number srcSamples
Definition IccWrapper.h:83
icUInt16Number dstSamples
Definition IccWrapper.h:84
icColorSpaceSignature srcSpace
Definition IccWrapper.h:81
The Profile header.