TuttleOFX  1
ComponentPlugin.hpp
Go to the documentation of this file.
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 &paramName );
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