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