TuttleOFX  1
PngWriterProcess.hpp
Go to the documentation of this file.
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