IccMAX 2.1.27
Color Profile Tools
Loading...
Searching...
No Matches
CIccCfgProfile Class Reference

#include <IccCmmConfig.h>

Public Member Functions

 CIccCfgProfile ()
 
virtual ~CIccCfgProfile ()
 
bool fromJson (json obj, bool bReset=false)
 
void reset ()
 
void toJson (json &obj) const
 

Data Fields

bool m_adjustPcsLuminance
 
icCmmEnvSigMap m_iccEnvVars
 
std::string m_iccFile
 
int m_intent
 
icXformInterp m_interpolation
 
icCmmEnvSigMap m_pccEnvVars
 
std::string m_pccFile
 
icXformLutType m_transform
 
bool m_useBPC
 
bool m_useD2BxB2Dx
 
bool m_useEmbedded
 
bool m_useHToS
 
bool m_useV5SubProfile
 

Detailed Description

Constructor & Destructor Documentation

◆ CIccCfgProfile()

CIccCfgProfile::CIccCfgProfile ( )
545{
546 reset();
547}
void reset()
Definition IccCmmConfig.cpp:549

References reset().

Referenced by CIccCfgProfileSequence::fromArgs().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ~CIccCfgProfile()

virtual CIccCfgProfile::~CIccCfgProfile ( )
inlinevirtual
107{}

Member Function Documentation

◆ fromJson()

bool CIccCfgProfile::fromJson ( json  obj,
bool  bReset = false 
)
620{
621 if (!j.is_object())
622 return false;
623
624 if (bReset)
625 reset();
626
627 jsonToValue(j["iccFile"], m_iccFile);
628
630
631 std::string str;
632 if (jsonToValue(j["transform"], str)) {
633 int i;
634 for (i = 0; icTranNames[i]; i++) {
635 if (str == icTranNames[i])
636 break;
637 }
639 }
640
641 jsonToValue(j["iccEnvVars"], m_iccEnvVars);
642
643 jsonToValue(j["pccFile"], m_pccFile);
644 jsonToValue(j["pccEnvVars"], m_pccEnvVars);
645
646 jsonToValue(j["adjustPcsLuminance"], m_adjustPcsLuminance);
647 jsonToValue(j["useBPC"], m_useBPC);
648 jsonToValue(j["useHToS"], m_useHToS);
649 jsonToValue(j["useV5SubProfile"], m_useV5SubProfile);
650
651 if (jsonToValue(j["transform"], str)) {
652 int i;
653 for (i = 0; icInterpNames[i]; i++) {
654 if (str == icInterpNames[i])
655 break;
656 }
658 }
659
660 return true;
661}
icXformLutType
CMM Xform LUT types.
Definition IccCmm.h:125
static const char * icTranNames[]
Definition IccCmmConfig.cpp:589
static bool icGetJsonRenderingIntent(const json &j, int &v)
Definition IccCmmConfig.cpp:565
static icXformInterp icInterpValues[]
Definition IccCmmConfig.cpp:599
static icXformLutType icTranValues[]
Definition IccCmmConfig.cpp:593
static const char * icInterpNames[]
Definition IccCmmConfig.cpp:597
bool jsonToValue(const json &j, T &nValue)
Definition IccJsonUtil.cpp:200
icCmmEnvSigMap m_pccEnvVars
Definition IccCmmConfig.h:119
icXformInterp m_interpolation
Definition IccCmmConfig.h:125
bool m_useHToS
Definition IccCmmConfig.h:123
int m_intent
Definition IccCmmConfig.h:115
bool m_useV5SubProfile
Definition IccCmmConfig.h:124
bool m_useBPC
Definition IccCmmConfig.h:122
std::string m_iccFile
Definition IccCmmConfig.h:114
std::string m_pccFile
Definition IccCmmConfig.h:118
icXformLutType m_transform
Definition IccCmmConfig.h:116
icCmmEnvSigMap m_iccEnvVars
Definition IccCmmConfig.h:117
bool m_adjustPcsLuminance
Definition IccCmmConfig.h:121

