TuttleOFX  1
RawReaderProcess.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_RAWREADERPROCESS_HPP_
00002 #define _TUTTLE_PLUGIN_RAWREADERPROCESS_HPP_
00003 
00004 #include <tuttle/plugin/ImageGilProcessor.hpp>
00005 
00006 #include <libraw/libraw.h>
00007 
00008 namespace tuttle {
00009 namespace plugin {
00010 namespace raw {
00011 namespace reader {
00012 
00013 /**
00014  *
00015  */
00016 template<class View>
00017 class RawReaderProcess : public ImageGilProcessor<View>
00018 {
00019         typedef float Scalar;
00020 public:
00021         RawReaderProcess( RawReaderPlugin& instance );
00022 
00023         void setup( const OFX::RenderArguments& args );
00024         void preProcess();
00025         void multiThreadProcessImages( const OfxRectI& procWindowRoW );
00026 
00027         View& readImage( View& dst, const std::string& filepath );
00028 
00029 private:
00030         RawReaderPlugin&    _plugin;        ///< Rendering plugin
00031         RawReaderProcessParams<Scalar> _params;
00032 
00033         LibRaw _rawProcessor;
00034         libraw_iparams_t& _p1;
00035         libraw_image_sizes_t& _size;
00036         libraw_colordata_t& _color;
00037         libraw_thumbnail_t& _thumbnail;
00038         libraw_imgother_t& _p2;
00039         libraw_output_params_t& _out;
00040 
00041 };
00042 
00043 }
00044 }
00045 }
00046 }
00047 
00048 #include "RawReaderProcess.tcc"
00049 
00050 #endif