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 > | |
Option< T > | getValue (uint16_t id) const |
Option< uint32_t > | getIntegerValue (uint16_t id) |
off_t | nextIFD () |
Ref | getSubIFD (uint32_t idx=0) const |
Option< std::vector< IfdDir::Ref > > | getSubIFDs () |
Ref | getExifIFD () |
Ref | getMakerNoteIfd () |
Definition at line 44 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().
Option< uint32_t > OpenRaw::Internals::IfdDir::getIntegerValue | ( | uint16_t | id | ) |
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 |
Definition at line 101 of file ifddir.cpp.
Referenced by getValue().
IfdDir::Ref OpenRaw::Internals::IfdDir::getMakerNoteIfd | ( | ) |
get the MakerNote IFD.
Definition at line 191 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 131 of file ifddir.cpp.
Referenced by getValue().
Option< std::vector< IfdDir::Ref > > OpenRaw::Internals::IfdDir::getSubIFDs | ( | ) |
get all SubIFDs
Definition at line 151 of file ifddir.cpp.
Referenced by getValue().
|
inline |
Get a T value from an entry
id | the IFD field id |
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 110 of file ifddir.cpp.
Referenced by getValue().
|
inline |
return the number of entries
Definition at line 62 of file ifddir.hpp.
|
inline |
return the offset
Definition at line 56 of file ifddir.hpp.
References load().
Referenced by OpenRaw::Internals::MakerNoteDir::createMakerNote().