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

#include <IccUtil.h>

Public Member Functions

 CIccInfo ()
 
virtual ~CIccInfo ()
 
icValidateStatus CheckData (std::string &sReport, const icDateTimeNumber &dateTime, std::string sDesc="")
 
icValidateStatus CheckData (std::string &sReport, const icFloatXYZNumber &XYZ, std::string sDesc="")
 
icValidateStatus CheckData (std::string &sReport, const icSpectralRange &range, std::string sDesc="")
 
icValidateStatus CheckData (std::string &sReport, const icXYZNumber &XYZ, std::string sDesc="")
 
icValidateStatus CheckLuminance (std::string &sReport, const icFloatXYZNumber &XYZ, std::string sDesc="")
 
const icCharGetArraySigName (icArraySignature sig)
 
const icCharGetCmmSigName (icCmmSignature sig)
 
const icCharGetColorantEncoding (icColorantEncoding colorant)
 
const icCharGetColorimetricIntentImageStateName (icColorimetricIntentImageStateSignature sig)
 
const icCharGetColorSpaceSigName (icColorSpaceSignature sig)
 
const icCharGetDeviceAttrName (icUInt64Number val)
 
const icCharGetElementTypeSigName (icElemTypeSignature sig)
 
const icCharGetIlluminantName (icIlluminant val)
 
const icCharGetMeasurementFlareName (icMeasurementFlare val)
 
const icCharGetMeasurementGeometryName (icMeasurementGeometry val)
 
const icCharGetMeasurementUnit (icSignature sig)
 
const icCharGetPathEntrySigName (icUInt32Number val)
 
const icCharGetPlatformSigName (icPlatformSignature sig)
 
const icCharGetProfileClassSigName (icProfileClassSignature sig)
 
const icCharGetProfileFlagsName (icUInt32Number val, bool bCheckMCS=false)
 
const icCharGetProfileID (icProfileID *profileID)
 
const icCharGetReferenceMediumGamutSigNameName (icReferenceMediumGamutSignature sig)
 
const icCharGetRenderingIntentName (icRenderingIntent val, bool bIsV5=false)
 
const icCharGetSigName (icUInt32Number val)
 
std::string GetSigPathName (std::string sigPath)
 
const icCharGetSpectralColorSigName (icSpectralColorSignature sig)
 
const icCharGetSpotShapeName (icSpotShape val)
 
const icCharGetStandardObserverName (icStandardObserver val)
 
const icCharGetStructSigName (icStructSignature sig)
 
const icCharGetSubClassVersionName (icUInt32Number val)
 
const icCharGetTagSigName (icTagSignature sig)
 
const icCharGetTagTypeSigName (icTagTypeSignature sig)
 
const icCharGetTechnologySigName (icTechnologySignature sig)
 
const icCharGetUnknownName (icUInt32Number val)
 
const icCharGetVersionName (icUInt32Number val)
 
bool IsProfileIDCalculated (icProfileID *profileID)
 
bool IsValidSpace (icColorSpaceSignature sig)
 
bool IsValidSpectralSpace (icColorSpaceSignature sig)
 

Protected Attributes

std::string * m_str
 
icChar m_szSigStr [128]
 
icChar m_szStr [128]
 

Detailed Description

Type: Class

Purpose: This is a utility class which can be used to get profile info for printing. The member functions are used to convert signatures and other enum values to character strings for printing.

Constructor & Destructor Documentation

◆ CIccInfo()

CIccInfo::CIccInfo ( )
1406 : m_szStr{}, m_szSigStr{}
1407{
1408 m_str = new std::string;
1409}
icChar m_szStr[128]
Definition IccUtil.h:358
icChar m_szSigStr[128]
Definition IccUtil.h:359
std::string * m_str
Definition IccUtil.h:360

References m_szStr.

◆ ~CIccInfo()

CIccInfo::~CIccInfo ( )
virtual
1412{
1413 delete m_str;
1414}

References m_str.

Member Function Documentation

◆ CheckData() [1/4]

icValidateStatus CIccInfo::CheckData ( std::string &  sReport,
const icDateTimeNumber dateTime,
std::string  sDesc = "" 
)
2415{
2417
2418 struct tm *newtime;
2419 time_t long_time;
2420
2421 time( &long_time ); /* Get time as long integer. */
2422 newtime = localtime( &long_time );
2423
2424 icChar buf[128];
2425 if (dateTime.year<1992) {
2426 sReport += icMsgValidateWarning;
2427 sReport += sDesc;
2428 sprintf(buf," - %u: Invalid year!\n",dateTime.year);
2429 sReport += buf;
2430 rv = icValidateWarning;
2431 }
2432
2433 int year = newtime->tm_year+1900;
2434 if (newtime->tm_mon==11 && newtime->tm_mday==31) {
2435 if (dateTime.year>(year+1)) {
2436 sReport += icMsgValidateWarning;
2437 sReport += sDesc;
2438 sprintf(buf," - %u: Invalid year!\n",dateTime.year);
2439 sReport += buf;
2441 }
2442 }
2443 else {
2444 if (dateTime.year>year) {
2445 sReport += icMsgValidateWarning;
2446 sReport += sDesc;
2447 sprintf(buf," - %u: Invalid year!\n",dateTime.year);
2448 sReport += buf;
2450 }
2451 }
2452
2453 if (dateTime.month<1 || dateTime.month>12) {
2454 sReport += icMsgValidateWarning;
2455 sReport += sDesc;
2456 sprintf(buf," - %u: Invalid month!\n",dateTime.month);
2457 sReport += buf;
2459 }
2460
2461 if (dateTime.day<1 || dateTime.day>31) {
2462 sReport += icMsgValidateWarning;
2463 sReport += sDesc;
2464 sprintf(buf," - %u: Invalid day!\n",dateTime.day);
2465 sReport += buf;
2467 }
2468
2469 if (dateTime.month==2) {
2470 if (dateTime.day>29) {
2471 sReport += icMsgValidateWarning;
2472 sReport += sDesc;
2473 sprintf(buf," - %u: Invalid day for February!\n",dateTime.day);
2474 sReport += buf;
2476 }
2477
2478 if (dateTime.day==29) {
2479 if ((dateTime.year%4)!=0) {
2480 sReport += icMsgValidateWarning;
2481 sReport += sDesc;
2482 sprintf(buf," - %u: Invalid day for February, year is not a leap year(%u)!\n",dateTime.day, dateTime.year);
2483 sReport += buf;
2485 }
2486 }
2487 }
2488
2489 if (dateTime.hours>23) {
2490 sReport += icMsgValidateWarning;
2491 sReport += sDesc;
2492 sprintf(buf," - %u: Invalid hour!\n",dateTime.hours);
2493 sReport += buf;
2495 }
2496
2497 if (dateTime.minutes>59) {
2498 sReport += icMsgValidateWarning;
2499 sReport += sDesc;
2500 sprintf(buf," - %u: Invalid minutes!\n",dateTime.minutes);
2501 sReport += buf;
2503 }
2504
2505 if (dateTime.seconds>59) {
2506 sReport += icMsgValidateWarning;
2507 sReport += sDesc;
2508 sprintf(buf," - %u: Invalid seconds!\n",dateTime.hours);
2509 sReport += buf;
2511 }
2512
2513 return rv;
2514}
icUInt16Number year
Definition icProfileHeader.h:1419
icUInt16Number month
Definition icProfileHeader.h:1420
icUInt16Number minutes
Definition icProfileHeader.h:1423
icUInt16Number seconds
Definition icProfileHeader.h:1424
icUInt16Number hours
Definition icProfileHeader.h:1422
icUInt16Number day
Definition icProfileHeader.h:1421
char icChar
Definition IccDefs.h:110
icValidateStatus
Definition IccDefs.h:119
@ icValidateOK
Definition IccDefs.h:120
@ icValidateWarning
Definition IccDefs.h:121
ICCPROFLIB_API const char * icMsgValidateWarning
Definition IccUtil.cpp:90
ICCPROFLIB_API icValidateStatus icMaxStatus(icValidateStatus s1, icValidateStatus s2)
Definition IccUtil.cpp:244

References icDateTimeNumber::day, icDateTimeNumber::hours, icMaxStatus(), icMsgValidateWarning, icValidateOK, icValidateWarning, icDateTimeNumber::minutes, icDateTimeNumber::month, icDateTimeNumber::seconds, and icDateTimeNumber::year.

Referenced by CIccTagDateTime::Validate().

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

◆ CheckData() [2/4]

