TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_OPENIMAGEIO_WRITER_PLUGIN_HPP_ 00002 #define _TUTTLE_PLUGIN_OPENIMAGEIO_WRITER_PLUGIN_HPP_ 00003 00004 #include "OpenImageIOWriterDefinitions.hpp" 00005 00006 #include <tuttle/plugin/context/WriterPlugin.hpp> 00007 00008 #include <typedesc.h> 00009 00010 namespace tuttle { 00011 namespace plugin { 00012 namespace openImageIO { 00013 namespace writer { 00014 00015 struct OpenImageIOWriterProcessParams 00016 { 00017 std::string _filepath; ///< filepath 00018 ETuttlePluginComponents _components; ///< Force RGB 00019 ETuttlePluginBitDepth _bitDepth; ///< Output bit depth (real bit depth, not the buffer passed to OpenImageIO) 00020 00021 bool _premultiply; ///< Output premultiply 00022 int _quality; ///< Output quality 00023 int _orientation; ///< Output orientation 00024 }; 00025 00026 /** 00027 * @brief OpenImageIO writer 00028 */ 00029 class OpenImageIOWriterPlugin : public WriterPlugin 00030 { 00031 public: 00032 OpenImageIOWriterPlugin( OfxImageEffectHandle handle ); 00033 00034 public: 00035 OpenImageIOWriterProcessParams getProcessParams( const OfxTime time ); 00036 void render( const OFX::RenderArguments& args ); 00037 00038 public: 00039 OFX::ChoiceParam* _components; ///< Choose components RGBA/RGB 00040 OFX::IntParam* _quality; 00041 OFX::ChoiceParam* _orientation; 00042 }; 00043 00044 } 00045 } 00046 } 00047 } 00048 00049 #endif