References icGetJsonRenderingIntent(), icInterpNames, icInterpValues, icTranNames, icTranValues, jsonToValue(), jsonToValue(), m_adjustPcsLuminance, m_iccEnvVars, m_iccFile, m_intent, m_interpolation, m_pccEnvVars, m_pccFile, m_transform, m_useBPC, m_useHToS, m_useV5SubProfile, and reset().

Referenced by CIccCfgProfileSequence::fromJson().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reset()

void CIccCfgProfile::reset ( )
550{
551 m_iccFile.clear();
554 m_iccEnvVars.clear();
555 m_pccFile.clear();
556 m_pccEnvVars.clear();
557 m_adjustPcsLuminance = false;
558 m_useD2BxB2Dx = false;
559 m_useBPC = false;
560 m_useHToS = false;
561 m_useV5SubProfile = false;
563}
#define icUnknownIntent
Definition icProfileHeader.h:1152
@ icXformLutColor
Definition IccCmm.h:126
@ icInterpTetrahedral
Definition IccCmm.h:115
bool m_useD2BxB2Dx
Definition IccCmmConfig.h:120

References icInterpTetrahedral, icXformLutColor, m_adjustPcsLuminance, m_iccEnvVars, m_iccFile, m_intent, m_interpolation, m_pccEnvVars, m_pccFile, m_transform, m_useBPC, m_useD2BxB2Dx, m_useHToS, and m_useV5SubProfile.

Referenced by CIccCfgProfile(), and fromJson().

+ Here is the caller graph for this function:

◆ toJson()

void CIccCfgProfile::toJson ( json obj) const
677{
678 if (m_iccFile.size())
679 j["iccProfile"] = m_iccFile;
680 json iccMap;
681 if (jsonFromEnvMap(iccMap, m_iccEnvVars))
682 j["iccEnvVars"] = iccMap;
683 if (m_pccFile.size())
684 j["pccFile"] = m_pccFile;
685 json pccMap;
686 if (jsonFromEnvMap(pccMap, m_pccEnvVars))
687 j["pccEnvVars"] = pccMap;
689 j["adjustPcsLuminance"] = m_adjustPcsLuminance;
690 if (m_useBPC)
691 j["useBPC"] = m_useBPC;
692 if (m_useHToS)
693 j["useHToS"] = m_useHToS;
695 j["useV5SubProfile"] = m_useV5SubProfile;
696 int i;
697 for (i = 0; icInterpNames[i]; i++)
699 break;
701 j["interpolation"] = icInterpNames;
702}
@ icInterpLinear
Definition IccCmm.h:114
static bool jsonFromEnvMap(json &j, const icCmmEnvSigMap &map)
Definition IccCmmConfig.cpp:663
nlohmann::json json
Definition IccJsonUtil.h:81

References icInterpLinear, icInterpNames, icInterpValues, jsonFromEnvMap(), m_adjustPcsLuminance, m_iccEnvVars, m_iccFile, m_interpolation, m_pccEnvVars, m_pccFile, m_useBPC, m_useHToS, and m_useV5SubProfile.

Referenced by CIccCfgProfileSequence::toJson().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ m_adjustPcsLuminance

bool CIccCfgProfile::m_adjustPcsLuminance

◆ m_iccEnvVars

icCmmEnvSigMap CIccCfgProfile::m_iccEnvVars

◆ m_iccFile

std::string CIccCfgProfile::m_iccFile

◆ m_intent

int CIccCfgProfile::m_intent

◆ m_interpolation

icXformInterp CIccCfgProfile::m_interpolation

◆ m_pccEnvVars

icCmmEnvSigMap CIccCfgProfile::m_pccEnvVars

Referenced by fromJson(), main(), main(), reset(), and toJson().

◆ m_pccFile

std::string CIccCfgProfile::m_pccFile

◆ m_transform

icXformLutType CIccCfgProfile::m_transform

◆ m_useBPC

bool CIccCfgProfile::m_useBPC

◆ m_useD2BxB2Dx

bool CIccCfgProfile::m_useD2BxB2Dx

◆ m_useEmbedded

bool CIccCfgProfile::m_useEmbedded

◆ m_useHToS

bool CIccCfgProfile::m_useHToS

◆ m_useV5SubProfile

bool CIccCfgProfile::m_useV5SubProfile

The documentation for this class was generated from the following files: