IccMAX 2.1.27
Color Profile Tools
Loading...
Searching...
No Matches
IccWrapper.h File Reference
#include "IccDefs.h"
#include "IccProfile.h"
#include "IccCmm.h"
+ Include dependency graph for IccWrapper.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SIccCmmEnvVars
 
struct  SIccCmmStruct
 

Typedefs

typedef void CIccApplyHandle
 
typedef void CIccCmmHandle
 
typedef void CIccProfileHandle
 
typedef unsigned char icBoolean
 

Functions

ICCPROFLIB_API icStatusCMM IccApplyApplyFloat (CIccApplyHandle *pApply, icFloatNumber *pTo, icFloatNumber *pFrom)
 
ICCPROFLIB_API icStatusCMM IccApplyApplyFloatMulti (CIccApplyHandle *pApply, icFloatNumber *pTo, icFloatNumber *pFrom, icUInt32Number nPixels)
 
ICCPROFLIB_API void IccApplyFree (CIccApplyHandle *pApply)
 
ICCPROFLIB_API icStatusCMM IccCmmApplyFloat (CIccCmmHandle *pCmm, icFloatNumber *pTo, icFloatNumber *pFrom)
 
ICCPROFLIB_API icStatusCMM IccCmmApplyFloatMulti (CIccCmmHandle *pCmm, icFloatNumber *pTo, icFloatNumber *pFrom, icUInt32Number nPixels)
 
ICCPROFLIB_API icStatusCMM IccCmmAttachProfileFile (CIccCmmHandle *pCmm, const char *szFname, icRenderingIntent nIntent, icXformInterp nInterp, CIccProfileHandle *pPcc, icXformLutType nLutType, icBoolean bUseDtoBTags, icBoolean bUseBPC, SIccCmmEnvVars *pVars)
 
ICCPROFLIB_API icStatusCMM IccCmmAttachProfileHandle (CIccCmmHandle *pCmm, CIccProfileHandle *pProfile, icRenderingIntent nIntent, icXformInterp nInterp, CIccProfileHandle *pPcc, icXformLutType nLutType, icBoolean bUseDtoBTags, icBoolean bUseBPC, SIccCmmEnvVars *pVars)
 
ICCPROFLIB_API icStatusCMM IccCmmBegin (CIccCmmHandle *pCmm)
 
ICCPROFLIB_API CIccCmmHandleIccCmmCreate (icColorSpaceSignature srcSpace, icColorSpaceSignature dstSpace, icBoolean bFirstIsInput)
 
ICCPROFLIB_API void IccCmmFree (CIccCmmHandle *pCmm)
 
ICCPROFLIB_API CIccApplyHandleIccCmmGetApply (CIccCmmHandle *pCmm)
 
ICCPROFLIB_API icStatusCMM IccCmmGetInfo (CIccCmmHandle *pCmm, SIccCmmStruct *pCmmInfo)
 
ICCPROFLIB_API void IccProfileFree (CIccProfileHandle *pProfile)
 
ICCPROFLIB_API icBoolean IccProfileGetHeader (CIccProfileHandle *pProfile, icHeader *pHeader)
 
ICCPROFLIB_API CIccProfileHandleIccProfileOpenHandle (const char *szFname)
 
ICCPROFLIB_API CIccProfileHandleIccProfileReadHandle (const char *szFname)
 

Detailed Description

File: IccWrapper.h

Contains: Header file for C Wrapper interface functions for CIccProfile and CIccCmm classes.

Version: V1

Copyright: (c) see ICC Software License

Definition in file IccWrapper.h.


Data Structure Documentation

◆ SIccCmmEnvVars

struct SIccCmmEnvVars
Data Fields
icUInt32Number nVars
icSigCmmEnvVar * sigs
icFloat32Number * vals

◆ SIccCmmStruct

struct SIccCmmStruct
Data Fields
icUInt16Number dstSamples
icColorSpaceSignature dstSpace
icUInt16Number srcSamples
icColorSpaceSignature srcSpace

Typedef Documentation

◆ CIccApplyHandle

typedef void CIccApplyHandle

◆ CIccCmmHandle

typedef void CIccCmmHandle

◆ CIccProfileHandle

typedef void CIccProfileHandle

◆ icBoolean

typedef unsigned char icBoolean

Function Documentation

◆ IccApplyApplyFloat()

ICCPROFLIB_API icStatusCMM IccApplyApplyFloat ( CIccApplyHandle pApply,
icFloatNumber pTo,
icFloatNumber pFrom 
)
258{
259 if (!pApply || !pTo || !pFrom)
260 return icCmmStatBad;
261
262 CIccApplyCmm *pApplyPtr = (CIccApplyCmm*)pApply;
263
264 return pApplyPtr->Apply(pTo, pFrom);
265}
@ icCmmStatBad
Definition IccCmm.h:91