icValidateStatus CIccInfo::CheckData ( std::string &  sReport,
const icFloatXYZNumber XYZ,
std::string  sDesc = "" 
)
2366{
2368
2369 if (XYZ.X < 0) {
2370 sReport += icMsgValidateNonCompliant;
2371 sReport += sDesc;
2372 sReport += " - FloatXYZNumber: Negative X value!\n";
2374 }
2375
2376 if (XYZ.Y < 0) {
2377 sReport += icMsgValidateNonCompliant;
2378 sReport += sDesc;
2379 sReport += " - FloatXYZNumber: Negative Y value!\n";
2381 }
2382
2383 if (XYZ.Z < 0) {
2384 sReport += icMsgValidateNonCompliant;
2385 sReport += sDesc;
2386 sReport += " - FloatXYZNumber: Negative Z value!\n";
2388 }
2389
2390 return rv;
2391}
icFloat32Number Z
Definition icProfileHeader.h:1443
icFloat32Number Y
Definition icProfileHeader.h:1442
icFloat32Number X
Definition icProfileHeader.h:1441
@ icValidateNonCompliant
Definition IccDefs.h:122
ICCPROFLIB_API const char * icMsgValidateNonCompliant
Definition IccUtil.cpp:91

References icMaxStatus(), icMsgValidateNonCompliant, icValidateNonCompliant, icValidateOK, icFloatXYZNumber::X, icFloatXYZNumber::Y, and icFloatXYZNumber::Z.

Referenced by CIccTagSpectralViewingConditions::Validate().

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

◆ CheckData() [3/4]

icValidateStatus CIccInfo::CheckData ( std::string &  sReport,
const icSpectralRange range,
std::string  sDesc = "" 
)
2394{
2396
2397 if (icF16toF(range.end)<=icF16toF(range.start)) {
2398 sReport += icMsgValidateNonCompliant;
2399 sReport += sDesc;
2400 sReport += " - spectralRange: end wavelength must be greater than start wavelength!\n";
2402 }
2403
2404 if (range.steps<2) {
2405 sReport += icMsgValidateNonCompliant;
2406 sReport += sDesc;
2407 sReport += " - spectralRange: wavelength range must have at least two steps!\n";
2409 }
2410
2411 return rv;
2412}
icUInt16Number steps
Definition icProfileHeader.h:1469
icFloat16Number start
Definition icProfileHeader.h:1467
icFloat16Number end
Definition icProfileHeader.h:1468
ICCPROFLIB_API icFloat32Number icF16toF(icFloat16Number num)
Definition IccUtil.cpp:629

References icSpectralRange::end, icF16toF(), icMaxStatus(), icMsgValidateNonCompliant, icValidateNonCompliant, icValidateOK, icSpectralRange::start, and icSpectralRange::steps.

Referenced by CIccTagSpectralDataInfo::Validate(), and CIccTagSpectralViewingConditions::Validate().

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

◆ CheckData() [4/4]

icValidateStatus CIccInfo::CheckData ( std::string &  sReport,
const icXYZNumber XYZ,
std::string  sDesc = "" 
)
2338{
2340
2341 if (XYZ.X < 0) {
2342 sReport += icMsgValidateNonCompliant;
2343 sReport += sDesc;
2344 sReport += " - XYZNumber: Negative X value!\n";
2346 }
2347
2348 if (XYZ.Y < 0) {
2349 sReport += icMsgValidateNonCompliant;
2350 sReport += sDesc;
2351 sReport += " - XYZNumber: Negative Y value!\n";
2353 }
2354
2355 if (XYZ.Z < 0) {
2356 sReport += icMsgValidateNonCompliant;
2357 sReport += sDesc;
2358 sReport += " - XYZNumber: Negative Z value!\n";
2360 }
2361
2362 return rv;
2363}
icS15Fixed16Number Y
Definition icProfileHeader.h:1430
icS15Fixed16Number Z
Definition icProfileHeader.h:1431
icS15Fixed16Number X
Definition icProfileHeader.h:1429

References icMaxStatus(), icMsgValidateNonCompliant, icValidateNonCompliant, icValidateOK, icXYZNumber::X, icXYZNumber::Y, and icXYZNumber::Z.

Referenced by CIccResponseCurveStruct::Validate(), CIccTagXYZ::Validate(), and CIccTagViewingConditions::Validate().

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

◆ CheckLuminance()

icValidateStatus CIccInfo::CheckLuminance ( std::string &  sReport,
const icFloatXYZNumber XYZ,
std::string  sDesc = "" 
)
2517{
2519
2520 if (fabs(XYZ.Y - 1.0) < 0.01) {
2521 sReport += icMsgValidateWarning;
2522 sReport += sDesc;
2523 sReport += " - XYZNumber appears to be normalized! Y value should reflect absolute luminance.\n";
2524 rv = icValidateWarning;
2525 }
2526
2527 return rv;
2528}

References icMsgValidateWarning, icValidateOK, icValidateWarning, and icFloatXYZNumber::Y.

Referenced by CIccTagSpectralViewingConditions::Validate().

+ Here is the caller graph for this function:

◆ GetArraySigName()

const icChar * CIccInfo::GetArraySigName ( icArraySignature  sig)
1513{
1515 return m_str->c_str();
1516 }
1517 return GetUnknownName(sig);
1518}
const icChar * GetUnknownName(icUInt32Number val)
Definition IccUtil.cpp:1416
static bool GetArraySigName(std::string &arrayName, icArraySignature arrayTypeSig, bool bFillUnknown=true)
Definition IccArrayFactory.h:254

References CIccArrayCreator::GetArraySigName(), GetUnknownName(), and m_str.

+ Here is the call graph for this function:

◆ GetCmmSigName()

const icChar * CIccInfo::GetCmmSigName ( icCmmSignature  sig)
1875{
1876 switch (sig) {
1877 case icSigAdobe:
1878 return "Adobe";
1879
1880 case icSigAgfa:
1881 return "Agfa";
1882
1883 case icSigApple:
1884 return "Apple";
1885
1886 case icSigColorGear:
1887 return "ColorGear";
1888
1889 case icSigColorGearLite:
1890 return "ColorGear Lite";
1891
1892 case icSigColorGearC:
1893 return "ColorGear C";
1894
1895 case icSigEFI:
1896 return "EFI";
1897
1898 case icSigExactScan:
1899 return "ExactScan";
1900
1901 case icSigFujiFilm:
1902 return "Fuji Film";
1903
1904 case icSigHarlequinRIP:
1905 return "Harlequin RIP";
1906
1907 case icSigArgyllCMS:
1908 return "Argyll CMS";
1909
1910 case icSigLogoSync:
1911 return "LogoSync";
1912
1913 case icSigHeidelberg:
1914 return "Heidelberg";
1915
1916 case icSigLittleCMS:
1917 return "Little CMS";
1918
1919 case icSigKodak:
1920 return "Kodak";
1921
1922 case icSigKonicaMinolta:
1923 return "Konica Minolta";
1924
1925 case icSigMutoh:
1926 return "Mutoh";
1927
1928 case icSigRefIccMAX:
1929 return "RefIccMAX";
1930
1931 case icSigDemoIccMAX:
1932 return "DemoIccMAX";
1933
1934 case icSigRolfGierling:
1935 return "Rolf Gierling Multitools";
1936
1937 case icSigSampleICC:
1938 return "SampleIcc";
1939
1940 case icSigToshiba:
1941 return "Toshiba";
1942
1944 return "the imaging factory";
1945
1946 case icSigVivo:
1947 return "Vivo";
1948
1949 case icSigWareToGo:
1950 return "Ware To Go";
1951
1952 case icSigMicrosoft:
1953 return "Windows Color System";
1954
1955 case icSigZoran:
1956 return "Zoran";
1957
1958 default:
1959 return GetUnknownName(sig);
1960 }
1961}
@ icSigMicrosoft
Definition icProfileHeader.h:973
@ icSigDemoIccMAX
Definition icProfileHeader.h:1006
@ icSigAgfa
Definition icProfileHeader.h:987
@ icSigColorGearC
Definition icProfileHeader.h:991
@ icSigColorGear
Definition icProfileHeader.h:989
@ icSigTheImagingFactory
Definition icProfileHeader.h:1010
@ icSigLogoSync
Definition icProfileHeader.h:997
@ icSigRolfGierling
Definition icProfileHeader.h:1007
@ icSigColorGearLite
Definition icProfileHeader.h:990
@ icSigKonicaMinolta
Definition icProfileHeader.h:1001
@ icSigKodak
Definition icProfileHeader.h:1000
@ icSigSampleICC
Definition icProfileHeader.h:1008
@ icSigArgyllCMS
Definition icProfileHeader.h:996
@ icSigHarlequinRIP
Definition icProfileHeader.h:995
@ icSigToshiba
Definition icProfileHeader.h:1009
@ icSigExactScan
Definition icProfileHeader.h:993
@ icSigHeidelberg
Definition icProfileHeader.h:998
@ icSigMutoh
Definition icProfileHeader.h:1003
@ icSigEFI
Definition icProfileHeader.h:992
@ icSigZoran
Definition icProfileHeader.h:1013
@ icSigFujiFilm
Definition icProfileHeader.h:994
@ icSigAdobe
Definition icProfileHeader.h:986
@ icSigLittleCMS
Definition icProfileHeader.h:999
@ icSigRefIccMAX
Definition icProfileHeader.h:1005
@ icSigVivo
Definition icProfileHeader.h:1011
@ icSigApple
Definition icProfileHeader.h:988
@ icSigWareToGo
Definition icProfileHeader.h:1012

