TuttleOFX  1
FlipPlugin.hpp
Go to the documentation of this file.
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