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