TuttleOFX  1
PngWriterPlugin.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_PNG_WRITER_PLUGIN_HPP_
00002 #define _TUTTLE_PLUGIN_PNG_WRITER_PLUGIN_HPP_
00003 
00004 #include "PngWriterDefinitions.hpp"
00005 #include <tuttle/plugin/context/WriterPlugin.hpp>
00006 
00007 namespace tuttle {
00008 namespace plugin {
00009 namespace png {
00010 namespace writer {
00011 
00012 struct PngWriterProcessParams
00013 {
00014         std::string             _filepath;   ///< filepath
00015         ETuttlePluginComponents _components; ///< output components
00016         ETuttlePluginBitDepth   _bitDepth;   ///< Output bit depth
00017 };
00018 
00019 /**
00020  * @brief Png writer
00021  */
00022 class PngWriterPlugin : public WriterPlugin
00023 {
00024 public:
00025         PngWriterPlugin( OfxImageEffectHandle handle );
00026 
00027 public:
00028         PngWriterProcessParams getProcessParams( const OfxTime time );
00029 
00030         void                   render( const OFX::RenderArguments& args );
00031 
00032 public:
00033         OFX::ChoiceParam* _paramOutputComponents;     ///< Choose components RGBA or RGB
00034 };
00035 
00036 }
00037 }
00038 }
00039 }
00040 
00041 #endif