Public Types | |
typedef boost::shared_ptr < IFDDir > | Ref |
Public Member Functions | |
IFDDir (off_t _offset, IFDFileContainer &_container) | |
virtual | ~IFDDir () |
off_t | offset () const |
bool | load () |
int | numTags () |
IFDEntry::Ref | getEntry (int id) |
bool | getIntegerValue (int id, uint32_t &v) |
bool | getLongValue (int id, uint32_t &v) |
bool | getShortValue (int id, uint16_t &v) |
off_t | nextIFD () |
Ref | getSubIFD () |
Ref | getExifIFD () |
Definition at line 35 of file ifddir.h.
off_t OpenRaw::Internals::IFDDir::offset | ( | ) | const [inline] |
return the offset
Definition at line 44 of file ifddir.h.
Referenced by getExifIFD(), and getSubIFD().
bool OpenRaw::Internals::IFDDir::load | ( | ) |
load the directory to memory
Definition at line 49 of file ifddir.cpp.
References OpenRaw::Internals::RawContainer::file(), OpenRaw::IO::Stream::read(), OpenRaw::Internals::RawContainer::readInt16(), OpenRaw::Internals::RawContainer::readInt32(), and OpenRaw::IO::Stream::seek().
int OpenRaw::Internals::IFDDir::numTags | ( | ) | [inline] |
bool OpenRaw::Internals::IFDDir::getIntegerValue | ( | int | 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 84 of file ifddir.cpp.
References OpenRaw::Internals::IFD::EXIF_FORMAT_LONG, OpenRaw::Internals::IFD::EXIF_FORMAT_SHORT, and getEntry().
bool OpenRaw::Internals::IFDDir::getLongValue | ( | int | id, | |
uint32_t & | v | |||
) |
Get a long value from an entry
id | the IFD field id |
v | the long value |
Definition at line 113 of file ifddir.cpp.
References getEntry().
Referenced by getExifIFD(), and getSubIFD().
bool OpenRaw::Internals::IFDDir::getShortValue | ( | int | id, | |
uint16_t & | v | |||
) |
Get a short value from an entry
id | the IFD field id |
v | the long value |
Definition at line 131 of file ifddir.cpp.
References getEntry().
off_t OpenRaw::Internals::IFDDir::nextIFD | ( | ) |
get the offset of the next IFD in absolute
Definition at line 148 of file ifddir.cpp.
References OpenRaw::Internals::RawContainer::file(), OpenRaw::Internals::RawContainer::readInt16(), OpenRaw::Internals::RawContainer::readInt32(), and OpenRaw::IO::Stream::seek().
IFDDir::Ref OpenRaw::Internals::IFDDir::getSubIFD | ( | ) |
get the SubIFD.
Definition at line 173 of file ifddir.cpp.
References OpenRaw::Internals::IFD::EXIF_TAG_SUB_IFDS, getLongValue(), IFDDir(), and offset().
IFDDir::Ref OpenRaw::Internals::IFDDir::getExifIFD | ( | ) |
get the Exif IFD.
Definition at line 187 of file ifddir.cpp.
References OpenRaw::Internals::IFD::EXIF_TAG_EXIF_IFD_POINTER, getLongValue(), IFDDir(), and offset().