![]() |
Exiv2
|
Internal classes used in a TIFF composite structure. More...
#include "value.hpp"
#include "tifffwd_int.hpp"
#include "types.hpp"
#include <iosfwd>
#include <vector>
#include <string>
#include <cassert>
Go to the source code of this file.
Classes | |
class | Exiv2::Internal::TiffPathItem |
A tupel consisting of extended Tag and group used as an item in TIFF paths. More... | |
class | Exiv2::Internal::IoWrapper |
Simple IO wrapper to ensure that the header is only written if there is any other data at all. More... | |
class | Exiv2::Internal::TiffComponent |
Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directories as well as entries implement this interface. A component can be uniquely identified by a tag, group tupel. This class is implemented as a NVI (Non-Virtual Interface) and it has an interface for visitors (Visitor pattern) to perform operations on all components. More... | |
struct | Exiv2::Internal::TiffMappingInfo |
TIFF mapping table for functions to decode special cases. More... | |
struct | Exiv2::Internal::TiffMappingInfo::Key |
Search key for TIFF mapping structures. More... | |
class | Exiv2::Internal::TiffEntryBase |
This abstract base class provides the common functionality of an IFD directory entry and defines an extended interface for derived concrete entries, which allows access to the attributes of the entry. More... | |
class | Exiv2::Internal::TiffEntry |
A standard TIFF IFD entry. More... | |
class | Exiv2::Internal::TiffDataEntryBase |
Interface for a standard TIFF IFD entry consisting of a value which is a set of offsets to a data area. The sizes of these "strips" are provided in a related TiffSizeEntry, tag and group of which are set in the constructor. The implementations of this interface differ in whether the data areas are extracted to the higher level metadata (TiffDataEntry) or not (TiffImageEntry). More... | |
class | Exiv2::Internal::TiffDataEntry |
A standard TIFF IFD entry consisting of a value which is an offset to a data area and the data area. The size of the data area is provided in a related TiffSizeEntry, tag and group of which are set in the constructor. More... | |
class | Exiv2::Internal::TiffImageEntry |
A standard TIFF IFD entry consisting of a value which is an array of offsets to image data areas. The sizes of the image data areas are provided in a related TiffSizeEntry, tag and group of which are set in the constructor. More... | |
class | Exiv2::Internal::TiffSizeEntry |
A TIFF IFD entry containing the size of a data area of a related TiffDataEntry. This component is used, e.g. for Exif.Thumbnail.JPEGInterchangeFormatLength, which contains the size of Exif.Thumbnail.JPEGInterchangeFormat. More... | |
class | Exiv2::Internal::TiffDirectory |
This class models a TIFF directory (Ifd). It is a composite component of the TIFF tree. More... | |
class | Exiv2::Internal::TiffSubIfd |
This class models a TIFF sub-directory (sub-IFD). A sub-IFD is an entry with one or more values that are pointers to IFD structures containing an IFD. The TIFF standard defines some important tags to be sub-IFDs, including the Exif and GPS tags. More... | |
class | Exiv2::Internal::TiffMnEntry |
This class is the basis for Makernote support in TIFF. It contains a pointer to a concrete Makernote. The TiffReader visitor has the responsibility to create the correct Make/Model specific Makernote for a particular TIFF file. Calls to child management methods are forwarded to the concrete Makernote, if there is one. More... | |
class | Exiv2::Internal::TiffIfdMakernote |
Tiff IFD Makernote. This is a concrete class suitable for all IFD makernotes. More... | |
struct | Exiv2::Internal::ArrayDef |
Defines one tag in a binary array. More... | |
struct | Exiv2::Internal::ArrayCfg |
Additional configuration for a binary array. More... | |
struct | Exiv2::Internal::ArraySet |
Combination of array configuration and definition for arrays. More... | |
class | Exiv2::Internal::TiffBinaryArray |
Composite to model an array of different tags. The tag types as well as other aspects of the array are configurable. The elements of this component are of type TiffBinaryElement. More... | |
class | Exiv2::Internal::TiffBinaryElement |
Element of a TiffBinaryArray. More... | |
Namespaces | |
Exiv2 | |
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of the objects of this namespace. | |
Exiv2::Internal | |
Contains internal objects which are not published and are not part of the libexiv2 API. | |
Exiv2::Internal::Tag | |
Typedefs | |
typedef uint16_t | Exiv2::Internal::TiffType |
TIFF value type. | |
typedef int(* | Exiv2::Internal::CfgSelFct) (uint16_t, const byte *, uint32_t, TiffComponent *const) |
Function pointer type for a function to determine which cfg + def of a corresponding array set to use. | |
typedef DataBuf(* | Exiv2::Internal::CryptFct) (uint16_t, const byte *, uint32_t, TiffComponent *const) |
Function pointer type for a crypt function used for binary arrays. | |
Functions | |
TypeId | Exiv2::Internal::toTypeId (TiffType tiffType, uint16_t tag, IfdId group) |
Convert the tiffType of a tag and group to an Exiv2 typeId. | |
TiffType | Exiv2::Internal::toTiffType (TypeId typeId) |
Convert the Exiv2 typeId to a TIFF value type. | |
bool | Exiv2::Internal::cmpTagLt (TiffComponent const *lhs, TiffComponent const *rhs) |
Compare two TIFF component pointers by tag. Return true if the tag of component lhs is less than that of rhs. | |
bool | Exiv2::Internal::cmpGroupLt (TiffComponent const *lhs, TiffComponent const *rhs) |
Compare two TIFF component pointers by group. Return true if the group of component lhs is less than that of rhs. | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffEntry (uint16_t tag, IfdId group) |
Function to create and initialize a new TIFF entry. | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffMnEntry (uint16_t tag, IfdId group) |
Function to create and initialize a new TIFF makernote entry. | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffBinaryElement (uint16_t tag, IfdId group) |
Function to create and initialize a new binary array element. | |
template<IfdId newGroup> | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffDirectory (uint16_t tag, IfdId) |
Function to create and initialize a new TIFF directory. | |
template<IfdId newGroup> | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffSubIfd (uint16_t tag, IfdId group) |
Function to create and initialize a new TIFF sub-directory. | |
template<const ArrayCfg * arrayCfg, int N, const ArrayDef(&) arrayDef> | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffBinaryArray0 (uint16_t tag, IfdId group) |
Function to create and initialize a new binary array entry. | |
template<const ArrayCfg * arrayCfg> | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffBinaryArray1 (uint16_t tag, IfdId group) |
Function to create and initialize a new simple binary array entry. | |
template<const ArraySet * arraySet, int N, CfgSelFct cfgSelFct> | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffBinaryArray2 (uint16_t tag, IfdId group) |
Function to create and initialize a new complex binary array entry. | |
template<uint16_t szTag, IfdId szGroup> | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffThumbData (uint16_t tag, IfdId group) |
Function to create and initialize a new TIFF entry for a thumbnail (data) | |
template<uint16_t dtTag, IfdId dtGroup> | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffThumbSize (uint16_t tag, IfdId group) |
Function to create and initialize a new TIFF entry for a thumbnail (size) | |
template<uint16_t szTag, IfdId szGroup> | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffImageData (uint16_t tag, IfdId group) |
Function to create and initialize a new TIFF entry for image data. | |
template<uint16_t dtTag, IfdId dtGroup> | |
TiffComponent::AutoPtr | Exiv2::Internal::newTiffImageSize (uint16_t tag, IfdId group) |
Function to create and initialize a new TIFF entry for image data (size) | |
Variables | |
const TiffType | Exiv2::Internal::ttUnsignedByte = 1 |
Exif BYTE type. | |
const TiffType | Exiv2::Internal::ttAsciiString = 2 |
Exif ASCII type. | |
const TiffType | Exiv2::Internal::ttUnsignedShort = 3 |
Exif SHORT type. | |
const TiffType | Exiv2::Internal::ttUnsignedLong = 4 |
Exif LONG type. | |
const TiffType | Exiv2::Internal::ttUnsignedRational = 5 |
Exif RATIONAL type. | |
const TiffType | Exiv2::Internal::ttSignedByte = 6 |
Exif SBYTE type. | |
const TiffType | Exiv2::Internal::ttUndefined = 7 |
Exif UNDEFINED type. | |
const TiffType | Exiv2::Internal::ttSignedShort = 8 |
Exif SSHORT type. | |
const TiffType | Exiv2::Internal::ttSignedLong = 9 |
Exif SLONG type. | |
const TiffType | Exiv2::Internal::ttSignedRational =10 |
Exif SRATIONAL type. | |
const TiffType | Exiv2::Internal::ttTiffFloat =11 |
TIFF FLOAT type. | |
const TiffType | Exiv2::Internal::ttTiffDouble =12 |
TIFF DOUBLE type. | |
const TiffType | Exiv2::Internal::ttTiffIfd =13 |
TIFF IFD type. | |
const uint32_t | Exiv2::Internal::Tag::none = 0x10000 |
Dummy tag. | |
const uint32_t | Exiv2::Internal::Tag::root = 0x20000 |
Special tag: root IFD. | |
const uint32_t | Exiv2::Internal::Tag::next = 0x30000 |
Special tag: next IFD. | |
const uint32_t | Exiv2::Internal::Tag::all = 0x40000 |
Special tag: all tags in a group. | |
const uint32_t | Exiv2::Internal::Tag::pana = 0x80000 |
Special tag: root IFD of Panasonic RAW images. | |
Internal classes used in a TIFF composite structure.