TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_OCIOColorSpacePlugin_HPP_ 00002 #define _TUTTLE_PLUGIN_OCIOColorSpacePlugin_HPP_ 00003 00004 #include "OCIOColorSpaceDefinitions.hpp" 00005 #include <tuttle/plugin/ImageEffectGilPlugin.hpp> 00006 #include <OpenColorIO/OpenColorIO.h> 00007 00008 namespace tuttle 00009 { 00010 namespace plugin 00011 { 00012 namespace ocio 00013 { 00014 namespace colorspace 00015 { 00016 00017 struct OCIOColorSpaceProcessParams 00018 { 00019 OCIO_NAMESPACE::ConstConfigRcPtr _config; 00020 std::string _inputSpace; 00021 std::string _outputSpace; 00022 }; 00023 00024 /** 00025 * @brief OCIO LUT plugin 00026 * 00027 */ 00028 class OCIOColorSpacePlugin : public ImageEffectGilPlugin 00029 { 00030 00031 public: 00032 OCIOColorSpacePlugin(OfxImageEffectHandle handle, bool wasOCIOVarFund); 00033 00034 public: 00035 void 00036 render(const OFX::RenderArguments& args); 00037 00038 public: 00039 OFX::StringParam* _paramFilename; 00040 OFX::ChoiceParam* _paramInputSpace; 00041 OFX::ChoiceParam* _paramOutputSpace; 00042 00043 OCIOColorSpaceProcessParams 00044 getProcessParams( 00045 const OfxPointD& renderScale = OFX::kNoRenderScale) const; 00046 private: 00047 const bool _wasOCIOVarFund; 00048 }; 00049 00050 } 00051 } 00052 } 00053 } 00054 #endif