References icCmmStatBad.

◆ IccApplyApplyFloatMulti()

ICCPROFLIB_API icStatusCMM IccApplyApplyFloatMulti ( CIccApplyHandle pApply,
icFloatNumber pTo,
icFloatNumber pFrom,
icUInt32Number  nPixels 
)
268{
269 if (!pApply || !pTo || !pFrom)
270 return icCmmStatBad;
271
272 CIccApplyCmm *pApplyPtr = (CIccApplyCmm*)pApply;
273
274 return pApplyPtr->Apply(pTo, pFrom, nPixels);
275}

References icCmmStatBad.

◆ IccApplyFree()

ICCPROFLIB_API void IccApplyFree ( CIccApplyHandle pApply)
278{
279 if (pApply) {
280 CIccApplyCmm *pApplyPtr = (CIccApplyCmm*)pApply;
281 delete pApplyPtr;
282 }
283}

◆ IccCmmApplyFloat()

ICCPROFLIB_API icStatusCMM IccCmmApplyFloat ( CIccCmmHandle pCmm,
icFloatNumber pTo,
icFloatNumber pFrom 
)
230{
231 if (!pCmm || !pTo || !pFrom)
232 return icCmmStatBad;
233
234 CIccCmm *pCmmPtr = (CIccCmm*)pCmm;
235
236 return pCmmPtr->Apply(pTo, pFrom);
237}

References icCmmStatBad.

◆ IccCmmApplyFloatMulti()

ICCPROFLIB_API icStatusCMM IccCmmApplyFloatMulti ( CIccCmmHandle pCmm,
icFloatNumber pTo,
icFloatNumber pFrom,
icUInt32Number  nPixels 
)
240{
241 if (!pCmm || !pTo || !pFrom)
242 return icCmmStatBad;
243
244 CIccCmm *pCmmPtr = (CIccCmm*)pCmm;
245
246 return pCmmPtr->Apply(pTo, pFrom, nPixels);
247}

References icCmmStatBad.

◆ IccCmmAttachProfileFile()

ICCPROFLIB_API icStatusCMM IccCmmAttachProfileFile ( CIccCmmHandle pCmm,
const char *  szFname,
icRenderingIntent  nIntent,
icXformInterp  nInterp,
CIccProfileHandle pPcc,
icXformLutType  nLutType,
icBoolean  bUseDtoBTags,
icBoolean  bUseBPC,
SIccCmmEnvVars pVars 
)
140{
141 if (!pCmm)
142 return icCmmStatBad;
143
144 CIccCmm *pCmmPtr = (CIccCmm*)pCmm;
145
146 CIccCreateXformHintManager hint;
147 bool bUseHint = false;
148
149 if (bUseBPC) {
150 hint.AddHint(new CIccApplyBPCHint());
151 bUseHint = true;
152 }
153
154 if (pVars) {
155 hint.AddHint(new CIccCmmEnvVarWrapperHint(pVars));
156 bUseHint = true;
157 }
158
159 return pCmmPtr->AddXform(szFname, nIntent, nInterp, (CIccProfile*)pPcc, nLutType, bUseDtoBTags != 0, bUseHint ? &hint : NULL);
160}
class ICCPROFLIB_API CIccProfile
Definition IccPcc.h:80
Definition IccApplyBPC.h:89
Definition IccWrapper.cpp:117

References CIccCmmEnvVarWrapperHint::CIccCmmEnvVarWrapperHint(), CIccProfile, and icCmmStatBad.

+ Here is the call graph for this function:

◆ IccCmmAttachProfileHandle()

ICCPROFLIB_API icStatusCMM IccCmmAttachProfileHandle ( CIccCmmHandle pCmm,
CIccProfileHandle pProfile,
icRenderingIntent  nIntent,
icXformInterp  nInterp,
CIccProfileHandle pPcc,
icXformLutType  nLutType,
icBoolean  bUseDtoBTags,
icBoolean  bUseBPC,
SIccCmmEnvVars pVars 
)
171{
172 if (!pCmm)
173 return icCmmStatBad;
174
175 CIccCmm *pCmmPtr = (CIccCmm*)pCmm;
176 CIccProfile *pProfilePtr = (CIccProfile*)pProfile;
177
178 CIccCreateXformHintManager hint;
179 bool bUseHint = false;
180
181 if (bUseBPC) {
182 hint.AddHint(new CIccApplyBPCHint());
183 bUseHint = true;
184 }
185
186 if (pVars) {
187 hint.AddHint(new CIccCmmEnvVarWrapperHint(pVars));
188 bUseHint = true;
189 }
190
191 return pCmmPtr->AddXform(pProfilePtr, nIntent, nInterp, (CIccProfile*)pPcc, nLutType, bUseDtoBTags != 0, bUseHint ? &hint : NULL);
192}

