TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_RESIZE_PROCESS_HPP_ 00002 #define _TUTTLE_PLUGIN_RESIZE_PROCESS_HPP_ 00003 00004 #include <tuttle/plugin/ImageGilFilterProcessor.hpp> 00005 00006 namespace tuttle { 00007 namespace plugin { 00008 namespace resize { 00009 00010 /** 00011 * @brief Resize process 00012 * 00013 */ 00014 template<class View> 00015 class ResizeProcess : public ImageGilFilterProcessor<View> 00016 { 00017 public: 00018 typedef typename View::value_type Pixel; 00019 typedef typename boost::gil::channel_type<View>::type Channel; 00020 typedef float Scalar; 00021 00022 protected: 00023 ResizePlugin& _plugin; ///< Rendering plugin 00024 ResizeProcessParams<Scalar> _params; ///< parameters 00025 00026 public: 00027 ResizeProcess( ResizePlugin& effect ); 00028 00029 void setup( const OFX::RenderArguments& args ); 00030 00031 void multiThreadProcessImages( const OfxRectI& procWindowRoW ); 00032 }; 00033 00034 } 00035 } 00036 } 00037 00038 #include "ResizeProcess.tcc" 00039 00040 #endif