TuttleOFX  1
BasicKeyerProcess.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_BASICKEYER_PROCESS_HPP_
00002 #define _TUTTLE_PLUGIN_BASICKEYER_PROCESS_HPP_
00003 
00004 #include "BasicKeyerAlgorithm.hpp"
00005 
00006 #include <tuttle/plugin/ImageGilFilterProcessor.hpp>
00007 #include <terry/globals.hpp>
00008 #include <tuttle/plugin/exceptions.hpp>
00009 
00010 #include <ofxsImageEffect.h>
00011 #include <ofxsMultiThread.h>
00012 
00013 #include <boost/scoped_ptr.hpp>
00014 
00015 namespace tuttle {
00016 namespace plugin {
00017 namespace basicKeyer {
00018 
00019 /**
00020  * @brief BasicKeyer process
00021  */
00022 template<class View>
00023 class BasicKeyerProcess : public ImageGilFilterProcessor<View>
00024 {
00025 public:
00026         typedef ImageGilFilterProcessor<View> Parent;
00027         typedef typename View::value_type Pixel;
00028 
00029 protected:
00030         BasicKeyerPlugin&    _plugin;        ///< Rendering plugin
00031 
00032         BasicKeyerProcessParams<View> _params;
00033 
00034 public:
00035         BasicKeyerProcess( BasicKeyerPlugin& instance );
00036 
00037         void setup( const OFX::RenderArguments& args );
00038 
00039         void multiThreadProcessImages( const OfxRectI& procWindowRoW );
00040 };
00041 
00042 }
00043 }
00044 }
00045 
00046 #include "BasicKeyerProcess.tcc"
00047 
00048 #endif