24#ifndef LIBOPENRAWPP_RAWFILE_H_
25#define LIBOPENRAWPP_RAWFILE_H_
30#include <libopenraw/rawfile.h>
45struct BuiltinColourMatrix;
53 typedef ::or_rawfile_type Type;
54 typedef ::or_rawfile_typeid TypeId;
72 Type _typeHint = OR_RAWFILE_TYPE_UNKNOWN);
81 Type _typeHint = OR_RAWFILE_TYPE_UNKNOWN);
137 ::or_error getColourMatrix2(
double* matrix, uint32_t & size);
143 ExifLightsourceValue getCalibrationIlluminant2();
145 const MetaValue *getMetaValue(int32_t meta_index);
149 const uint32_t type_id;
194 virtual ::or_error
_getColourMatrix(uint32_t index,
double* matrix, uint32_t & size);
195 virtual ExifLightsourceValue _getCalibrationIlluminant(uint16_t index);
196 virtual MetaValue *_getMetaValue(int32_t ) = 0;
198 TypeId _typeIdFromModel(
const std::string& make,
const std::string & model);
199 TypeId _typeIdFromMake(
const std::string& make);
204 virtual void _identifyId() = 0;
216 static Type identify(
const char*_filename);
217 static ::or_error identifyBuffer(
const uint8_t* buff,
size_t len,
221 const std::string& value);
virtual ::or_error _getRawData(RawData &data, uint32_t options)=0
virtual ::or_error _getThumbnail(uint32_t size, Thumbnail &thumbnail)
::or_error getThumbnail(uint32_t size, Thumbnail &thumbnail)
void _setTypeId(TypeId _type_id)
::or_error getRawData(RawData &rawdata, uint32_t options)
uint32_t colourMatrixSize()
virtual ::or_error _getColourMatrix(uint32_t index, double *matrix, uint32_t &size)
virtual ::or_error _enumThumbnailSizes(std::vector< uint32_t > &list)=0
::or_error getColourMatrix1(double *matrix, uint32_t &size)
virtual Internals::RawContainer * getContainer() const =0
static RawFile * newRawFile(const char *_filename, Type _typeHint=OR_RAWFILE_TYPE_UNKNOWN)
const std::vector< uint32_t > & listThumbnailSizes(void)
::or_error getRenderedImage(BitmapData &bitmapdata, uint32_t options)
ExifLightsourceValue getCalibrationIlluminant1()
static const char ** fileExtensions()
static RawFile * newRawFileFromMemory(const uint8_t *buffer, uint32_t len, Type _typeHint=OR_RAWFILE_TYPE_UNKNOWN)
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard....