TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_PRINT_PROCESS_HPP_ 00002 #define _TUTTLE_PLUGIN_PRINT_PROCESS_HPP_ 00003 00004 #include <tuttle/plugin/ImageGilFilterProcessor.hpp> 00005 00006 #include <caca.h> 00007 00008 namespace tuttle { 00009 namespace plugin { 00010 namespace print { 00011 00012 struct CacaViewer 00013 { 00014 caca_display_t *dp; 00015 caca_event_t ev; 00016 caca_canvas_t *cv; 00017 }; 00018 00019 /** 00020 * @brief Print process 00021 * 00022 */ 00023 template<class View> 00024 class PrintProcess : public ImageGilFilterProcessor<View> 00025 { 00026 public: 00027 typedef typename View::value_type Pixel; 00028 typedef typename boost::gil::channel_type<View>::type Channel; 00029 typedef float Scalar; 00030 protected: 00031 PrintPlugin& _plugin; ///< Rendering plugin 00032 PrintProcessParams<Scalar> _params; ///< parameters 00033 00034 public: 00035 PrintProcess( PrintPlugin& effect ); 00036 ~PrintProcess(); 00037 void setup( const OFX::RenderArguments& args ); 00038 00039 void multiThreadProcessImages( const OfxRectI& procWindowRoW ); 00040 00041 00042 private: 00043 CacaViewer viewerOpenGL; 00044 }; 00045 00046 } 00047 } 00048 } 00049 00050 #include "PrintProcess.tcc" 00051 00052 #endif