TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_CONTEXT_SAMPLERPLUGIN_HPP_ 00002 #define _TUTTLE_PLUGIN_CONTEXT_SAMPLERPLUGIN_HPP_ 00003 00004 #include "SamplerDefinition.hpp" 00005 #include <tuttle/plugin/ImageEffectGilPlugin.hpp> 00006 #include <tuttle/plugin/exceptions.hpp> 00007 00008 namespace tuttle { 00009 namespace plugin { 00010 00011 00012 struct SamplerProcessParams 00013 { 00014 terry::sampler::EParamFilter _filter; 00015 double _filterSize; 00016 double _filterSigma; 00017 double _filterSharpen; 00018 double _paramB; 00019 double _paramC; 00020 00021 terry::sampler::EParamFilterOutOfImage _outOfImageProcess; 00022 }; 00023 00024 00025 class SamplerPlugin : public ImageEffectGilPlugin 00026 { 00027 public: 00028 SamplerPlugin( OfxImageEffectHandle handle ); 00029 virtual ~SamplerPlugin() = 0; 00030 00031 public: 00032 virtual void changedParam( const OFX::InstanceChangedArgs& args, const std::string& paramName ); 00033 00034 virtual void fillProcessParams( SamplerProcessParams& samplerprocessParam ) const; 00035 00036 ::terry::sampler::EParamFilter getInterpolation() { return (terry::sampler::EParamFilter) _paramFilter -> getValue(); } 00037 public: 00038 OFX::ChoiceParam* _paramFilter; 00039 OFX::IntParam* _paramFilterSize; 00040 OFX::DoubleParam* _paramFilterSigma; 00041 OFX::DoubleParam* _paramFilterSharpen; 00042 OFX::DoubleParam* _paramB; 00043 OFX::DoubleParam* _paramC; 00044 OFX::ChoiceParam* _paramOutOfImage; 00045 00046 }; 00047 00048 } 00049 } 00050 00051 #endif