References CIccCmmEnvVarWrapperHint::CIccCmmEnvVarWrapperHint(), CIccProfile, and icCmmStatBad.

+ Here is the call graph for this function:

◆ IccCmmBegin()

ICCPROFLIB_API icStatusCMM IccCmmBegin ( CIccCmmHandle pCmm)
195{
196 if (!pCmm)
197 return icCmmStatBad;
198
199 CIccCmm *pCmmPtr = (CIccCmm*)pCmm;
200
201 return pCmmPtr->Begin();
202}

References icCmmStatBad.

◆ IccCmmCreate()

ICCPROFLIB_API CIccCmmHandle * IccCmmCreate ( icColorSpaceSignature  srcSpace,
icColorSpaceSignature  dstSpace,
icBoolean  bFirstIsInput 
)
127{
128 return (CIccCmmHandle*)new CIccCmm(srcSpace, dstSpace, bFirstIsInput != 0);
129}
void CIccCmmHandle
Definition IccWrapper.h:76

◆ IccCmmFree()

ICCPROFLIB_API void IccCmmFree ( CIccCmmHandle pCmm)
250{
251 if (pCmm) {
252 CIccCmm *pCmmPtr = (CIccCmm*)pCmm;
253 delete pCmmPtr;
254 }
255}

◆ IccCmmGetApply()

ICCPROFLIB_API CIccApplyHandle * IccCmmGetApply ( CIccCmmHandle pCmm)
205{
206 if (!pCmm)
207 return NULL;
208
209 CIccCmm *pCmmPtr = (CIccCmm*)pCmm;
210
211 return (CIccApplyHandle*)pCmmPtr->GetApply();
212}
void CIccApplyHandle
Definition IccWrapper.h:77

◆ IccCmmGetInfo()

ICCPROFLIB_API icStatusCMM IccCmmGetInfo ( CIccCmmHandle pCmm,
SIccCmmStruct pCmmInfo 
)
215{
216 if (!pCmm || !pCmmInfo)
217 return icCmmStatBad;
218
219 CIccCmm *pCmmPtr = (CIccCmm*)pCmm;
220
221 pCmmInfo->srcSpace = pCmmPtr->GetSourceSpace();
222 pCmmInfo->srcSamples = pCmmPtr->GetSourceSamples();
223 pCmmInfo->dstSpace = pCmmPtr->GetDestSpace();
224 pCmmInfo->dstSamples = pCmmPtr->GetDestSamples();
225
226 return icCmmStatOk;
227}
@ icCmmStatOk
Definition IccCmm.h:92
icColorSpaceSignature dstSpace
Definition IccWrapper.h:82
icUInt16Number srcSamples
Definition IccWrapper.h:83
icUInt16Number dstSamples
Definition IccWrapper.h:84
icColorSpaceSignature srcSpace
Definition IccWrapper.h:81

References SIccCmmStruct::dstSamples, SIccCmmStruct::dstSpace, icCmmStatBad, icCmmStatOk, SIccCmmStruct::srcSamples, and SIccCmmStruct::srcSpace.

◆ IccProfileFree()

ICCPROFLIB_API void IccProfileFree ( CIccProfileHandle pProfile)
307{
308 if (pProfile) {
309 CIccProfileHandle *pProfilePtr = (CIccProfileHandle*)pProfile;
310 delete pProfilePtr;
311 }
312}
void CIccProfileHandle
Definition IccWrapper.h:78

◆ IccProfileGetHeader()

ICCPROFLIB_API icBoolean IccProfileGetHeader ( CIccProfileHandle pProfile,
icHeader pHeader 
)
295{
296 if (!pProfile || !pHeader)
297 return 0;
298
299 CIccProfile *pProfilePtr = (CIccProfile*)pProfile;
300
301 *pHeader = pProfilePtr->m_Header;
302
303 return 1;
304}

References CIccProfile.

◆ IccProfileOpenHandle()

ICCPROFLIB_API CIccProfileHandle * IccProfileOpenHandle ( const char *  szFname)
291{
292 return (CIccProfileHandle*)OpenIccProfile(szFname);
293}
CIccProfile * OpenIccProfile(const icChar *szFilename, bool bUseSubProfile)
Definition IccProfile.cpp:3387

References OpenIccProfile().

+ Here is the call graph for this function:

◆ IccProfileReadHandle()

ICCPROFLIB_API CIccProfileHandle * IccProfileReadHandle ( const char *  szFname)
286{
287 return (CIccProfileHandle*)ReadIccProfile(szFname);
288}
CIccProfile * ReadIccProfile(const icChar *szFilename, bool bUseSubProfile)
Definition IccProfile.cpp:3274

References ReadIccProfile().

+ Here is the call graph for this function: