OpenRaw::Internals::IFDFile Class Reference

generic IFD based raw file. More...

#include <ifdfile.h>

Inheritance diagram for OpenRaw::Internals::IFDFile:

OpenRaw::Internals::TiffEpFile

List of all members.

Protected Types

typedef std::map< uint32_t,
IFDThumbDesc
ThumbLocations

Protected Member Functions

 IFDFile (const char *_filename, Type _type, bool instantiateContainer=true)
virtual ::or_error _enumThumbnailSizes (std::vector< uint32_t > &list)
virtual ::or_error _locateThumbnail (const IFDDir::Ref &dir, std::vector< uint32_t > &list)
::or_error _getRawDataFromDir (RawData &data, IFDDir::Ref &dir)
virtual IFDDir::Ref _locateCfaIfd ()=0
virtual IFDDir::Ref _locateMainIfd ()=0
virtual IFDDir::Ref _locateExifIfd ()
virtual MetaValue * _getMetaValue (int32_t meta_index)

Protected Attributes

ThumbLocations m_thumbLocations
IO::Streamm_io
IFDFileContainer * m_container
IFDDir::Ref m_cfaIfd
IFDDir::Ref m_mainIfd
IFDDir::Ref m_exifIfd


Detailed Description

generic IFD based raw file.

Definition at line 62 of file ifdfile.h.


Member Function Documentation

or_error OpenRaw::Internals::IFDFile::_enumThumbnailSizes ( std::vector< uint32_t > &  list  )  [protected]

list the thumbnails in the IFD

Return values:
list the list of thumbnails
Returns:
the error code. OR_ERROR_NOT_FOUND if no thumbnail are found.

Definition at line 82 of file ifdfile.cpp.

References _locateThumbnail(), and m_container.

or_error OpenRaw::Internals::IFDFile::_locateThumbnail ( const IFDDir::Ref &  dir,
std::vector< uint32_t > &  list 
) [protected]

locate the thumnail in the IFD

Parameters:
dir the IFDDir where to locate the thumbnail
Returns:
the error code. OR_ERROR_NOT_FOUND if the thumbnail are not found.

Definition at line 124 of file ifdfile.cpp.

References m_cfaIfd, and m_io.

Referenced by _enumThumbnailSizes().

or_error OpenRaw::Internals::IFDFile::_getRawDataFromDir ( RawData &  data,
IFDDir::Ref &  dir 
) [protected]

load the compressed rawdata from a standard location in an IFD

Parameters:
data the data storage
dir the IFD
Returns:
the error code.

Definition at line 458 of file ifdfile.cpp.

References OpenRaw::Internals::Unpack::block_size(), m_container, m_exifIfd, and OpenRaw::Internals::Unpack::unpack_be12to16().


Member Data Documentation

the IO handle

Definition at line 94 of file ifdfile.h.

Referenced by _locateThumbnail().

IFDFileContainer* OpenRaw::Internals::IFDFile::m_container [protected]

the real container

Definition at line 95 of file ifdfile.h.

Referenced by _enumThumbnailSizes(), and _getRawDataFromDir().

IFDDir::Ref OpenRaw::Internals::IFDFile::m_cfaIfd [protected]

the IFD for the CFA

Definition at line 103 of file ifdfile.h.

Referenced by _locateThumbnail().

IFDDir::Ref OpenRaw::Internals::IFDFile::m_mainIfd [protected]

the IFD for the main image does not necessarily reference the CFA

Definition at line 104 of file ifdfile.h.

IFDDir::Ref OpenRaw::Internals::IFDFile::m_exifIfd [protected]

the Exif IFD

Definition at line 108 of file ifdfile.h.

Referenced by _getRawDataFromDir().


The documentation for this class was generated from the following files:

Generated on Sun Mar 23 09:30:49 2008 for libopenraw by  doxygen 1.5.5