TuttleOFX
1
|
00001 #ifndef PNG_WRITER_PROCESS_HPP 00002 #define PNG_WRITER_PROCESS_HPP 00003 00004 #define png_infopp_NULL (png_infopp)NULL 00005 #define int_p_NULL (int*)NULL 00006 00007 #include <tuttle/plugin/global.hpp> 00008 #include <tuttle/plugin/ImageGilFilterProcessor.hpp> 00009 00010 namespace tuttle { 00011 namespace plugin { 00012 namespace png { 00013 namespace writer { 00014 00015 /** 00016 * @brief Base class for the denoising processor 00017 * 00018 */ 00019 template<class View> 00020 class PngWriterProcess : public ImageGilFilterProcessor<View> 00021 { 00022 public: 00023 typedef typename View::value_type Pixel; 00024 00025 protected: 00026 PngWriterPlugin& _plugin; ///< Rendering plugin 00027 00028 PngWriterProcessParams _params; 00029 00030 public: 00031 PngWriterProcess( PngWriterPlugin& instance ); 00032 00033 void setup( const OFX::RenderArguments& args ); 00034 void multiThreadProcessImages( const OfxRectI& procWindowRoW ); 00035 00036 template<class Bits> 00037 void writeImage( View& src ); 00038 }; 00039 00040 } 00041 } 00042 } 00043 } 00044 00045 #include "PngWriterProcess.tcc" 00046 00047 #endif