Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
CIccSpecTagFactory Class Reference

Class: CIccSpecTagFactory. More...

#include <IccTagFactory.h>

+ Inheritance diagram for CIccSpecTagFactory:
+ Collaboration diagram for CIccSpecTagFactory:

Public Member Functions

virtual CIccTagCreateTag (icTagTypeSignature tagSig)
 Function: CreateTag(tagTypeSig) Create a tag of type tagTypeSig.
 
virtual icTagSignature GetTagNameSig (const icChar *szTagName)
 Function: GetTagNameSig(szTagName) Get signature from tag display name.
 
virtual const icCharGetTagSigName (icTagSignature tagSig)
 Function: GetTagSigName(tagSig) Get display name of tagSig.
 
virtual icTagTypeSignature GetTagTypeNameSig (const icChar *szTypeName)
 Function: GetTagTypeNameSig(szTypeName) Get signature based on display name of tag type.
 
virtual const icCharGetTagTypeSigName (icTagTypeSignature tagTypeSig)
 Function: GetTagTypeSigName(tagTypeSig) Get display name of tagTypeSig.
 
- Public Member Functions inherited from IIccTagFactory
virtual ~IIccTagFactory ()
 

Detailed Description

Class: CIccSpecTagFactory.

Purpose: CIccSpecTagFactory provides creation of CIccTag's defined by the ICC profile specification. The CIccTagCreator always creates a CIccSpecTagFactory.

Definition at line 184 of file IccTagFactory.h.

Member Function Documentation

◆ CreateTag()

CIccTag * CIccSpecTagFactory::CreateTag ( icTagTypeSignature tagSig)
virtual

Function: CreateTag(tagTypeSig) Create a tag of type tagTypeSig.

Parameter(s): tagTypeSig = signature of the ICC tag type for the tag to be created

Returns a new CIccTag object of the given signature type. Unrecognized tagTypeSig's will be created as a CIccTagUnknown object.

Implements IIccTagFactory.

Definition at line 307 of file IccTagFactory.cpp.