References GetUnknownName(), icSigAdobe, icSigAgfa, icSigApple, icSigArgyllCMS, icSigColorGear, icSigColorGearC, icSigColorGearLite, icSigDemoIccMAX, icSigEFI, icSigExactScan, icSigFujiFilm, icSigHarlequinRIP, icSigHeidelberg, icSigKodak, icSigKonicaMinolta, icSigLittleCMS, icSigLogoSync, icSigMicrosoft, icSigMutoh, icSigRefIccMAX, icSigRolfGierling, icSigSampleICC, icSigTheImagingFactory, icSigToshiba, icSigVivo, icSigWareToGo, and icSigZoran.

Referenced by CIccTagEmbeddedProfile::Describe(), and main().

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

◆ GetColorantEncoding()

const icChar * CIccInfo::GetColorantEncoding ( icColorantEncoding  colorant)
2318{
2319 switch(colorant) {
2320 case icColorantITU:
2321 return "ITU-R BT.709";
2322
2323 case icColorantSMPTE:
2324 return "SMPTE RP145-1994";
2325
2326 case icColorantEBU:
2327 return "EBU Tech.3213-E";
2328
2329 case icColorantP22:
2330 return "P22";
2331
2332 default:
2333 return "Customized Encoding";
2334 }
2335}
@ icColorantEBU
Definition icProfileHeader.h:1299
@ icColorantITU
Definition icProfileHeader.h:1297
@ icColorantSMPTE
Definition icProfileHeader.h:1298
@ icColorantP22
Definition icProfileHeader.h:1300

References icColorantEBU, icColorantITU, icColorantP22, and icColorantSMPTE.

Referenced by CIccTagChromaticity::Describe(), and CIccTagXmlChromaticity::ToXml().

+ Here is the caller graph for this function:

◆ GetColorimetricIntentImageStateName()

const icChar * CIccInfo::GetColorimetricIntentImageStateName ( icColorimetricIntentImageStateSignature  sig)
1977{
1978 switch (sig) {
1980 return "Scene Colorimetry Estimates";
1981
1983 return "Scene Appearance Estimates";
1984
1986 return "Focal Plane Colorimetry Estimates";
1987
1989 return "Reflection Hardcopy Original Colorimetry";
1990
1992 return "Reflection Print Output Colorimetry";
1993
1994 default:
1995 return GetUnknownName(sig);
1996 }
1997}
@ icSigSceneColorimetryEstimates
Definition icProfileHeader.h:1031
@ icSigReflectionPrintOutputColorimetry
Definition icProfileHeader.h:1035
@ icSigFocalPlaneColorimetryEstimates
Definition icProfileHeader.h:1033
@ icSigReflectionHardcopyOriginalColorimetry
Definition icProfileHeader.h:1034
@ icSigSceneAppearanceEstimates
Definition icProfileHeader.h:1032

References GetUnknownName(), icSigFocalPlaneColorimetryEstimates, icSigReflectionHardcopyOriginalColorimetry, icSigReflectionPrintOutputColorimetry, icSigSceneAppearanceEstimates, and icSigSceneColorimetryEstimates.

Referenced by GetSigName().

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

◆ GetColorSpaceSigName()

const icChar * CIccInfo::GetColorSpaceSigName ( icColorSpaceSignature  sig)
1641{
1642 switch (sig) {
1643 case icSigNoColorData:
1644 return "NoData";
1645
1646 case icSigXYZData:
1647 case icSigDevXYZData:
1648 return "XYZData";
1649
1650 case icSigLabData:
1651 case icSigDevLabData:
1652 return "LabData";
1653
1654 case icSigLuvData:
1655 return "LuvData";
1656
1657 case icSigYCbCrData:
1658 return "YCbCrData";
1659
1660 case icSigYxyData:
1661 return "YxyData";
1662
1663 case icSigRgbData:
1664 return "RgbData";
1665
1666 case icSigGrayData:
1667 return "GrayData";
1668
1669 case icSigHsvData:
1670 return "HsvData";
1671
1672 case icSigHlsData:
1673 return "HlsData";
1674
1675 case icSigCmykData:
1676 return "CmykData";
1677
1678 case icSigCmyData:
1679 return "CmyData";
1680
1681 case icSigMCH1Data:
1682 return "MCH1Data/1ColorData";
1683
1684 case icSigMCH2Data:
1685 return "MCH2Data/2ColorData";
1686
1687 case icSigMCH3Data:
1688 return "MCH3Data/3ColorData";
1689
1690 case icSigMCH4Data:
1691 return "MCH4Data/4ColorData";
1692
1693 case icSigMCH5Data:
1694 return "MCH5Data/5ColorData";
1695
1696 case icSigMCH6Data:
1697 return "MCH6Data/6ColorData";
1698
1699 case icSigMCH7Data:
1700 return "MCH7Data/7ColorData";
1701
1702 case icSigMCH8Data:
1703 return "MCH8Data/8ColorData";
1704
1705 case icSigMCH9Data:
1706 return "MCH9Data/9ColorData";
1707
1708 case icSigMCHAData:
1709 return "MCHAData/10ColorData";
1710
1711 case icSigMCHBData:
1712 return "MCHBData/11ColorData";
1713
1714 case icSigMCHCData:
1715 return "MCHCData/12ColorData";
1716
1717 case icSigMCHDData:
1718 return "MCHDData/13ColorData";
1719
1720 case icSigMCHEData:
1721 return "MCHEData/14ColorData";
1722
1723 case icSigMCHFData:
1724 return "MCHFData/15ColorData";
1725
1726 case icSigGamutData:
1727 return "GamutData";
1728
1729 case icSigNamedData:
1730 return "NamedData";
1731
1732 default:
1733 switch(icGetColorSpaceType(sig)) {
1734 case icSigNChannelData:
1735 sprintf(m_szStr, "0x%04XChannelData", icNumColorSpaceChannels(sig));
1736 return m_szStr;
1737
1739 sprintf(m_szStr, "0x%04XChannelReflectanceData", icNumColorSpaceChannels(sig));
1740 return m_szStr;
1741
1743 sprintf(m_szStr, "0x%04XChannelTransmissionData", icNumColorSpaceChannels(sig));
1744 return m_szStr;
1745
1747 sprintf(m_szStr, "0x%04XChannelRadiantData", icNumColorSpaceChannels(sig));
1748 return m_szStr;
1749
1751 sprintf(m_szStr, "0x%04XChannelBiDirReflectanceData", icNumColorSpaceChannels(sig));
1752 return m_szStr;
1753
1755 sprintf(m_szStr, "0x%04XChannelSparseMatrixReflectanceData", icNumColorSpaceChannels(sig));
1756 return m_szStr;
1757
1758 default:
1759 icUInt32Number nChan = icGetSpaceSamples(sig);
1760 if (nChan>0) {
1761 sprintf(m_szStr, "0x%XColorData", nChan);
1762 return m_szStr;
1763 }
1764 return GetUnknownName(sig);
1765 }
1766 }
1767}
#define icNumColorSpaceChannels(sig)
Definition icProfileHeader.h:934
#define icGetColorSpaceType(sig)
Definition icProfileHeader.h:932
@ icSigLabData
Definition icProfileHeader.h:847
@ icSigLuvData
Definition icProfileHeader.h:848
@ icSigMCHCData
Definition icProfileHeader.h:886
@ icSigNoColorData
Definition icProfileHeader.h:844
@ icSigMCH4Data
Definition icProfileHeader.h:878
@ icSigMCH6Data
Definition icProfileHeader.h:880
@ icSigMCH8Data
Definition icProfileHeader.h:882
@ icSigMCH7Data
Definition icProfileHeader.h:881
@ icSigXYZData
Definition icProfileHeader.h:846
@ icSigMCH5Data
Definition icProfileHeader.h:879
@ icSigMCH9Data
Definition icProfileHeader.h:883
@ icSigMCH1Data
Definition icProfileHeader.h:875
@ icSigNamedData
Definition icProfileHeader.h:873
@ icSigMCHEData
Definition icProfileHeader.h:888
@ icSigCmykData
Definition icProfileHeader.h:855
@ icSigNChannelData
Definition icProfileHeader.h:891
@ icSigMCH3Data
Definition icProfileHeader.h:877
@ icSigMCH2Data
Definition icProfileHeader.h:876
@ icSigRgbData
Definition icProfileHeader.h:851
@ icSigHlsData
Definition icProfileHeader.h:854
@ icSigMCHAData
Definition icProfileHeader.h:884
@ icSigMCHDData
Definition icProfileHeader.h:887
@ icSigYCbCrData
Definition icProfileHeader.h:849
@ icSigMCHBData
Definition icProfileHeader.h:885
@ icSigMCHFData
Definition icProfileHeader.h:889
@ icSigCmyData
Definition icProfileHeader.h:856
@ icSigGrayData
Definition icProfileHeader.h:852
@ icSigHsvData
Definition icProfileHeader.h:853
@ icSigYxyData
Definition icProfileHeader.h:850
unsigned long icUInt32Number
Definition icProfileHeader.h:262
@ icSigReflectanceSpectralData
Definition icProfileHeader.h:909
@ icSigTransmisionSpectralData
Definition icProfileHeader.h:912
@ icSigBiSpectralReflectanceData
Definition icProfileHeader.h:918
@ icSigRadiantSpectralData
Definition icProfileHeader.h:915
@ icSigSparseMatrixReflectanceData
Definition icProfileHeader.h:921
#define icSigGamutData
Definition icProfileHeader.h:900
#define icSigDevXYZData
Definition IccDefs.h:92
#define icSigDevLabData
Definition IccDefs.h:91
ICCPROFLIB_API icUInt32Number icGetSpaceSamples(icColorSpaceSignature sig)
Definition IccUtil.cpp:1303

