TuttleOFX  1
EXRWriterPlugin.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_EXRWRITER_PLUGIN_HPP_
00002 #define _TUTTLE_PLUGIN_EXRWRITER_PLUGIN_HPP_
00003 
00004 #include "EXRWriterDefinitions.hpp"
00005 #include <tuttle/plugin/context/WriterPlugin.hpp>
00006 
00007 namespace tuttle {
00008 namespace plugin {
00009 namespace exr {
00010 namespace writer {
00011 
00012 struct EXRWriterProcessParams
00013 {
00014         std::string             _filepath;          ///< filepath
00015         ETuttlePluginBitDepth   _bitDepth;          ///< Bit depth
00016         ETuttlePluginComponents _componentsType;    ///< Components type
00017         EParamStorage           _storageType;       ///< Storage type (Scan line or tile)
00018 };
00019 
00020 /**
00021  * @brief
00022  *
00023  */
00024 class EXRWriterPlugin : public WriterPlugin
00025 {
00026 public:
00027         EXRWriterPlugin( OfxImageEffectHandle handle );
00028 
00029 public:
00030         EXRWriterProcessParams getProcessParams( const OfxTime time );
00031         void                   render( const OFX::RenderArguments& args );
00032 
00033 protected:
00034         OFX::ChoiceParam*     _componentsType;  ///< Components type
00035         OFX::ChoiceParam*     _storageType;     ///< Storage type
00036 };
00037 
00038 }
00039 }
00040 }
00041 }
00042 
00043 #endif