libopenraw
Protected Types | Protected Member Functions | Protected Attributes | List of all members
OpenRaw::Internals::IFDFile Class Referenceabstract

generic IFD based raw file. More...

#include <ifdfile.h>

Inheritance diagram for OpenRaw::Internals::IFDFile:
OpenRaw::RawFile OpenRaw::Internals::ARWFile OpenRaw::Internals::Cr2File OpenRaw::Internals::MRWFile OpenRaw::Internals::OrfFile OpenRaw::Internals::PEFFile OpenRaw::Internals::TiffEpFile OpenRaw::Internals::DNGFile OpenRaw::Internals::ERFFile OpenRaw::Internals::NEFFile

Protected Types

typedef std::map< uint32_t,
IFDThumbDesc
ThumbLocations
 

Protected Member Functions

 IFDFile (IO::Stream *s, 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 void _identifyId ()
 
virtual MetaValue_getMetaValue (int32_t meta_index)
 
- Protected Member Functions inherited from OpenRaw::RawFile
 RawFile (IO::Stream *s, Type _type)
 
void _setTypeId (TypeId _type_id)
 
virtual ::or_error _getRawData (RawData &data, uint32_t options)=0
 
TypeId _typeIdFromModel (const std::string &model)
 
void _setIdMap (const camera_ids_t *map)
 

Protected Attributes

ThumbLocations m_thumbLocations
 
IO::Streamm_io
 
IFDFileContainerm_container
 
IFDDir::Ref m_cfaIfd
 
IFDDir::Ref m_mainIfd
 
IFDDir::Ref m_exifIfd
 

Additional Inherited Members

- Public Types inherited from OpenRaw::RawFile
typedef ::or_rawfile_type Type
 
typedef ::or_rawfile_typeid TypeId
 
- Public Member Functions inherited from OpenRaw::RawFile
virtual ~RawFile ()
 
Type type () const
 
TypeId typeId ()
 
const std::vector< uint32_t > & listThumbnailSizes (void)
 
::or_error getThumbnail (uint32_t size, Thumbnail &thumbnail)
 
::or_error getRawData (RawData &rawdata, uint32_t options)
 
::or_error getRenderedImage (BitmapData &bitmapdata, uint32_t options)
 
int32_t getOrientation ()
 
const MetaValuegetMetaValue (int32_t meta_index)
 
- Static Public Member Functions inherited from OpenRaw::RawFile
static const char ** fileExtensions ()
 
static RawFilenewRawFile (const char *_filename, Type _typeHint=OR_RAWFILE_TYPE_UNKNOWN)
 
static RawFilenewRawFileFromMemory (const uint8_t *buffer, uint32_t len, Type _typeHint=OR_RAWFILE_TYPE_UNKNOWN)
 

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)
protectedvirtual

list the thumbnails in the IFD

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

Implements OpenRaw::RawFile.

Reimplemented in OpenRaw::Internals::MRWFile.

Definition at line 99 of file ifdfile.cpp.

References _locateThumbnail(), OpenRaw::Internals::IFDFileContainer::directories(), and m_container.

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

locate the thumnail in the IFD

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

Definition at line 141 of file ifdfile.cpp.

References m_cfaIfd, and m_io.

Referenced by _enumThumbnailSizes().

Member Data Documentation

IFDDir::Ref OpenRaw::Internals::IFDFile::m_cfaIfd
protected
IFDFileContainer* OpenRaw::Internals::IFDFile::m_container
protected
IFDDir::Ref OpenRaw::Internals::IFDFile::m_exifIfd
protected

the Exif IFD

Definition at line 110 of file ifdfile.h.

Referenced by _getRawDataFromDir().

IO::Stream* OpenRaw::Internals::IFDFile::m_io
protected

the IO handle

Definition at line 94 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 106 of file ifdfile.h.


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