References GetUnknownName(), icGetSpaceSamples(), icSigBiSpectralReflectanceData, icSigCmyData, icSigCmykData, icSigGrayData, icSigHlsData, icSigHsvData, icSigLabData, icSigLuvData, icSigMCH1Data, icSigMCH2Data, icSigMCH3Data, icSigMCH4Data, icSigMCH5Data, icSigMCH6Data, icSigMCH7Data, icSigMCH8Data, icSigMCH9Data, icSigMCHAData, icSigMCHBData, icSigMCHCData, icSigMCHDData, icSigMCHEData, icSigMCHFData, icSigNamedData, icSigNChannelData, icSigNoColorData, icSigRadiantSpectralData, icSigReflectanceSpectralData, icSigRgbData, icSigSparseMatrixReflectanceData, icSigTransmisionSpectralData, icSigXYZData, icSigYCbCrData, icSigYxyData, and m_szStr.

Referenced by CIccTagEmbeddedProfile::Describe(), GetSigName(), main(), main(), and PrintIccProfileInfo().

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

◆ GetDeviceAttrName()

const icChar * CIccInfo::GetDeviceAttrName ( icUInt64Number  val)
1449{
1450 if (val & icTransparency)
1451 strcpy(m_szStr, "Transparency");
1452 else
1453 strcpy(m_szStr, "Reflective");
1454
1455 int l=(int)strlen(m_szStr);
1456
1457 if (val & icMatte)
1458 strcpy(m_szStr+l, " | Matte");
1459 else
1460 strcpy(m_szStr+l, " | Glossy");
1461
1462 return m_szStr;
1463}
#define icTransparency
Definition icProfileHeader.h:208
#define icMatte
Definition icProfileHeader.h:210

References m_szStr.

Referenced by CIccTagEmbeddedProfile::Describe(), and main().

+ Here is the caller graph for this function:

◆ GetElementTypeSigName()

const icChar * CIccInfo::GetElementTypeSigName ( icElemTypeSignature  sig)
1605{
1606
1608 return m_str->c_str();
1609 }
1610
1611 return GetUnknownName(sig);
1612}
static bool GetElementSigName(std::string &elemName, icElemTypeSignature elemTypeSig)
Definition IccMpeFactory.h:229

References CIccMpeCreator::GetElementSigName(), GetUnknownName(), and m_str.

Referenced by GetPathEntrySigName().

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

◆ GetIlluminantName()

const icChar * CIccInfo::GetIlluminantName ( icIlluminant  val)
2170{
2171 switch (val) {
2173 return "Illuminant Unknown";
2174
2175 case icIlluminantD50:
2176 return "Illuminant D50";
2177
2178 case icIlluminantD65:
2179 return "Illuminant D65";
2180
2181 case icIlluminantD93:
2182 return "Illuminant D93";
2183
2184 case icIlluminantF2:
2185 return "Illuminant F2";
2186
2187 case icIlluminantD55:
2188 return "Illuminant D55";
2189
2190 case icIlluminantA:
2191 return "Illuminant A";
2192
2194 return "Illuminant EquiPowerE";
2195
2196 case icIlluminantF8:
2197 return "Illuminant F8";
2198
2200 return "Illuminant Black Body";
2201
2203 return "Illuminant Daylight";
2204
2205 case icIlluminantB:
2206 return "Illuminant B";
2207
2208 case icIlluminantC:
2209 return "Illuminant C";
2210
2211 case icIlluminantF1:
2212 return "Illuminant F1";
2213
2214 case icIlluminantF3:
2215 return "Illuminant F3";
2216
2217 case icIlluminantF4:
2218 return "Illuminant F4";
2219
2220 case icIlluminantF5:
2221 return "Illuminant F5";
2222
2223 case icIlluminantF6:
2224 return "Illuminant F6";
2225
2226 case icIlluminantF7:
2227 return "Illuminant F7";
2228
2229 case icIlluminantF9:
2230 return "Illuminant F9";
2231
2232 case icIlluminantF10:
2233 return "Illuminant F10";
2234
2235 case icIlluminantF11:
2236 return "Illuminant F11";
2237
2238 case icIlluminantF12:
2239 return "Illuminant F12";
2240
2241 default:
2242 sprintf(m_szStr, "Unknown Illuminant '%d", val);
2243 return m_szStr;
2244 }
2245}
@ icIlluminantF6
Definition icProfileHeader.h:1210
@ icIlluminantF8
Definition icProfileHeader.h:1199
@ icIlluminantF1
Definition icProfileHeader.h:1206
@ icIlluminantEquiPowerE
Definition icProfileHeader.h:1198
@ icIlluminantF11
Definition icProfileHeader.h:1214
@ icIlluminantF7
Definition icProfileHeader.h:1211
@ icIlluminantF2
Definition icProfileHeader.h:1195
@ icIlluminantF4
Definition icProfileHeader.h:1208
@ icIlluminantF3
Definition icProfileHeader.h:1207
@ icIlluminantD55
Definition icProfileHeader.h:1196
@ icIlluminantDaylight
Definition icProfileHeader.h:1203
@ icIlluminantB
Definition icProfileHeader.h:1204
@ icIlluminantA
Definition icProfileHeader.h:1197
@ icIlluminantF9
Definition icProfileHeader.h:1212
@ icIlluminantBlackBody
Definition icProfileHeader.h:1202
@ icIlluminantUnknown
Definition icProfileHeader.h:1191
@ icIlluminantD65
Definition icProfileHeader.h:1193
@ icIlluminantF10
Definition icProfileHeader.h:1213
@ icIlluminantD93
Definition icProfileHeader.h:1194
@ icIlluminantD50
Definition icProfileHeader.h:1192
@ icIlluminantC
Definition icProfileHeader.h:1205
@ icIlluminantF5
Definition icProfileHeader.h:1209
@ icIlluminantF12
Definition icProfileHeader.h:1215

References icIlluminantA, icIlluminantB, icIlluminantBlackBody, icIlluminantC, icIlluminantD50, icIlluminantD55, icIlluminantD65, icIlluminantD93, icIlluminantDaylight, icIlluminantEquiPowerE, icIlluminantF1, icIlluminantF10, icIlluminantF11, icIlluminantF12, icIlluminantF2, icIlluminantF3, icIlluminantF4, icIlluminantF5, icIlluminantF6, icIlluminantF7, icIlluminantF8, icIlluminantF9, icIlluminantUnknown, and m_szStr.

Referenced by CIccTagMeasurement::Describe(), CIccTagViewingConditions::Describe(), CIccTagSpectralViewingConditions::Describe(), CIccTagXmlMeasurement::ToXml(), CIccTagXmlViewingConditions::ToXml(), and CIccTagXmlSpectralViewingConditions::ToXml().

+ Here is the caller graph for this function:

◆ GetMeasurementFlareName()