308{
309 switch(tagSig) {
311 return new CIccTagSignature;
312
313 case icSigTextType:
314 return new CIccTagText;
315
317 return new CIccTagXYZ;
318
319 case icSigCicpType:
320 return new CIccTagCicp;
321
323 return new CIccTagUInt8;
324
326 return new CIccTagUInt16;
327
329 return new CIccTagUInt32;
330
332 return new CIccTagUInt64;
333
335 return new CIccTagS15Fixed16;
336
338 return new CIccTagU16Fixed16;
339
341 return new CIccTagFloat16;
342
344 return new CIccTagFloat32;
345
347 return new CIccTagFloat64;
348
350 return new CIccTagGamutBoundaryDesc;
351
352 case icSigCurveType:
353 return new CIccTagCurve;
354
356 return new CIccTagSegmentedCurve;
357
359 return new CIccTagMeasurement;
360
363
365 return new CIccTagMultiProcessElement();
366
368 return new CIccTagParametricCurve;
369
370 case icSigLutAtoBType:
371 return new CIccTagLutAtoB;
372
373 case icSigLutBtoAType:
374 return new CIccTagLutBtoA;
375
376 case icSigLut16Type:
377 return new CIccTagLut16;
378
379 case icSigLut8Type:
380 return new CIccTagLut8;
381
383 return new CIccTagTextDescription;
384
386 return new CIccTagNamedColor2;
387
389 return new CIccTagChromaticity;
390
391 case icSigDataType:
392 return new CIccTagData;
393
395 return new CIccTagDateTime;
396
397#ifndef ICC_UNSUPPORTED_TAG_DICT
398 case icSigDictType:
399 return new CIccTagDict;
400#endif
401
403 return new CIccTagColorantOrder;
404
406 return new CIccTagColorantTable;
407
409 return new CIccTagSparseMatrixArray;
410
412 return new CIccTagViewingConditions;
413
415 return new CIccTagSpectralDataInfo;
416
419
421 return new CIccTagProfileSeqDesc;
422
424 return new CIccTagResponseCurveSet16;
425
427 return new CIccTagProfileSequenceId;
428
430 return new CIccTagUtf8Text;
431
433 return new CIccTagZipUtf8Text;
434
435 case icSigZipXmlType:
436 case icSigZipXMLType:
437 return new CIccTagZipXml;
438
440 return new CIccTagUtf16Text;
441
443 return new CIccTagArray;
444
446 return new CIccTagStruct;
447
449 return new CIccTagEmbeddedProfile;
450
453
456
458 case icSigUcrBgType:
459 case icSigCrdInfoType:
460
461 default:
462 return new CIccTagUnknown;
463 }
464}
CIccTagFixedNum< icU16Fixed16Number, icSigU16Fixed16ArrayType > CIccTagU16Fixed16
Classe: CIccTagU16Fixed16.
CIccTagNum< icUInt8Number, icSigUInt8ArrayType > CIccTagUInt8
Class: CIccTagUInt8.
CIccTagFloatNum< icFloat32Number, icSigFloat16ArrayType > CIccTagFloat16
Class: CIccTagFloat16.
CIccTagNum< icUInt32Number, icSigUInt32ArrayType > CIccTagUInt32
Class: CIccTagUInt32.
CIccTagFloatNum< icFloat64Number, icSigFloat64ArrayType > CIccTagFloat64
Class: CIccTagFloat64.
CIccTagNum< icUInt64Number, icSigUInt64ArrayType > CIccTagUInt64
Class: CIccTagUInt64.
CIccTagFloatNum< icFloat32Number, icSigFloat32ArrayType > CIccTagFloat32
Class: CIccTagFloat32.
CIccTagNum< icUInt16Number, icSigUInt16ArrayType > CIccTagUInt16
Class: CIccTagUInt16.
CIccTagFixedNum< icS15Fixed16Number, icSigS15Fixed16ArrayType > CIccTagS15Fixed16
Class: CIccTagS15Fixed16.
@ icSigUInt16ArrayType
Class: CIccTagArray.
Class: CIccTagChromaticity.
Class: CIccTagCicp.
Class: CIccTagColorantOrder.
Class: CIccTagColorantTable.
Class: CIccTagCurve.
Definition IccTagLut.h:128
Class: CIccTagData.
Class: CIccTagDateTime.
Class: CIccTagDict.
Definition IccTagDict.h:161
Class: CIccTagEmbeddedHeightImage.
Class: CIccTagEmbeddedNormalImage.
Class: IccTagEmbeddedProfile.
Class: CIccTagGamutBoundaryDesc.
Definition IccTagLut.h:612
Class: CIccTagLut16.
Definition IccTagLut.h:578
Class: CIccTagLut8.
Definition IccTagLut.h:548
Class: CIccTagLutAtoB.
Definition IccTagLut.h:502
Class: CIccTagLutBtoA.
Definition IccTagLut.h:528
Class: CIccTagMeasurement.
Class: CIccTagMultiLocalizedUnicode.
Class: CIccTagMultiProcessElement.
Definition IccTagMPE.h:358
Class: CIccTagNamedColor2.
Class: CIccTagParametricCurve.
Definition IccTagLut.h:171
Class: CIccTagProfileSeqDesc.
Class: CIccTagProfileSequenceId.
Class: CIccTagResponseCurveSet16.
Class: CIccTagSegmentedCurve.
Definition IccTagLut.h:221
Class: CIccTagSignature.
Class: CIccTagSparseMatrixArray.
Class: CIccTagSpectralDataInfo.
Class: CIccTagSpectralViewingConditions.
Class: CIccTagStruct.
Class: CIccTagTextDescription()
Class: CIccTagText()
Class: IccTagUnknown.
Class: CIccTagUtf16Text()
Class: CIccTagUtf8Text()
Class: CIccTagViewingConditions.
Class: CIccTagXYZ.
Class: CIccTagZipUtf8Text()
Class: CIccTagZipXml()
@ icSigSegmentedCurveType
@ icSigCicpType
@ icSigUInt8ArrayType
@ icSigDataType
@ icSigUtf8TextType
@ icSigProfileSequceIdType
@ icSigProfileSequenceDescType
@ icSigEmbeddedProfileType
@ icSigTagArrayType
@ icSigZipXMLType
@ icSigMultiProcessElementType
@ icSigXYZArrayType
@ icSigMeasurementType
@ icSigTagStructType
@ icSigSparseMatrixArrayType
@ icSigEmbeddedHeightImageType
@ icSigFloat16ArrayType
@ icSigParametricCurveType
@ icSigLut8Type
@ icSigMultiLocalizedUnicodeType
@ icSigLutBtoAType
@ icSigResponseCurveSet16Type
@ icSigS15Fixed16ArrayType
@ icSigUtf16TextType
@ icSigColorantTableType
@ icSigViewingConditionsType
@ icSigTextDescriptionType
@ icSigEmbeddedNormalImageType
@ icSigCurveType
@ icSigColorantOrderType
@ icSigDateTimeType
@ icSigFloat64ArrayType
@ icSigLut16Type
@ icSigScreeningType
@ icSigUInt64ArrayType
@ icSigTextType
@ icSigZipXmlType
@ icSigNamedColor2Type
@ icSigU16Fixed16ArrayType
@ icSigChromaticityType
@ icSigSignatureType
@ icSigZipUtf8TextType
@ icSigFloat32ArrayType
@ icSigUcrBgType
@ icSigCrdInfoType
@ icSigLutAtoBType
@ icSigDictType
@ icSigUInt32ArrayType
@ icSigGamutBoundaryDescType
@ icSigSpectralViewingConditionsTag
@ icSigSpectralDataInfoTag

