TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_FLIP_PLUGIN_HPP_ 00002 #define _TUTTLE_PLUGIN_FLIP_PLUGIN_HPP_ 00003 00004 #include <tuttle/plugin/ImageEffectGilPlugin.hpp> 00005 00006 #include "FlipDefinitions.hpp" 00007 00008 namespace tuttle { 00009 namespace plugin { 00010 namespace flip { 00011 00012 struct FlipProcessParams 00013 { 00014 00015 bool flip; 00016 bool flop; 00017 }; 00018 00019 /** 00020 * @brief 00021 * 00022 */ 00023 class FlipPlugin : public ImageEffectGilPlugin 00024 { 00025 00026 public: 00027 FlipPlugin( OfxImageEffectHandle handle ); 00028 00029 public: 00030 FlipProcessParams getProcessParams( const OfxTime time, const OfxPointD& renderScale = OFX::kNoRenderScale ) const; 00031 00032 OfxRectI getFlipRegionValue( ) const; 00033 OfxRectI computeFlipRegion( const OfxTime time, const bool fromRatio = false ) const; 00034 void getRegionsOfInterest( const OFX::RegionsOfInterestArguments& args, OFX::RegionOfInterestSetter& rois ); 00035 bool isIdentity( const OFX::RenderArguments& args, OFX::Clip*& identityClip, double& identityTime ); 00036 00037 void render( const OFX::RenderArguments& args ); 00038 00039 private: 00040 OFX::BooleanParam* _paramFlip; 00041 OFX::BooleanParam* _paramFlop; 00042 }; 00043 00044 } 00045 } 00046 } 00047 00048 #endif