const icChar * CIccInfo::GetMeasurementFlareName ( icMeasurementFlare  val)
2056{
2057 switch (val) { // Directly switch on the enum without casting to int
2058 case icFlare0:
2059 return "Flare 0"; // Properly handle the 0% flare
2060
2061 case icFlare100:
2062 return "Flare 100"; // Properly handle the 100% flare
2063
2064 default:
2065 // Handle icMaxEnumFlare explicitly here if needed
2066 if (val == icMaxEnumFlare) {
2067 return "Max Flare"; // Special handling for the max sentinel value
2068 }
2069 // General default case for truly unexpected values
2070 std::snprintf(m_szStr, sizeof(m_szStr), "Unknown Flare '%d'", (int)val);
2071 return m_szStr;
2072 }
2073}
@ icFlare100
Definition icProfileHeader.h:1119
@ icFlare0
Definition icProfileHeader.h:1118
#define icMaxEnumFlare
Definition icProfileHeader.h:1123

References icFlare0, icFlare100, and m_szStr.

Referenced by CIccTagMeasurement::Describe(), and CIccTagXmlMeasurement::ToXml().

+ Here is the caller graph for this function:

◆ GetMeasurementGeometryName()

const icChar * CIccInfo::GetMeasurementGeometryName ( icMeasurementGeometry  val)
2077{
2078 switch (val) { // Directly use enum type, casting is not needed
2079 case icGeometryUnknown:
2080 return "Geometry Unknown";
2081 case icGeometry045or450:
2082 return "Geometry 0-45 or 45-0";
2083 case icGeometry0dord0:
2084 return "Geometry 0-d or d-0";
2085 default:
2086 std::snprintf(m_szStr, sizeof(m_szStr), "Unknown Geometry '%d'", (int)val);
2087 return m_szStr;
2088 }
2089}
@ icGeometry045or450
Definition icProfileHeader.h:1131
@ icGeometry0dord0
Definition icProfileHeader.h:1132
@ icGeometryUnknown
Definition icProfileHeader.h:1130

References icGeometry045or450, icGeometry0dord0, icGeometryUnknown, and m_szStr.

Referenced by CIccTagMeasurement::Describe(), and CIccTagXmlMeasurement::ToXml().

+ Here is the caller graph for this function:

◆ GetMeasurementUnit()

const icChar * CIccInfo::GetMeasurementUnit ( icSignature  sig)
2248{
2249 switch (sig) {
2250 case icSigStatusA:
2251 return "Status A";
2252
2253 case icSigStatusE:
2254 return "Status E";
2255
2256 case icSigStatusI:
2257 return "Status I";
2258
2259 case icSigStatusT:
2260 return "Status T";
2261
2262 case icSigStatusM:
2263 return "Status M";
2264
2265 case icSigDN:
2266 return "DIN with no polarizing filter";
2267
2268 case icSigDNP:
2269 return "DIN with polarizing filter";
2270
2271 case icSigDNN:
2272 return "Narrow band DIN with no polarizing filter";
2273
2274 case icSigDNNP:
2275 return "Narrow band DIN with polarizing filter";
2276
2277 default:
2278 {
2279 char buf[10] = {0};
2280 buf[0] = (char)(sig>>24);
2281 buf[1] = (char)(sig>>16);
2282 buf[2] = (char)(sig>>8);
2283 buf[3] = (char)(sig);
2284 buf[4] = '\0';
2285
2286 sprintf(m_szStr, "Unknown Measurement Type '%s'", buf);
2287 return m_szStr;
2288 }
2289 }
2290}
@ icSigStatusI
Definition icProfileHeader.h:1280
@ icSigStatusE
Definition icProfileHeader.h:1279
@ icSigDNNP
Definition icProfileHeader.h:1286
@ icSigStatusA
Definition icProfileHeader.h:1278
@ icSigDN
Definition icProfileHeader.h:1283
@ icSigStatusT
Definition icProfileHeader.h:1281
@ icSigDNP
Definition icProfileHeader.h:1284
@ icSigDNN
Definition icProfileHeader.h:1285
@ icSigStatusM
Definition icProfileHeader.h:1282

References icSigDN, icSigDNN, icSigDNNP, icSigDNP, icSigStatusA, icSigStatusE, icSigStatusI, icSigStatusM, icSigStatusT, and m_szStr.

Referenced by CIccResponseCurveStruct::Describe(), and CIccTagXmlResponseCurveSet16::ToXml().

+ Here is the caller graph for this function:

◆ GetPathEntrySigName()

const icChar * CIccInfo::GetPathEntrySigName ( icUInt32Number  val)
2036{
2037 const icChar *rv;
2038
2039 rv = GetTagSigName((icTagSignature)sig);
2040 if (rv != m_szStr)
2041 return rv;
2042
2044 if (rv != m_szStr)
2045 return rv;
2046
2048 if (rv != m_szStr)
2049 return rv;
2050
2051 return GetUnknownName(sig);
2052}
icElemTypeSignature
Definition icProfileHeader.h:641
icTagTypeSignature
Definition icProfileHeader.h:526
icTagSignature
Definition icProfileHeader.h:341
const icChar * GetTagSigName(icTagSignature sig)
Definition IccUtil.cpp:1495
const icChar * GetElementTypeSigName(icElemTypeSignature sig)
Definition IccUtil.cpp:1604
const icChar * GetTagTypeSigName(icTagTypeSignature sig)
Definition IccUtil.cpp:1594

References GetElementTypeSigName(), GetTagSigName(), GetTagTypeSigName(), GetUnknownName(), and m_szStr.

Referenced by GetSigPathName().

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

◆ GetPlatformSigName()

const icChar * CIccInfo::GetPlatformSigName ( icPlatformSignature  sig)
1846{
1847 switch (sig) {
1848 case icSigMacintosh:
1849 return "Macintosh";
1850
1851 case icSigMicrosoft:
1852 return "Microsoft";
1853
1854 case icSigSolaris:
1855 return "Solaris";
1856
1857 case icSigSGI:
1858 return "SGI";
1859
1860 case icSigTaligent:
1861 return "Taligent";
1862
1864 return "Unknown";
1865
1866 default:
1867 return GetUnknownName(sig);
1868 }
1869}
@ icSigSGI
Definition icProfileHeader.h:975
@ icSigTaligent
Definition icProfileHeader.h:976
@ icSigUnknownPlatform
Definition icProfileHeader.h:977
@ icSigMacintosh
Definition icProfileHeader.h:972
@ icSigSolaris
Definition icProfileHeader.h:974

References GetUnknownName(), icSigMacintosh, icSigMicrosoft, icSigSGI, icSigSolaris, icSigTaligent, and icSigUnknownPlatform.

Referenced by CIccTagEmbeddedProfile::Describe(), GetSigName(), and main().

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

◆ GetProfileClassSigName()

const icChar * CIccInfo::GetProfileClassSigName ( icProfileClassSignature  sig)
1805{
1806 switch (sig) {
1807 case icSigInputClass:
1808 return "InputClass";
1809
1810 case icSigDisplayClass:
1811 return "DisplayClass";
1812
1813 case icSigOutputClass:
1814 return "OutputClass";
1815
1816 case icSigLinkClass:
1817 return "LinkClass";
1818
1819 case icSigAbstractClass:
1820 return "AbstractClass";
1821
1823 return "ColorSpaceClass";
1824
1826 return "NamedColorClass";
1827
1829 return "ColorEncodingClass";
1830
1832 return "MaterialIdentificationClass";
1833
1835 return "MaterialVisualizationClass";
1836
1838 return "MaterialLinkClass";
1839
1840 default:
1841 return GetUnknownName(sig);
1842 }
1843}
@ icSigAbstractClass
Definition icProfileHeader.h:956
@ icSigColorEncodingClass
Definition icProfileHeader.h:959
@ icSigDisplayClass
Definition icProfileHeader.h:953
@ icSigMaterialVisualizationClass
Definition icProfileHeader.h:962
@ icSigOutputClass
Definition icProfileHeader.h:954
@ icSigInputClass
Definition icProfileHeader.h:952
@ icSigMaterialLinkClass
Definition icProfileHeader.h:961
@ icSigColorSpaceClass
Definition icProfileHeader.h:957
@ icSigNamedColorClass
Definition icProfileHeader.h:958
@ icSigMaterialIdentificationClass
Definition icProfileHeader.h:960
@ icSigLinkClass
Definition icProfileHeader.h:955

References GetUnknownName(), icSigAbstractClass, icSigColorEncodingClass, icSigColorSpaceClass, icSigDisplayClass, icSigInputClass, icSigLinkClass, icSigMaterialIdentificationClass, icSigMaterialLinkClass, icSigMaterialVisualizationClass, icSigNamedColorClass, and icSigOutputClass.

Referenced by CIccTagEmbeddedProfile::Describe(), GetSigName(), and main().

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