References icSigChromaticityType, icSigCicpType, icSigColorantOrderType, icSigColorantTableType, icSigCrdInfoType, icSigCurveType, icSigDataType, icSigDateTimeType, icSigDictType, icSigEmbeddedHeightImageType, icSigEmbeddedNormalImageType, icSigEmbeddedProfileType, icSigFloat16ArrayType, icSigFloat32ArrayType, icSigFloat64ArrayType, icSigGamutBoundaryDescType, icSigLut16Type, icSigLut8Type, icSigLutAtoBType, icSigLutBtoAType, icSigMeasurementType, icSigMultiLocalizedUnicodeType, icSigMultiProcessElementType, icSigNamedColor2Type, icSigParametricCurveType, icSigProfileSequceIdType, icSigProfileSequenceDescType, icSigResponseCurveSet16Type, icSigS15Fixed16ArrayType, icSigScreeningType, icSigSegmentedCurveType, icSigSignatureType, icSigSparseMatrixArrayType, icSigSpectralDataInfoTag, icSigSpectralViewingConditionsTag, icSigTagArrayType, icSigTagStructType, icSigTextDescriptionType, icSigTextType, icSigU16Fixed16ArrayType, icSigUcrBgType, icSigUInt16ArrayType, icSigUInt32ArrayType, icSigUInt64ArrayType, icSigUInt8ArrayType, icSigUtf16TextType, icSigUtf8TextType, icSigViewingConditionsType, icSigXYZArrayType, icSigZipUtf8TextType, icSigZipXMLType, and icSigZipXmlType.

◆ GetTagNameSig()

icTagSignature CIccSpecTagFactory::GetTagNameSig ( const icChar * szTagName)
virtual

Function: GetTagNameSig(szTagName) Get signature from tag display name.

Parameter(s): szTagName = name of tag

Returns tag signature of tag if tag name is recognized by the factory, icSigUnknownTag if the tag name is not recognized.

Implements IIccTagFactory.

Definition at line 479 of file IccTagFactory.cpp.

480{
481 if (g_TagSigToNameMap.empty()) {
482 for (int i = 0; g_icTagNameTable[i].sig; i++)
484 }
485 icTagNameToSigMap::iterator sig = g_TagNameToSigMap.find(szName);
486 if (sig != g_TagNameToSigMap.end())
487 return sig->second;
488
489 return icSigUnknownTag;
490}
icArraySignature sig
static icTagNameToSigMap g_TagNameToSigMap
static icTagSigToNameMap g_TagSigToNameMap
const icChar * szName
struct @5 g_icTagNameTable[]
#define icSigUnknownTag
Convenience Enum Definitions - Not defined in ICC specification.

