00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __OPENRAW_RAWDATA_H__
00023 #define __OPENRAW_RAWDATA_H__
00024
00025 #include <vector>
00026
00027 #include <libopenraw/libopenraw.h>
00028 #include <libopenraw++/bitmapdata.h>
00029
00030
00031 namespace OpenRaw {
00032
00033 class RawData
00034 : public BitmapData
00035 {
00036 public:
00037 typedef or_cfa_pattern CfaPattern;
00038 static RawData * getAndExtractRawData(const char* filename, uint32_t options,
00039 or_error & err);
00040
00041 RawData();
00042 virtual ~RawData();
00043
00045 void swap(RawData & with);
00046
00047 virtual void *allocData(const size_t s);
00048 virtual void setDimensions(uint32_t x, uint32_t y);
00049 void setCfaPattern(CfaPattern t);
00050 CfaPattern cfaPattern();
00051 uint32_t compression();
00052 void setCompression(uint32_t c);
00053
00054 void setSlices(const std::vector<uint16_t> & slices);
00055
00057
00059 RawData &append(uint16_t c);
00061 void nextRow();
00062 private:
00063 class Private;
00064 RawData::Private *d;
00065
00067 RawData(const RawData& f);
00069 RawData & operator=(const RawData&);
00070 };
00071
00072 }
00073
00074 #endif