TuttleOFX  1
OCIOColorSpacePlugin.hpp
Go to the documentation of this file.
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