TuttleOFX
1
|
00001 #ifndef _IMAGESTATISTICSOVERLAYINTERACT_HPP_ 00002 #define _IMAGESTATISTICSOVERLAYINTERACT_HPP_ 00003 00004 #include "ImageStatisticsPlugin.hpp" 00005 00006 #include <tuttle/plugin/global.hpp> 00007 #include <tuttle/plugin/interact/interact.hpp> 00008 #include <tuttle/plugin/interact/InteractInfos.hpp> 00009 #include <tuttle/plugin/interact/InteractScene.hpp> 00010 #include <ofxsImageEffect.h> 00011 #include <ofxsInteract.h> 00012 00013 namespace tuttle { 00014 namespace plugin { 00015 namespace imageStatistics { 00016 00017 class ImageStatisticsOverlayInteract : public OFX::OverlayInteract 00018 { 00019 typedef double Scalar; 00020 00021 ImageStatisticsPlugin* _plugin; 00022 00023 interact::InteractInfos _infos; 00024 interact::InteractScene _interactScene; 00025 00026 public: 00027 ImageStatisticsOverlayInteract( OfxInteractHandle handle, OFX::ImageEffect* effect ); 00028 00029 bool draw( const OFX::DrawArgs& args ); 00030 bool penDown( const OFX::PenArgs& args ); 00031 bool penUp( const OFX::PenArgs& args ); 00032 bool penMotion( const OFX::PenArgs& args ); 00033 }; 00034 00035 class ImageStatisticsEffectOverlayDescriptor : public OFX::EffectOverlayDescriptor 00036 { 00037 public: 00038 OFX::Interact* createInstance( OfxInteractHandle handle, OFX::ImageEffect* effect ) 00039 { 00040 return new ImageStatisticsOverlayInteract( handle, effect ); 00041 } 00042 00043 }; 00044 00045 } 00046 } 00047 } 00048 00049 #endif