◆ GetProfileFlagsName()

const icChar * CIccInfo::GetProfileFlagsName ( icUInt32Number  val,
bool  bCheckMCS = false 
)
1466{
1467 if (val & icEmbeddedProfileTrue)
1468 strcpy(m_szStr, "EmbeddedProfileTrue");
1469 else
1470 strcpy(m_szStr, "EmbeddedProfileFalse");
1471
1472 int l=(int)strlen(m_szStr);
1473
1474 if (val & icUseWithEmbeddedDataOnly)
1475 strcpy(m_szStr+l, " | UseWithEmbeddedDataOnly");
1476 else
1477 strcpy(m_szStr+l, " | UseAnywhere");
1478
1479 if (bCheckMCS) {
1480 l=(int)strlen(m_szStr);
1481
1482 if (val & icMCSNeedsSubsetTrue)
1483 strcpy(m_szStr+l, " | MCSNeedsSubset");
1484 else
1485 strcpy(m_szStr+l, " | MCSConnectAny");
1486 }
1487
1488 if (val & icExtendedRangePCS)
1489 strcpy(m_szStr + l, " | ExtendedRangePCS");
1490
1491
1492 return m_szStr;
1493}
#define icEmbeddedProfileTrue
Definition icProfileHeader.h:221
#define icUseWithEmbeddedDataOnly
Definition icProfileHeader.h:223
#define icExtendedRangePCS
Definition icProfileHeader.h:227
#define icMCSNeedsSubsetTrue
Definition icProfileHeader.h:225

References m_szStr.

Referenced by CIccTagEmbeddedProfile::Describe(), and main().

+ Here is the caller graph for this function:

◆ GetProfileID()

const icChar * CIccInfo::GetProfileID ( icProfileID profileID)
2294{
2295 char *ptr = m_szStr;
2296 int i;
2297
2298 for (i=0; i<16; i++, ptr+=2) {
2299 sprintf(ptr, "%02x", profileID->ID8[i]);
2300 }
2301
2302 return m_szStr;
2303}
icUInt8Number ID8[16]
Definition icProfileHeader.h:2037

References icProfileID::ID8, and m_szStr.

Referenced by CIccTagEmbeddedProfile::Describe(), and main().

+ Here is the caller graph for this function:

◆ GetReferenceMediumGamutSigNameName()

const icChar * CIccInfo::GetReferenceMediumGamutSigNameName ( icReferenceMediumGamutSignature  sig)
1965{
1966 switch (sig) {
1968 return "perceptualReferenceMediumGamut";
1969
1970 default:
1971 return GetUnknownName(sig);
1972 }
1973}
@ icSigPerceptualReferenceMediumGamut
Definition icProfileHeader.h:1022

References GetUnknownName(), and icSigPerceptualReferenceMediumGamut.

Referenced by GetSigName().

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

◆ GetRenderingIntentName()

const icChar * CIccInfo::GetRenderingIntentName ( icRenderingIntent  val,
bool  bIsV5 = false 
)
2092{
2093 switch (val) {
2094 case icPerceptual:
2095 return "Perceptual";
2096
2098 if (bIsV5)
2099 return "Relative";
2100 else
2101 return "Relative Colorimetric";
2102
2103 case icSaturation:
2104 return "Saturation";
2105
2107 if (bIsV5)
2108 return "Absolute";
2109 else
2110 return "Absolute Colorimetric";
2111
2112 default:
2113 sprintf(m_szStr, "Unknown Intent '%d", val);
2114 return m_szStr;
2115 }
2116}
@ icPerceptual
Definition icProfileHeader.h:1143
@ icRelativeColorimetric
Definition icProfileHeader.h:1144
@ icAbsoluteColorimetric
Definition icProfileHeader.h:1147
@ icSaturation
Definition icProfileHeader.h:1146

References icAbsoluteColorimetric, icPerceptual, icRelativeColorimetric, icSaturation, and m_szStr.

Referenced by CIccTagEmbeddedProfile::Describe(), main(), and CIccProfileXml::ToXmlWithBlanks().

+ Here is the caller graph for this function:

◆ GetSigName()

const icChar * CIccInfo::GetSigName ( icUInt32Number  val)
2001{
2002 const icChar *rv;
2003
2004 rv = GetTagSigName((icTagSignature)sig);
2005 if (rv != m_szStr)
2006 return rv;
2007
2009 if (rv != m_szStr)
2010 return rv;
2011
2013 if (rv != m_szStr)
2014 return rv;
2015
2017 if (rv != m_szStr)
2018 return rv;
2019
2021 if (rv != m_szStr)
2022 return rv;
2023
2025 if (rv != m_szStr)
2026 return rv;
2027
2029 if (rv != m_szStr)
2030 return rv;
2031
2033}
icTechnologySignature
Definition icProfileHeader.h:491
icProfileClassSignature
Definition icProfileHeader.h:951
icColorSpaceSignature
Definition icProfileHeader.h:843
icPlatformSignature
Definition icProfileHeader.h:971
icColorimetricIntentImageStateSignature
Definition icProfileHeader.h:1030
icReferenceMediumGamutSignature
Definition icProfileHeader.h:1021
const icChar * GetTechnologySigName(icTechnologySignature sig)
Definition IccUtil.cpp:1520
const icChar * GetColorimetricIntentImageStateName(icColorimetricIntentImageStateSignature sig)
Definition IccUtil.cpp:1976
const icChar * GetProfileClassSigName(icProfileClassSignature sig)
Definition IccUtil.cpp:1804
const icChar * GetPlatformSigName(icPlatformSignature sig)
Definition IccUtil.cpp:1845
const icChar * GetColorSpaceSigName(icColorSpaceSignature sig)
Definition IccUtil.cpp:1640
const icChar * GetReferenceMediumGamutSigNameName(icReferenceMediumGamutSignature sig)
Definition IccUtil.cpp:1964

References GetColorimetricIntentImageStateName(), GetColorSpaceSigName(), GetPlatformSigName(), GetProfileClassSigName(), GetReferenceMediumGamutSigNameName(), GetTagSigName(), GetTagTypeSigName(), GetTechnologySigName(), and m_szStr.

Referenced by CIccTagSignature::Describe(), CIccResponseCurveStruct::Validate(), CIccTagSignature::Validate(), and CIccTagProfileSeqDesc::Validate().

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

◆ GetSigPathName()

std::string CIccInfo::GetSigPathName ( std::string  sigPath)
1615{
1616 std::string rv;
1617 const char *ptr = sigPath.c_str();
1618 int n =0;
1619 while(*ptr==':') {
1620 std::string sigStr;
1621 ptr++;
1622 while(*ptr && *ptr!=':') {
1623 sigStr += *ptr;
1624 ptr++;
1625 }
1626 icSignature sig = icGetSigVal(sigStr.c_str());
1627 if (n!=0) {
1628 rv += ">";
1629 }
1630 rv += GetPathEntrySigName(sig);
1631 n++;
1632 }
1633 if (n > 0)
1634 rv += ":";
1635
1636 return rv;
1637}
icUInt32Number icSignature
Definition icProfileHeader.h:271
ICCPROFLIB_API icUInt32Number icGetSigVal(const icChar *pBuf)
Definition IccUtil.cpp:1258
const icChar * GetPathEntrySigName(icUInt32Number val)
Definition IccUtil.cpp:2035

References GetPathEntrySigName(), and icGetSigVal().

Referenced by CIccCalculatorFunc::Validate(), CIccStructNamedColor::Validate(), CIccTagGamutBoundaryDesc::Validate(), CIccMBB::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccStructBRDF::Validate(), CIccStructColorantInfo::Validate(), CIccTag::Validate(), CIccTagText::Validate(), CIccTagUtf8Text::Validate(), CIccTagZipUtf8Text::Validate(), CIccTagUtf16Text::Validate(), CIccTagTextDescription::Validate(), CIccTagSignature::Validate(), CIccTagNamedColor2::Validate(), CIccTagXYZ::Validate(), CIccTagChromaticity::Validate(), CIccTagCicp::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagNum< T, Tsig >::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagMeasurement::Validate(), CIccTagMultiLocalizedUnicode::Validate(), CIccTagData::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagViewingConditions::Validate(), CIccTagProfileSeqDesc::Validate(), CIccTagResponseCurveSet16::Validate(), CIccTagSpectralDataInfo::Validate(), CIccTagSpectralViewingConditions::Validate(), CIccTagEmbeddedHeightImage::Validate(), CIccTagEmbeddedNormalImage::Validate(), CIccTagStruct::Validate(), CIccTagArray::Validate(), CIccTagDict::Validate(), CIccTagEmbeddedProfile::Validate(), CIccTagCurve::Validate(), CIccTagParametricCurve::Validate(), CIccMatrix::Validate(), CIccCLUT::Validate(), CIccTagMultiProcessElement::Validate(), CIccTagProfileSequenceId::Validate(), CIccFormulaCurveSegment::Validate(), CIccSampledCurveSegment::Validate(), CIccSegmentedCurve::Validate(), CIccSingleSampledCurve::Validate(), CIccSampledCalculatorCurve::Validate(), CIccMpeCurveSet::Validate(), CIccMpeTintArray::Validate(), CIccMpeToneMap::Validate(), CIccMpeMatrix::Validate(), CIccMpeCLUT::Validate(), CIccMpeExtCLUT::Validate(), CIccMpeCalculator::Validate(), CIccMpeSpectralMatrix::Validate(), CIccMpeInvEmissionMatrix::Validate(), CIccMpeSpectralCLUT::Validate(), CIccMpeSpectralObserver::Validate(), CIccMpeUnknown::Validate(), and CIccMultiProcessElement::Validate().

