TuttleOFX  1
DiffPlugin.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_DIFF_PLUGIN_HPP_
00002 #define _TUTTLE_PLUGIN_DIFF_PLUGIN_HPP_
00003 
00004 #include "DiffDefinitions.hpp"
00005 
00006 #include <tuttle/plugin/ImageEffectGilPlugin.hpp>
00007 
00008 namespace tuttle {
00009 namespace plugin {
00010 namespace quality {
00011 
00012 struct DiffProcessParams
00013 {
00014         EMeasureFunction measureFunction;
00015 };
00016 
00017 /**
00018  * @brief Diff plugin
00019  */
00020 class DiffPlugin : public OFX::ImageEffect
00021 {
00022 public:
00023         DiffPlugin( OfxImageEffectHandle handle );
00024 
00025 public:
00026         DiffProcessParams getProcessParams() const;
00027 
00028         void changedParam( const OFX::InstanceChangedArgs& args, const std::string& paramName );
00029 
00030         bool getRegionOfDefinition( const OFX::RegionOfDefinitionArguments& args, OfxRectD& rod );
00031 
00032         void render( const OFX::RenderArguments& args );
00033 
00034 public:
00035         // do not need to delete these, the ImageEffect is managing them for us
00036         OFX::Clip* _clipSrcA;               ///< Source image clip A
00037         OFX::Clip* _clipSrcB;               ///< Source image clip B
00038         OFX::Clip* _clipDst;                ///< Destination image clip
00039 
00040         OFX::ChoiceParam* _measureFunction;
00041 
00042         OFX::RGBAParam*   _qualityMesure;
00043 
00044 
00045 };
00046 
00047 }
00048 }
00049 }
00050 
00051 #endif