00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __CRWFILE_H_
00025 #define __CRWFILE_H_
00026
00027 #include <libopenraw++/rawfile.h>
00028
00029 #include "rawfilefactory.h"
00030
00031 namespace OpenRaw {
00032
00033 class Thumbnail;
00034
00035 namespace IO {
00036 class File;
00037 }
00038
00039 namespace Internals {
00040 class CIFFContainer;
00041
00042 class CRWFile
00043 : public OpenRaw::RawFile
00044 {
00045 public:
00046 static RawFile *factory(const char* _filename);
00047 CRWFile(const char* _filename);
00048 virtual ~CRWFile();
00049
00050 protected:
00051
00052
00053 virtual ::or_error _enumThumbnailSizes(std::vector<uint32_t> &list);
00054
00055 virtual ::or_error _getThumbnail(uint32_t size, Thumbnail & thumbnail);
00056
00057 private:
00058 CRWFile(const CRWFile&);
00059 CRWFile & operator=(const CRWFile&);
00060
00061 IO::File *m_io;
00062 CIFFContainer *m_container;
00063 uint32_t m_x;
00064 uint32_t m_y;
00065 };
00066 }
00067
00068 }
00069
00070 #endif