TuttleOFX
1
|
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