Classes | |
struct | isPrimary |
struct | isThumbnail |
Public Types | |
typedef boost::shared_ptr< IFDDir > | Ref |
typedef std::vector< Ref > | RefVec |
Public Member Functions | |
IFDDir (off_t _offset, IFDFileContainer &_container) | |
off_t | offset () const |
bool | load () |
int | numTags () |
IFDEntry::Ref | getEntry (uint16_t id) const |
template<typename T > | |
bool | getValue (uint16_t id, T &v) const |
bool | getIntegerValue (uint16_t id, uint32_t &v) |
off_t | nextIFD () |
Ref | getSubIFD (uint32_t idx=0) const |
bool | getSubIFDs (std::vector< IFDDir::Ref > &ifds) |
Ref | getExifIFD () |
Definition at line 37 of file ifddir.h.
IFDDir::Ref OpenRaw::Internals::IFDDir::getExifIFD | ( | ) |
get the Exif IFD.
The SubIFD is locate at offset found in the field EXIF_TAG_SUB_IFDS
Definition at line 201 of file ifddir.cpp.
References getValue().
bool OpenRaw::Internals::IFDDir::getIntegerValue | ( | uint16_t | id, | |
uint32_t & | v | |||
) |
Get an loosely typed integer value from an entry. This method is preferred over getLongValue() or getShortValue() unless you really want the strong typing that IFD structure provide
id | the IFD field id |
v | the long value |
Definition at line 100 of file ifddir.cpp.
IFDDir::Ref OpenRaw::Internals::IFDDir::getSubIFD | ( | uint32_t | idx = 0 |
) | const |
get the SubIFD at index idx.
The SubIFD is locate at offset found in the field EXIF_TAG_SUB_IFDS
Definition at line 154 of file ifddir.cpp.
bool OpenRaw::Internals::IFDDir::getSubIFDs | ( | std::vector< IFDDir::Ref > & | ifds | ) |
get all SubIFDs
ifds | the list of IFDs Ref |
Definition at line 175 of file ifddir.cpp.
bool OpenRaw::Internals::IFDDir::getValue | ( | uint16_t | id, | |
T & | v | |||
) | const [inline] |
Get a T value from an entry
id | the IFD field id |
v | the long value |
Definition at line 75 of file ifddir.h.
Referenced by getExifIFD().
bool OpenRaw::Internals::IFDDir::load | ( | ) |
load the directory to memory
Definition at line 63 of file ifddir.cpp.
References OpenRaw::IO::Stream::read(), OpenRaw::Internals::RawContainer::readInt16(), OpenRaw::Internals::RawContainer::readInt32(), OpenRaw::Internals::RawContainer::readUInt16(), and OpenRaw::IO::Stream::seek().
off_t OpenRaw::Internals::IFDDir::nextIFD | ( | ) |
get the offset of the next IFD in absolute
Definition at line 129 of file ifddir.cpp.
References OpenRaw::Internals::RawContainer::readInt16(), OpenRaw::Internals::RawContainer::readInt32(), and OpenRaw::IO::Stream::seek().
int OpenRaw::Internals::IFDDir::numTags | ( | ) | [inline] |
off_t OpenRaw::Internals::IFDDir::offset | ( | ) | const [inline] |