TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_BLUR_PROCESS_HPP_ 00002 #define _TUTTLE_PLUGIN_BLUR_PROCESS_HPP_ 00003 00004 #include <tuttle/plugin/ImageGilFilterProcessor.hpp> 00005 00006 namespace tuttle { 00007 namespace plugin { 00008 namespace blur { 00009 00010 /** 00011 * @brief Blur process 00012 * 00013 */ 00014 template<class View> 00015 class BlurProcess : public ImageGilFilterProcessor<View> 00016 { 00017 public: 00018 typedef float Scalar; 00019 typedef typename View::value_type Pixel; 00020 typedef typename View::point_t Point; 00021 typedef typename View::coord_t Coord; 00022 typedef typename terry::image_from_view<View>::type Image; 00023 00024 protected: 00025 BlurPlugin& _plugin; ///< Rendering plugin 00026 00027 BlurProcessParams<Scalar> _params; ///< user parameters 00028 00029 public: 00030 BlurProcess( BlurPlugin& effect ); 00031 00032 void setup( const OFX::RenderArguments& args ); 00033 void multiThreadProcessImages( const OfxRectI& procWindowRoW ); 00034 }; 00035 00036 } 00037 } 00038 } 00039 00040 #include "BlurProcess.tcc" 00041 00042 #endif