+ Here is the call graph for this function:

◆ GetSpectralColorSigName()

const icChar * CIccInfo::GetSpectralColorSigName ( icSpectralColorSignature  sig)
1770{
1771 switch(icGetColorSpaceType(sig)) {
1773 return "NoSpectralData";
1774
1775 case icSigNChannelData:
1776 sprintf(m_szStr, "0x%04XChannelData", icNumColorSpaceChannels(sig));
1777 return m_szStr;
1778
1780 sprintf(m_szStr, "0x%04XChannelReflectanceData", icNumColorSpaceChannels(sig));
1781 return m_szStr;
1782
1784 sprintf(m_szStr, "0x%04XChannelTransmissionData", icNumColorSpaceChannels(sig));
1785 return m_szStr;
1786
1788 sprintf(m_szStr, "0x%04XChannelRadiantData", icNumColorSpaceChannels(sig));
1789 return m_szStr;
1790
1792 sprintf(m_szStr, "0x%04XChannelBiSpectralReflectanceData", icNumColorSpaceChannels(sig));
1793 return m_szStr;
1794
1796 sprintf(m_szStr, "0x%04XChannelSparseMatrixReflectanceData", icNumColorSpaceChannels(sig));
1797 return m_szStr;
1798
1799 default:
1800 return GetUnknownName(sig);
1801 }
1802}
@ icSigNoSpectralData
Definition icProfileHeader.h:908

References GetUnknownName(), icSigBiSpectralReflectanceData, icSigNChannelData, icSigNoSpectralData, icSigRadiantSpectralData, icSigReflectanceSpectralData, icSigSparseMatrixReflectanceData, icSigTransmisionSpectralData, and m_szStr.

Referenced by CIccTagEmbeddedProfile::Describe(), main(), and main().

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

◆ GetSpotShapeName()

const icChar * CIccInfo::GetSpotShapeName ( icSpotShape  val)
2119{
2120 switch (val) {
2121 case icSpotShapeUnknown:
2122 return "Spot Shape Unknown";
2123
2125 return "Spot Shape Printer Default";
2126
2127 case icSpotShapeRound:
2128 return "Spot Shape Round";
2129
2130 case icSpotShapeDiamond:
2131 return "Spot Shape Diamond";
2132
2133 case icSpotShapeEllipse:
2134 return "Spot Shape Ellipse";
2135
2136 case icSpotShapeLine:
2137 return "Spot Shape Line";
2138
2139 case icSpotShapeSquare:
2140 return "Spot Shape Square";
2141
2142 case icSpotShapeCross:
2143 return "Spot Shape Cross";
2144
2145 default:
2146 sprintf(m_szStr, "Unknown Spot Shape '%d", val);
2147 return m_szStr;
2148 }
2149}
@ icSpotShapeCross
Definition icProfileHeader.h:1166
@ icSpotShapeDiamond
Definition icProfileHeader.h:1162
@ icSpotShapeLine
Definition icProfileHeader.h:1164
@ icSpotShapePrinterDefault
Definition icProfileHeader.h:1160
@ icSpotShapeEllipse
Definition icProfileHeader.h:1163
@ icSpotShapeSquare
Definition icProfileHeader.h:1165
@ icSpotShapeRound
Definition icProfileHeader.h:1161
@ icSpotShapeUnknown
Definition icProfileHeader.h:1159

References icSpotShapeCross, icSpotShapeDiamond, icSpotShapeEllipse, icSpotShapeLine, icSpotShapePrinterDefault, icSpotShapeRound, icSpotShapeSquare, icSpotShapeUnknown, and m_szStr.

◆ GetStandardObserverName()

const icChar * CIccInfo::GetStandardObserverName ( icStandardObserver  val)
2152{
2153 switch (val) {
2154 case icStdObsUnknown:
2155 return "Unknown observer";
2156
2158 return "CIE 1931 (two degree) standard observer";
2159
2161 return "CIE 1964 (ten degree) standard observer";
2162
2163 default:
2164 sprintf(m_szStr, "Unknown Observer '%d", val);
2165 return m_szStr;
2166 }
2167}
@ icStdObsUnknown
Definition icProfileHeader.h:1176
@ icStdObs1964TenDegrees
Definition icProfileHeader.h:1178
@ icStdObs1931TwoDegrees
Definition icProfileHeader.h:1177

References icStdObs1931TwoDegrees, icStdObs1964TenDegrees, icStdObsUnknown, and m_szStr.

Referenced by CIccTagMeasurement::Describe(), CIccTagSpectralViewingConditions::Describe(), and CIccTagXmlSpectralViewingConditions::ToXml().

+ Here is the caller graph for this function:

◆ GetStructSigName()

const icChar * CIccInfo::GetStructSigName ( icStructSignature  sig)
1505{
1507 return m_str->c_str();
1508 }
1509 return GetUnknownName(sig);
1510}
static bool GetStructSigName(std::string &structName, icStructSignature structTypeSig, bool bFillUnknown=true)
Definition IccStructFactory.h:253

References CIccStructCreator::GetStructSigName(), GetUnknownName(), and m_str.

Referenced by IIccStruct::Describe().

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

◆ GetSubClassVersionName()

const icChar * CIccInfo::GetSubClassVersionName ( icUInt32Number  val)
1439{
1440 icFloatNumber ver = (icFloatNumber)(((val >> 12) & 0xf)*10.0 + ((val >> 8) & 0xf) +
1441 ((val >> 4) & 0xf) / 10.0 + (val & 0xf) / 100.0);
1442
1443 sprintf(m_szStr, "%.2lf", ver);
1444
1445 return m_szStr;
1446}
float icFloatNumber
Definition IccDefs.h:101

References m_szStr.

Referenced by CIccTagEmbeddedProfile::Describe(), main(), and CIccProfileXml::ToXmlWithBlanks().

+ Here is the caller graph for this function:

◆ GetTagSigName()

const icChar * CIccInfo::GetTagSigName ( icTagSignature  sig)
1496{
1497 const icChar *rv = CIccTagCreator::GetTagSigName(sig);
1498 if (rv) {
1499 return rv;
1500 }
1501 return GetUnknownName(sig);
1502}
static const icChar * GetTagSigName(icTagSignature tagTypeSig)
Definition IccTagFactory.h:292

References CIccTagCreator::GetTagSigName(), and GetUnknownName().

Referenced by CIccTagEmbeddedProfile::Describe(), DumpTag(), GetPathEntrySigName(), GetSigName(), main(), and CIccProfileXml::ToXmlWithBlanks().

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

◆ GetTagTypeSigName()

const icChar * CIccInfo::GetTagTypeSigName ( icTagTypeSignature  sig)
1595{
1597 if (rv) {
1598 return rv;
1599 }
1600
1601 return GetUnknownName(sig);
1602}
static const icChar * GetTagTypeSigName(icTagTypeSignature tagTypeSig)
Definition IccTagFactory.h:322

References CIccTagCreator::GetTagTypeSigName(), and GetUnknownName().

Referenced by MyTagDialog::MyTagDialog(), DumpTag(), GetPathEntrySigName(), GetSigName(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), and CIccMpeXmlTintArray::ParseXml().

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

◆ GetTechnologySigName()

