TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_INVERTPLUGIN_HPP_ 00002 #define _TUTTLE_PLUGIN_INVERTPLUGIN_HPP_ 00003 00004 #include "InvertDefinitions.hpp" 00005 00006 #include <tuttle/plugin/ImageEffectGilPlugin.hpp> 00007 00008 namespace tuttle { 00009 namespace plugin { 00010 namespace invert { 00011 00012 struct InvertProcessParams 00013 { 00014 bool _red; 00015 bool _green; 00016 bool _blue; 00017 bool _alpha; 00018 bool _gray; 00019 }; 00020 00021 /** 00022 * @brief 00023 * 00024 */ 00025 class InvertPlugin : public ImageEffectGilPlugin 00026 { 00027 public: 00028 InvertPlugin( OfxImageEffectHandle handle ); 00029 00030 public: 00031 InvertProcessParams getProcessParams( const OfxPointD& renderScale = OFX::kNoRenderScale ) const; 00032 00033 void render( const OFX::RenderArguments& args ); 00034 00035 protected: 00036 OFX::GroupParam* _paramProcessGroup; 00037 OFX::BooleanParam* _paramProcessR; 00038 OFX::BooleanParam* _paramProcessG; 00039 OFX::BooleanParam* _paramProcessB; 00040 OFX::BooleanParam* _paramProcessA; 00041 OFX::BooleanParam* _paramProcessGray; 00042 }; 00043 00044 } 00045 } 00046 } 00047 00048 #endif