TuttleOFX
1
|
00001 #ifndef _DPXWRITER_PROCESS_HPP_ 00002 #define _DPXWRITER_PROCESS_HPP_ 00003 00004 #include <libdpx/DPX.h> 00005 00006 #include <terry/globals.hpp> 00007 #include <tuttle/plugin/ImageGilFilterProcessor.hpp> 00008 #include <tuttle/plugin/exceptions.hpp> 00009 00010 #include <boost/scoped_ptr.hpp> 00011 00012 namespace tuttle { 00013 namespace plugin { 00014 namespace dpx { 00015 namespace writer { 00016 00017 00018 /** 00019 * @brief Dpx writer 00020 */ 00021 template<class View> 00022 class DPXWriterProcess : public ImageGilFilterProcessor<View> 00023 { 00024 protected: 00025 DPXWriterPlugin& _plugin; ///< Rendering plugin 00026 DPXWriterProcessParams _params; 00027 00028 void setup( const OFX::RenderArguments& args ); 00029 void multiThreadProcessImages( const OfxRectI& procWindowRoW ); 00030 00031 private: 00032 template<class WPixel> 00033 void writeImage( ::dpx::Writer& writer, View& src, ::dpx::DataSize& dataSize, size_t pixelSize ); 00034 00035 public: 00036 DPXWriterProcess( DPXWriterPlugin& instance ); 00037 }; 00038 00039 } 00040 } 00041 } 00042 } 00043 00044 #include "DPXWriterProcess.tcc" 00045 00046 #endif