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