83#ifdef USEREFICCMAXNAMESPACE
95#define icMaxDataStackSize 65535
238#ifndef ICC_BYTE_ORDER_LITTLE_ENDIAN
250 void Describe(std::string &desc,
int nVerboseness=100);
318#define icSigBeginBlockOp ((icSigCalcOp)0x7b202020)
319#define icSigEndBlockOp ((icSigCalcOp)0x7d202020)
320#define icSigBadOp ((icSigCalcOp)0)
328 bool GetNext(
bool bForceNoRefs =
false);
330 void SetPos(
const char *szText) { m_text = szText; }
338 std::string GetName()
const;
339 std::string GetReference()
const;
375 virtual void Describe(std::string &sDescription,
int nVerboseness=0,
int nBlanks=0);
378 virtual bool Write(
CIccIO *pIO);
382 virtual icValidateStatus Validate(std::string sigPath, std::string &sReport,
383 const CIccMpeCalculator* pChannelCalc=NULL,
const CIccProfile* pProfile = NULL)
const;
389 int CheckUnderflowOverflow(
SIccCalcOp *op,
icUInt32Number nOps,
int nArgs,
bool bCheckUnderflow, std::string &sReport)
const;
391 bool HasValidOperations(std::string &sReport)
const;
392 bool HasUnsupportedOperations(std::string &sReport,
const CIccProfile *pProfile)
const;
400 bool InitSelectOps();
405 void InsertBlanks(std::string &sDescription,
int nBlanks);
406 void DescribeSequence(std::string &sDescription,
410 const char *ParseFuncDef(
const char *szFuncDef,
CIccCalcOpList &m_list, std::string &sReport);
466 virtual void Describe(std::string &sDescription,
int nVerboseness);
469 virtual bool Write(
CIccIO *pIO);
478 virtual bool IsLateBinding()
const;
479 virtual bool IsLateBindingReflectance()
const;
556 virtual void Error(
const char *msg) = 0;
559#define icCalcDebuggerNone ((IIccCalcDebugger*)0)
560#define icCalcDebuggerConsole ((IIccCalcDebugger*)-1)
563#ifdef USEREFICCMAXNAMESPACE
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
@ icSigPolarToCartesianOp
@ icSigCartesianToPolarOp
@ icSigGreaterThanEqualOp
std::list< SIccCalcOp > CIccCalcOpList
CIccCalcOpList * CIccCalcOpListPtr
@ icFuncParseStackOverflow
@ icFuncParseStackUnderflow
@ icFuncParseEmptyFunction
@ icFuncParseInvalidOperation
@ icFuncParseInvalidChannel
std::vector< icFloatNumber > CIccFloatVector
std::list< CIccCalcOpListPtr > CIccCalcOpListPtrList
CIccCalculatorFunc * icCalculatorFuncPtr
unsigned int icUInt32Number
Class: CIccApplyMpeCalculator.
CIccFloatVector * GetStack()
icUInt32Number m_nSubElem
CIccFloatVector * GetScratch()
virtual const icChar * GetClassName() const
icFloatNumber * GetTemp()
const icFloatNumber * m_input
virtual icElemTypeSignature GetType() const
CIccSubCalcApply ** m_SubElem
const icFloatNumber * GetInput()
icFloatNumber * GetOutput()
CIccFloatVector * m_stack
CIccFloatVector * m_scratch
IIccCmmEnvVarLookup * m_pCmmEnvVarLookup
Class: CIccTagMultiProcessElement.
Class: CIccCalculatorFunc.
icUInt32Number m_nReserved
CIccMpeCalculator * m_pCalc
virtual const icChar * GetClassName() const
virtual CIccCalculatorFunc * NewCopy() const
virtual icChannelFuncSignature GetType() const
void SetPos(const char *szText)
Class: CIccMpeCalculator.
icUInt32Number m_nTempChannels
icCalculatorFuncPtr m_calcFunc
virtual icElemTypeSignature GetType() const
IIccCmmEnvVarLookup * m_pCmmEnvVarLookup
virtual CIccMpeCalculator * NewCopy() const
icUInt32Number m_nSubElem
CIccMultiProcessElement ** m_SubElem
virtual const icChar * GetClassName() const
bool SetSubElem(icUInt32Number idx, CIccMultiProcessElement *pElem)
Class: CIccMultiProcessElement.
CIccSubCalcApply(CIccApplyMpe *pApplyMpe)
icUInt16Number NumInputChannels()
void Apply(icFloatNumber *pDestPixel, const icFloatNumber *pSrcPixel)
icUInt16Number NumOutputChannels()
Class: CIccTagMultiProcessElement.
virtual void EndApply()=0
virtual bool BeforeOp(SIccCalcOp *op, SIccOpState &os, SIccCalcOp *ops)=0
virtual bool AfterOp(SIccCalcOp *op, SIccOpState &os, SIccCalcOp *ops)=0
virtual ~IIccCalcDebugger()
virtual void Error(const char *msg)=0
virtual void BeginApply()=0
virtual int ArgsUsed(CIccMpeCalculator *pCalc, SIccCalcOp &op)
virtual void Describe(SIccCalcOp &op, std::string &desc, int nVerboseness)
virtual int ArgsPushed(CIccMpeCalculator *pCalc, SIccCalcOp &op)
virtual bool IsValid(CIccMpeCalculator *pCalc, SIccCalcOp &op)
virtual bool Exec(SIccCalcOp *op, SIccOpState &s)
static bool IsValidOp(icSigCalcOp sig)
Name: SIccCalcOp::IsValidOp.
icUInt16Number ArgsUsed(CIccMpeCalculator *pCalc)
Name: SIccCalcOp::ArgsUsed.
void Describe(std::string &desc, int nVerboseness=100)
Name: SIccCalcOp::Describe.
icUInt16Number ArgsPushed(CIccMpeCalculator *pCalc)
Name: SIccCalcOp::ArgsPushed.
CIccFloatVector * pScratch
const icFloatNumber * pixel
CIccApplyMpeCalculator * pApply