libopenraw
|
Public Types | |
typedef std::shared_ptr< IfdDir > | Ref |
typedef std::vector< Ref > | RefVec |
Public Member Functions | |
IfdDir (off_t _offset, IfdFileContainer &_container) | |
bool | isPrimary () const |
bool | isThumbnail () const |
off_t | offset () const |
const IfdFileContainer & | container () 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 () |
Ref | getMakerNoteIfd () |
Definition at line 43 of file ifddir.hpp.
IfdDir::Ref OpenRaw::Internals::IfdDir::getExifIFD | ( | ) |
get the Exif IFD.
The SubIFD is located at offset found in the field EXIF_TAG_SUB_IFDS
Definition at line 173 of file ifddir.cpp.
Referenced by 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 94 of file ifddir.cpp.
Referenced by getValue().
IfdDir::Ref OpenRaw::Internals::IfdDir::getMakerNoteIfd | ( | ) |
get the MakerNote IFD.
Definition at line 192 of file ifddir.cpp.
References OpenRaw::Internals::MakerNoteDir::createMakerNote().
Referenced by getValue().
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 128 of file ifddir.cpp.
Referenced by getValue().
bool OpenRaw::Internals::IfdDir::getSubIFDs | ( | std::vector< IfdDir::Ref > & | ifds | ) |
get all SubIFDs
ifds | the list of IFDs Ref |
Definition at line 148 of file ifddir.cpp.
Referenced by getValue().
|
inline |
Get a T value from an entry
id | the IFD field id |
v | the long value |
Definition at line 70 of file ifddir.hpp.
References OpenRaw::Internals::IfdTypeTrait< T >::get(), getExifIFD(), getIntegerValue(), getMakerNoteIfd(), getSubIFD(), getSubIFDs(), and nextIFD().
bool OpenRaw::Internals::IfdDir::load | ( | ) |
off_t OpenRaw::Internals::IfdDir::nextIFD | ( | ) |
get the offset of the next IFD in absolute
Definition at line 105 of file ifddir.cpp.
Referenced by getValue().
|
inline |
return the number of entries
Definition at line 61 of file ifddir.hpp.
|
inline |
return the offset
Definition at line 55 of file ifddir.hpp.
References load().
Referenced by OpenRaw::Internals::MakerNoteDir::createMakerNote().