tiffcomposite_int.hpp File Reference

Internal classes used in a TIFF composite structure. More...

#include "image.hpp"
#include "tifffwd_int.hpp"
#include "types.hpp"
#include <iosfwd>
#include <vector>
#include <string>
#include <cassert>

Include dependency graph for tiffcomposite_int.hpp:

This graph shows which files directly or indirectly include this file:


Namespaces

namespace  Exiv2
namespace  Exiv2::Internal
namespace  Exiv2::Internal::Group
namespace  Exiv2::Internal::Tag

Classes

class  Exiv2::Internal::TiffPathItem
 A tupel consisting of extended Tag and group used as an item in TIFF paths. 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::TiffArrayEntry
 Composite to model an array of tags, each consisting of values of a given type. Canon and Minolta makernotes use such tags. The elements of this component are of type TiffArrayElement. More...
class  Exiv2::Internal::TiffArrayElement
 Element of a TiffArrayEntry. The value of all elements of a TiffArrayEntry must be of the same type. Canon and Minolta makernotes use such arrays. More...

Typedefs

typedef uint16_t Exiv2::Internal::TiffType
 TIFF value type.

Functions

TypeId Exiv2::Internal::toTypeId (TiffType tiffType, uint16_t tag, uint16_t 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.
const char * Exiv2::Internal::tiffGroupName (uint16_t group)
 Return the group name for a group.
uint16_t Exiv2::Internal::tiffGroupId (const std::string &groupName)
 Return the TIFF group id for a group name.
TiffComponent::AutoPtr Exiv2::Internal::newTiffEntry (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF entry.
TiffComponent::AutoPtr Exiv2::Internal::newTiffMnEntry (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF makernote entry.
template<uint16_t newGroup>
TiffComponent::AutoPtr Exiv2::Internal::newTiffDirectory (uint16_t tag, uint16_t)
 Function to create and initialize a new TIFF directory.
template<uint16_t newGroup>
TiffComponent::AutoPtr Exiv2::Internal::newTiffSubIfd (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF sub-directory.
template<uint16_t newGroup, TiffType tiffType, bool addSizeElement>
TiffComponent::AutoPtr Exiv2::Internal::newTiffArrayEntry (uint16_t tag, uint16_t group)
 Function to create and initialize a new array entry.
template<TiffType tiffType, ByteOrder byteOrder>
TiffComponent::AutoPtr Exiv2::Internal::newTiffArrayElement (uint16_t tag, uint16_t group)
 Function to create and initialize a new array element.
template<uint16_t szTag, uint16_t szGroup>
TiffComponent::AutoPtr Exiv2::Internal::newTiffThumbData (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF entry for a thumbnail (data).
template<uint16_t dtTag, uint16_t dtGroup>
TiffComponent::AutoPtr Exiv2::Internal::newTiffThumbSize (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF entry for a thumbnail (size).
template<uint16_t szTag, uint16_t szGroup>
TiffComponent::AutoPtr Exiv2::Internal::newTiffImageData (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF entry for image data.
template<uint16_t dtTag, uint16_t dtGroup>
TiffComponent::AutoPtr Exiv2::Internal::newTiffImageSize (uint16_t tag, uint16_t 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 uint16_t Exiv2::Internal::Group::none = 0
 Dummy group.
const uint16_t Exiv2::Internal::Group::ifd0 = 1
 Exif IFD0.
const uint16_t Exiv2::Internal::Group::ifd1 = 2
 Thumbnail IFD.
const uint16_t Exiv2::Internal::Group::ifd2 = 3
 IFD2.
const uint16_t Exiv2::Internal::Group::exif = 4
 Exif IFD.
const uint16_t Exiv2::Internal::Group::gps = 5
 GPS IFD.
const uint16_t Exiv2::Internal::Group::iop = 6
 Interoperability IFD.
const uint16_t Exiv2::Internal::Group::subimg1 = 7
 1st TIFF SubIFD in IFD0
const uint16_t Exiv2::Internal::Group::subimg2 = 8
 2nd TIFF SubIFD in IFD0
const uint16_t Exiv2::Internal::Group::subimg3 = 9
 3rd TIFF SubIFD in IFD0
const uint16_t Exiv2::Internal::Group::subimg4 = 10
 4th TIFF SubIFD in IFD0
const uint16_t Exiv2::Internal::Group::panaraw = 64
 IFD0 of Panasonic RAW images.
const uint16_t Exiv2::Internal::Group::mn = 256
 Makernote.
const uint16_t Exiv2::Internal::Group::ignr = 511
 Read but do not decode.
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.

Detailed Description

Internal classes used in a TIFF composite structure.

Version:
Rev
1750
Author:
Andreas Huggel (ahu) ahuggel@gmx.net
Date:
11-Apr-06, ahu: created

Generated on Wed May 6 13:06:50 2009 for Exiv2 by  doxygen 1.5.6