const icChar * CIccInfo::GetTechnologySigName ( icTechnologySignature  sig)
1521{
1522 switch(sig) {
1523 case icSigDigitalCamera:
1524 return "DigitalCamera";
1525
1526 case icSigFilmScanner:
1527 return "FilmScanner";
1528
1530 return "ReflectiveScanner";
1531
1532 case icSigInkJetPrinter:
1533 return "InkJetPrinter";
1534
1536 return "ThermalWaxPrinter";
1537
1539 return "ElectrophotographicPrinter";
1540
1542 return "ElectrostaticPrinter";
1543
1545 return "DyeSublimationPrinter";
1546
1548 return "PhotographicPaperPrinter";
1549
1550 case icSigFilmWriter:
1551 return "FilmWriter";
1552
1553 case icSigVideoMonitor:
1554 return "VideoMonitor";
1555
1556 case icSigVideoCamera:
1557 return "VideoCamera";
1558
1560 return "ProjectionTelevision";
1561
1562 case icSigCRTDisplay:
1563 return "CRTDisplay";
1564
1565 case icSigPMDisplay:
1566 return "PMDisplay";
1567
1568 case icSigAMDisplay:
1569 return "AMDisplay";
1570
1571 case icSigPhotoCD:
1572 return "PhotoCD";
1573
1575 return "PhotoImageSetter";
1576
1577 case icSigGravure:
1578 return "Gravure";
1579
1581 return "OffsetLithography";
1582
1583 case icSigSilkscreen:
1584 return "Silkscreen";
1585
1586 case icSigFlexography:
1587 return "Flexography";
1588
1589 default:
1590 return GetUnknownName(sig);
1591 }
1592}
@ icSigFilmWriter
Definition icProfileHeader.h:501
@ icSigCRTDisplay
Definition icProfileHeader.h:505
@ icSigOffsetLithography
Definition icProfileHeader.h:511
@ icSigFlexography
Definition icProfileHeader.h:513
@ icSigSilkscreen
Definition icProfileHeader.h:512
@ icSigPhotographicPaperPrinter
Definition icProfileHeader.h:500
@ icSigVideoMonitor
Definition icProfileHeader.h:502
@ icSigElectrostaticPrinter
Definition icProfileHeader.h:498
@ icSigPMDisplay
Definition icProfileHeader.h:506
@ icSigGravure
Definition icProfileHeader.h:510
@ icSigInkJetPrinter
Definition icProfileHeader.h:495
@ icSigReflectiveScanner
Definition icProfileHeader.h:494
@ icSigDigitalCamera
Definition icProfileHeader.h:492
@ icSigVideoCamera
Definition icProfileHeader.h:503
@ icSigDyeSublimationPrinter
Definition icProfileHeader.h:499
@ icSigThermalWaxPrinter
Definition icProfileHeader.h:496
@ icSigFilmScanner
Definition icProfileHeader.h:493
@ icSigPhotoCD
Definition icProfileHeader.h:508
@ icSigPhotoImageSetter
Definition icProfileHeader.h:509
@ icSigElectrophotographicPrinter
Definition icProfileHeader.h:497
@ icSigProjectionTelevision
Definition icProfileHeader.h:504
@ icSigAMDisplay
Definition icProfileHeader.h:507

References GetUnknownName(), icSigAMDisplay, icSigCRTDisplay, icSigDigitalCamera, icSigDyeSublimationPrinter, icSigElectrophotographicPrinter, icSigElectrostaticPrinter, icSigFilmScanner, icSigFilmWriter, icSigFlexography, icSigGravure, icSigInkJetPrinter, icSigOffsetLithography, icSigPhotoCD, icSigPhotographicPaperPrinter, icSigPhotoImageSetter, icSigPMDisplay, icSigProjectionTelevision, icSigReflectiveScanner, icSigSilkscreen, icSigThermalWaxPrinter, icSigVideoCamera, and icSigVideoMonitor.

Referenced by GetSigName().

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

◆ GetUnknownName()

const icChar * CIccInfo::GetUnknownName ( icUInt32Number  val)
1417{
1418 icChar buf[24];
1419 // icGetSig() will print 'NULL' if val is 0x00000000 which is easier to post-process
1420 // if (!val)
1421 // return "Unknown";
1422
1423 sprintf(m_szStr, "Unknown %s", icGetSig(buf, val));
1424
1425 return m_szStr;
1426}
ICCPROFLIB_API const icChar * icGetSig(icChar *pBuf, icUInt32Number sig, bool bGetHexVal=true)
Definition IccUtil.cpp:1028

References icGetSig(), and m_szStr.

Referenced by GetArraySigName(), GetCmmSigName(), GetColorimetricIntentImageStateName(), GetColorSpaceSigName(), GetElementTypeSigName(), GetPathEntrySigName(), GetPlatformSigName(), GetProfileClassSigName(), GetReferenceMediumGamutSigNameName(), GetSpectralColorSigName(), GetStructSigName(), GetTagSigName(), GetTagTypeSigName(), and GetTechnologySigName().

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

◆ GetVersionName()

const icChar * CIccInfo::GetVersionName ( icUInt32Number  val)
1429{
1430 icFloatNumber ver = (icFloatNumber)(((val>>28)&0xf)*10.0 + ((val>>24)&0xf) +
1431 ((val>>20)&0xf)/10.0 + ((val>>16)&0xf)/100.0);
1432
1433 sprintf(m_szStr, "%.2lf", ver);
1434
1435 return m_szStr;
1436}

References m_szStr.

Referenced by CIccTagEmbeddedProfile::Describe(), main(), and CIccProfileXml::ToXmlWithBlanks().

+ Here is the caller graph for this function:

◆ IsProfileIDCalculated()

bool CIccInfo::IsProfileIDCalculated ( icProfileID profileID)
2306{
2307 int i;
2308
2309 for (i=0; i<16; i++) {
2310 if (profileID->ID8[i])
2311 break;
2312 }
2313
2314 return i<16;
2315}

References icProfileID::ID8.

Referenced by CIccTagEmbeddedProfile::Describe(), and main().

+ Here is the caller graph for this function:

◆ IsValidSpace()

bool CIccInfo::IsValidSpace ( icColorSpaceSignature  sig)
2532{
2533 bool rv = true;
2534
2535 switch(sig) {
2536 case icSigXYZData:
2537 case icSigLabData:
2538 case icSigLuvData:
2539 case icSigYCbCrData:
2540 case icSigYxyData:
2541 case icSigRgbData:
2542 case icSigGrayData:
2543 case icSigHsvData:
2544 case icSigHlsData:
2545 case icSigCmykData:
2546 case icSigCmyData:
2547 case icSigMCH1Data:
2548 case icSigNamedData:
2549 case icSigGamutData:
2550 case icSig2colorData:
2551 case icSig3colorData:
2552 case icSig4colorData:
2553 case icSig5colorData:
2554 case icSig6colorData:
2555 case icSig7colorData:
2556 case icSig8colorData:
2557 case icSig9colorData:
2558 case icSig10colorData:
2559 case icSig11colorData:
2560 case icSig12colorData:
2561 case icSig13colorData:
2562 case icSig14colorData:
2563 case icSig15colorData:
2564 break;
2565
2566 default:
2567 switch(icGetColorSpaceType(sig)) {
2568 case icSigNChannelData:
2569 break;
2570 default:
2571 rv = false;
2572 }
2573 }
2574
2575 return rv;
2576}
@ icSig14colorData
Definition icProfileHeader.h:871
@ icSig2colorData
Definition icProfileHeader.h:859
@ icSig8colorData
Definition icProfileHeader.h:865
@ icSig10colorData
Definition icProfileHeader.h:867
@ icSig7colorData
Definition icProfileHeader.h:864
@ icSig9colorData
Definition icProfileHeader.h:866
@ icSig13colorData
Definition icProfileHeader.h:870
@ icSig6colorData
Definition icProfileHeader.h:863
@ icSig4colorData
Definition icProfileHeader.h:861
@ icSig12colorData
Definition icProfileHeader.h:869
@ icSig11colorData
Definition icProfileHeader.h:868
@ icSig15colorData
Definition icProfileHeader.h:872
@ icSig3colorData
Definition icProfileHeader.h:860
@ icSig5colorData
Definition icProfileHeader.h:862

References icSig10colorData, icSig11colorData, icSig12colorData, icSig13colorData, icSig14colorData, icSig15colorData, icSig2colorData, icSig3colorData, icSig4colorData, icSig5colorData, icSig6colorData, icSig7colorData, icSig8colorData, icSig9colorData, icSigCmyData, icSigCmykData, icSigGrayData, icSigHlsData, icSigHsvData, icSigLabData, icSigLuvData, icSigMCH1Data, icSigNamedData, icSigNChannelData, icSigRgbData, icSigXYZData, icSigYCbCrData, and icSigYxyData.

Referenced by CDevLinkWriter::begin().

+ Here is the caller graph for this function:

◆ IsValidSpectralSpace()

bool CIccInfo::IsValidSpectralSpace ( icColorSpaceSignature  sig)

Field Documentation

◆ m_str

std::string* CIccInfo::m_str
protected

◆ m_szSigStr

icChar CIccInfo::m_szSigStr[128]
protected

◆ m_szStr


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