References g_icTagNameTable, g_TagNameToSigMap, g_TagSigToNameMap, icSigUnknownTag, sig, and szName.

◆ GetTagSigName()

const icChar * CIccSpecTagFactory::GetTagSigName ( icTagSignature tagSig)
virtual

Function: GetTagSigName(tagSig) Get display name of tagSig.

Parameter(s): tagName = string to put tag name into, tagSig = signature of the ICC tag type to get a name for

Returns pointer to string containing name of tag if tag is recognized by the factory, NULL if the factory doesn't create tagSig tags.

Implements IIccTagFactory.

Definition at line 466 of file IccTagFactory.cpp.

467{
468 if (g_TagSigToNameMap.empty()) {
469 for (int i = 0; g_icTagNameTable[i].sig; i++)
471 }
472 icTagSigToNameMap::iterator sig = g_TagSigToNameMap.find(tagSig);
473 if (sig != g_TagSigToNameMap.end())
474 return sig->second.c_str();
475
476 return NULL;
477}

References g_icTagNameTable, g_TagSigToNameMap, sig, and szName.

◆ GetTagTypeNameSig()

icTagTypeSignature CIccSpecTagFactory::GetTagTypeNameSig ( const icChar * szTypeName)
virtual

Function: GetTagTypeNameSig(szTypeName) Get signature based on display name of tag type.

Parameter(s): szTypeName = name of the ICC tag type to get a signature for

Returns tag type signature of tag type name if type name is recognized by the factory, icSigUnknownType if the type name is not recognized.

Implements IIccTagFactory.

Definition at line 505 of file IccTagFactory.cpp.

506{
507 if (g_TagTypeNameToSigMap.empty()) {
508 for (int i = 0; g_icTagTypeNameTable[i].sig; i++)
510 }
511 icTagTypeNameToSigMap::iterator sig = g_TagTypeNameToSigMap.find(szName);
512 if (sig != g_TagTypeNameToSigMap.end())
513 return sig->second;
514
515 //Allow conversion from alternate names (backwards compatibility with earlier versions)
516 if (g_AltTagTypeNameToSigMap.empty()) {
517 for (int i = 0; g_icAltTagTypeNameTable[i].sig; i++)
519 }
521 if (sig != g_AltTagTypeNameToSigMap.end())
522 return sig->second;
523
524 return icSigUnknownType;
525}
static icTagTypeNameToSigMap g_AltTagTypeNameToSigMap
struct @6 g_icTagTypeNameTable[]
struct @7 g_icAltTagTypeNameTable[]
static icTagTypeNameToSigMap g_TagTypeNameToSigMap
#define icSigUnknownType
Convenience Enum Definitions - Not defined in ICC specification.

References g_AltTagTypeNameToSigMap, g_icAltTagTypeNameTable, g_icTagTypeNameTable, g_TagTypeNameToSigMap, icSigUnknownType, sig, and szName.

◆ GetTagTypeSigName()

const icChar * CIccSpecTagFactory::GetTagTypeSigName ( icTagTypeSignature tagTypeSig)
virtual

Function: GetTagTypeSigName(tagTypeSig) Get display name of tagTypeSig.

Parameter(s): tagName = string to put tag name into, tagTypeSig = signature of the ICC tag type to get a name for

Returns pointer to string containing name of tag type if tag is recognized by the factory, NULL if the factory doesn't create tagTypeSig tags.

Implements IIccTagFactory.

Definition at line 492 of file IccTagFactory.cpp.

493{
494 if (g_TagTypeSigToNameMap.empty()) {
495 for (int i = 0; g_icTagTypeNameTable[i].sig; i++)
497 }
498 icTagTypeSigToNameMap::iterator sig = g_TagTypeSigToNameMap.find(typeSig);
499 if (sig != g_TagTypeSigToNameMap.end())
500 return sig->second.c_str();
501
502 return NULL;
503}
static icTagTypeSigToNameMap g_TagTypeSigToNameMap

References g_icTagTypeNameTable, g_TagTypeSigToNameMap, sig, and szName.


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