TuttleOFX  1
PngReaderProcess.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_PNG_READER_PROCESS_HPP_
00002 #define _TUTTLE_PLUGIN_PNG_READER_PROCESS_HPP_
00003 
00004 #include <png.h>
00005 
00006 #define png_infopp_NULL (png_infopp)NULL
00007 #ifndef int_p_NULL
00008 #define int_p_NULL (int*)NULL
00009 #endif
00010 
00011 #include <tuttle/plugin/ImageGilProcessor.hpp>
00012 
00013 #include <boost/scoped_ptr.hpp>
00014 #include <boost/filesystem/fstream.hpp>
00015 
00016 namespace tuttle {
00017 namespace plugin {
00018 namespace png {
00019 namespace reader {
00020 
00021 /**
00022  *
00023  */
00024 template<class View>
00025 class PngReaderProcess : public ImageGilProcessor<View>
00026 {
00027 protected:
00028         PngReaderPlugin&    _plugin;        ///< Rendering plugin
00029 
00030         PngReaderProcessParams _params;
00031 
00032 public:
00033         PngReaderProcess( PngReaderPlugin& instance );
00034 
00035         void setup( const OFX::RenderArguments& args );
00036         void multiThreadProcessImages( const OfxRectI& procWindowRoW );
00037 
00038         View& readImage( View& dst );
00039 };
00040 
00041 }
00042 }
00043 }
00044 }
00045 
00046 #include "PngReaderProcess.tcc"
00047 
00048 #endif