Exiv2
Loading...
Searching...
No Matches
tifffwd_int.hpp
1// SPDX-License-Identifier: GPL-2.0-or-later
2
3#ifndef TIFFFWD_INT_HPP_
4#define TIFFFWD_INT_HPP_
5
6// *****************************************************************************
7// included header files
8#include "tags_int.hpp"
9#include "types.hpp"
10
11// + standard includes
12#include <stack>
13
14// *****************************************************************************
15// Exiv2 namespace extensions
16namespace Exiv2 {
17class Exifdatum;
18
19namespace Internal {
20class TiffHeaderBase;
21class TiffComponent;
22class TiffEntryBase;
23class TiffEntry;
24class TiffDataEntry;
25class TiffSizeEntry;
26class TiffDirectory;
27class TiffSubIfd;
28class TiffMnEntry;
29class TiffBinaryArray;
31
33class MnHeader;
34
35class TiffVisitor;
36class TiffFinder;
37class TiffDecoder;
38class TiffEncoder;
39class TiffReader;
40
41class TiffRwState;
42class TiffPathItem;
43struct TiffMappingInfo;
44
45class IoWrapper;
46class OffsetWriter;
47
48// *****************************************************************************
49// type definitions
50
55using DecoderFct = void (TiffDecoder::*)(const TiffEntryBase*);
60using EncoderFct = void (TiffEncoder::*)(TiffEntryBase*, const Exifdatum*);
64using FindDecoderFct = DecoderFct (*)(const std::string& make, uint32_t extendedTag, IfdId group);
68using FindEncoderFct = EncoderFct (*)(const std::string& make, uint32_t extendedTag, IfdId group);
74using NewTiffCompFct = std::unique_ptr<TiffComponent> (*)(uint16_t tag, IfdId group);
75
77using TiffPath = std::stack<TiffPathItem>;
78
80using PrimaryGroups = std::vector<IfdId>;
81} // namespace Internal
82} // namespace Exiv2
83
84#endif // #ifndef TIFFFWD_INT_HPP_
An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate these.
Definition exif.hpp:41
Simple IO wrapper to ensure that the header is only written if there is any other data at all.
Definition tiffcomposite_int.hpp:102
Makernote header interface. This class is used with TIFF makernotes.
Definition makernote_int.hpp:92
Class to insert pointers or offsets to computed addresses at specific locations in an image....
Definition tiffimage_int.hpp:295
Composite to model an array of different tags. The tag types as well as other aspects of the array ar...
Definition tiffcomposite_int.hpp:1263
Element of a TiffBinaryArray.
Definition tiffcomposite_int.hpp:1394
Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directori...
Definition tiffcomposite_int.hpp:152
A standard TIFF IFD entry consisting of a value which is an offset to a data area and the data area....
Definition tiffcomposite_int.hpp:649
TIFF composite visitor to decode metadata from the TIFF tree and add it to an Image,...
Definition tiffvisitor_int.hpp:251
This class models a TIFF directory (Ifd). It is a composite component of the TIFF tree.
Definition tiffcomposite_int.hpp:823
TIFF composite visitor to encode metadata from an image to the TIFF tree. The metadata containers and...
Definition tiffvisitor_int.hpp:343
This abstract base class provides the common functionality of an IFD directory entry and defines an e...
Definition tiffcomposite_int.hpp:380
A standard TIFF IFD entry.
Definition tiffcomposite_int.hpp:568
Search the composite for a component with tag and group. Return a pointer to the component or 0,...
Definition tiffvisitor_int.hpp:128
Contains internal objects which are not published and are not part of the libexiv2 API.
Definition tiffimage_int.hpp:29
Tiff IFD Makernote. This is a concrete class suitable for all IFD makernotes.
Definition tiffcomposite_int.hpp:1067
This class is the basis for Makernote support in TIFF. It contains a pointer to a concrete Makernote....
Definition tiffcomposite_int.hpp:1006
A tuple consisting of extended Tag and group used as an item in TIFF paths.
Definition tiffcomposite_int.hpp:62
TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from...
Definition tiffvisitor_int.hpp:579
Simple state class containing relevant state information for the TIFF reader. This is in a separate c...
Definition tiffvisitor_int.hpp:535
A TIFF IFD entry containing the size of a data area of a related TiffDataEntry. This component is use...
Definition tiffcomposite_int.hpp:778
This class models a TIFF sub-directory (sub-IFD). A sub-IFD is an entry with one or more values that ...
Definition tiffcomposite_int.hpp:932
Abstract base class defining the interface for TIFF composite visitors (Visitor pattern)
Definition tiffvisitor_int.hpp:39
Helper structure for the Matroska tags lookup table.
Definition matroskavideo.hpp:39
std::stack< TiffPathItem > TiffPath
Stack to hold a path from the TIFF root element to a TIFF entry.
Definition tifffwd_int.hpp:77
DecoderFct(*)(const std::string &make, uint32_t extendedTag, IfdId group) FindDecoderFct
Type for a function pointer for a function to decode a TIFF component.
Definition tifffwd_int.hpp:64
void(TiffEncoder::*)(TiffEntryBase *, const Exifdatum *) EncoderFct
Function pointer type for a TiffDecoder member function to decode a TIFF component.
Definition tifffwd_int.hpp:60
std::unique_ptr< TiffComponent >(*)(uint16_t tag, IfdId group) NewTiffCompFct
Type for a function pointer for a function to create a TIFF component. Use TiffComponent::UniquePtr,...
Definition tifffwd_int.hpp:74
EncoderFct(*)(const std::string &make, uint32_t extendedTag, IfdId group) FindEncoderFct
Type for a function pointer for a function to encode a TIFF component.
Definition tifffwd_int.hpp:68
std::vector< IfdId > PrimaryGroups
Type for a list of primary image groups.
Definition tifffwd_int.hpp:80
void(TiffDecoder::*)(const TiffEntryBase *) DecoderFct
Function pointer type for a TiffDecoder member function to decode a TIFF component.
Definition tifffwd_int.hpp:55
Class CrwImage to access Canon CRW images. References: The Canon RAW (CRW) File Format by Phil Harv...
Definition asfvideo.hpp:15
IfdId
Type to specify the IFD to which a metadata belongs.
Definition tags.hpp:34
EXIV2API ExifData::const_iterator make(const ExifData &ed)
Return the camera make. Please keep in mind that this accessor is provided for convenience only and w...
Definition easyaccess.cpp:333
TIFF mapping table for functions to decode special cases.
Definition tiffcomposite_int.hpp:342