TuttleOFX
1
|
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