Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccTagEmbedIcc.h
Go to the documentation of this file.
1/** @file
2File: IccTagEmbedIcc.h
3
4Contains: Header for implementation of the CIccTagEmbedProfile class
5and inherited classes
6
7Version: V1
8
9Copyright: see ICC Software License
10*/
11
12/*
13* The ICC Software License, Version 0.2
14*
15*
16* Copyright (c) 2003-2018 The International Color Consortium. All rights
17* reserved.
18*
19* Redistribution and use in source and binary forms, with or without
20* modification, are permitted provided that the following conditions
21* are met:
22*
23* 1. Redistributions of source code must retain the above copyright
24* notice, this list of conditions and the following disclaimer.
25*
26* 2. Redistributions in binary form must reproduce the above copyright
27* notice, this list of conditions and the following disclaimer in
28* the documentation and/or other materials provided with the
29* distribution.
30*
31* 3. In the absence of prior written permission, the names "ICC" and "The
32* International Color Consortium" must not be used to imply that the
33* ICC organization endorses or promotes products derived from this
34* software.
35*
36*
37* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40* DISCLAIMED. IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
41* ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48* SUCH DAMAGE.
49* ====================================================================
50*
51* This software consists of voluntary contributions made by many
52* individuals on behalf of the The International Color Consortium.
53*
54*
55* Membership in the ICC is encouraged when this software is used for
56* commercial purposes.
57*
58*
59* For more information on The International Color Consortium, please
60* see <http://www.color.org/>.
61*
62*
63*/
64
65//////////////////////////////////////////////////////////////////////
66// HISTORY:
67//
68// -Initial implementation by Max Derhak 3-9-2018
69//
70//////////////////////////////////////////////////////////////////////
71
72#if !defined(_ICCTAGEMBEDICC_H)
73#define _ICCTAGEMBEDICC_H
74
75#include "IccTagBasic.h"
76/**
77****************************************************************************
78* Class: IccTagEmbeddedProfile
79*
80* Purpose: This "private" tag is used to embed a profile within a profile
81* allowing for v5 profiles to be embedded in v2/v4 profiles
82*****************************************************************************
83*/
85{
86public:
89 CIccTagEmbeddedProfile &operator=(const CIccTagEmbeddedProfile &UnknownTag);
90 virtual CIccTag* NewCopy() const { return new CIccTagEmbeddedProfile(*this); }
92
93 virtual bool IsSupported() { return true; }
94
96 virtual const icChar *GetClassName() const { return "CIccTagEmbeddedProfile"; }
97
98 virtual CIccProfile *GetProfile() const { return m_pProfile; }
99
100 virtual bool Read(icUInt32Number size, CIccIO *pIO) { return Read(size, pIO, NULL); }
101 virtual bool Read(icUInt32Number size, CIccIO *pIO, CIccProfile *pProfile);
102
103 virtual bool ReadAll();
104
105 virtual bool Write(CIccIO *pIO);
106
107 virtual void Describe(std::string &sDescription, int nVerboseness);
108
109 virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile* pProfile = NULL) const;
110
111 //The m_pProfile is owned by this tag
112 CIccProfile *m_pProfile;
113};
114
115#endif
char icChar
Definition IccDefs.h:109
icValidateStatus
Definition IccDefs.h:118
#define ICCPROFLIB_API
File: IccTagBasic.h.
icTagTypeSignature
unsigned int icUInt32Number
Type: Class.
Definition IccIO.h:97
Class: IccTagEmbeddedProfile.
virtual icTagTypeSignature GetType() const
Function: GetType()
virtual CIccTag * NewCopy() const
Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
virtual bool IsSupported()
Function: IsSupported(size, pIO) - Check if tag fully supported for apply purposes.
virtual CIccProfile * GetProfile() const
virtual bool Read(icUInt32Number size, CIccIO *pIO)
Function: Read(size, pIO) - Read tag from file.
virtual const icChar * GetClassName() const
Class: CIccTag.
virtual void Describe(std::string &sDescription, int nVerboseness=0)
Function: Describe(sDescription) Each derived tag will implement it's own Describe() function.
virtual bool Read(icUInt32Number size, CIccIO *pIO)
Function: Read(size, pIO) - Read tag from file.
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
Function: Validate Each derived tag will implement it's own IsValid() function.
virtual bool Write(CIccIO *pIO)
Function: Write(pIO) Each derived tag will implement it's own Write() function.
virtual bool ReadAll()
Function: ReadAll() - Read All sub data for tag from file.
@ icSigEmbeddedProfileType