TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_COMPONENT_PLUGIN_HPP_ 00002 #define _TUTTLE_PLUGIN_COMPONENT_PLUGIN_HPP_ 00003 00004 #include "ComponentDefinitions.hpp" 00005 00006 #include <tuttle/plugin/ImageEffectGilPlugin.hpp> 00007 00008 namespace tuttle { 00009 namespace plugin { 00010 namespace component { 00011 00012 /** 00013 * @brief Component plugin 00014 */ 00015 class ComponentPlugin : public ImageEffectGilPlugin 00016 { 00017 public: 00018 typedef float Scalar; 00019 public: 00020 ComponentPlugin( OfxImageEffectHandle handle ); 00021 00022 public: 00023 00024 void changedParam( const OFX::InstanceChangedArgs &args, const std::string ¶mName ); 00025 00026 // bool getRegionOfDefinition( const OFX::RegionOfDefinitionArguments& args, OfxRectD& rod ); 00027 // void getRegionsOfInterest( const OFX::RegionsOfInterestArguments& args, OFX::RegionOfInterestSetter& rois ); 00028 bool isIdentity( const OFX::RenderArguments& args, OFX::Clip*& identityClip, double& identityTime ); 00029 void getClipPreferences( OFX::ClipPreferencesSetter& clipPreferences ); 00030 /* 00031 template< typename dstComponents > 00032 void renderWithDstComponent( const OFX::RenderArguments &args, OFX::EPixelComponent srcComponents, OFX::EBitDepth bitDepth ); 00033 */ 00034 void render( const OFX::RenderArguments &args ); 00035 00036 public: 00037 OFX::ChoiceParam* _paramToComponent; 00038 OFX::ChoiceParam* _paramToGrayMethod; 00039 OFX::BooleanParam* _paramPremultiplied; 00040 00041 }; 00042 00043 } 00044 } 00045 } 00046 00047 #endif