diff options
Diffstat (limited to 'intern')
-rw-r--r-- | intern/opencolorio/fallback_impl.cc | 32 | ||||
-rw-r--r-- | intern/opencolorio/ocio_capi.cc | 35 | ||||
-rw-r--r-- | intern/opencolorio/ocio_capi.h | 10 | ||||
-rw-r--r-- | intern/opencolorio/ocio_impl.cc | 63 | ||||
-rw-r--r-- | intern/opencolorio/ocio_impl.h | 27 |
5 files changed, 167 insertions, 0 deletions
diff --git a/intern/opencolorio/fallback_impl.cc b/intern/opencolorio/fallback_impl.cc index 6b1ca9cbd15..36dac689287 100644 --- a/intern/opencolorio/fallback_impl.cc +++ b/intern/opencolorio/fallback_impl.cc @@ -162,6 +162,30 @@ const char *FallbackImpl::configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr * return "sRGB"; } +int FallbackImpl::configGetNumLooks(OCIO_ConstConfigRcPtr * /*config*/) +{ + return 0; +} + +const char *FallbackImpl::configGetLookNameByIndex(OCIO_ConstConfigRcPtr * /*config*/, int /*index*/) +{ + return ""; +} + +OCIO_ConstLookRcPtr *FallbackImpl::configGetLook(OCIO_ConstConfigRcPtr * /*config*/, const char * /*name*/) +{ + return NULL; +} + +const char *FallbackImpl::lookGetProcessSpace(OCIO_ConstLookRcPtr *look) +{ + return NULL; +} + +void FallbackImpl::lookRelease(OCIO_ConstLookRcPtr * /*look*/) +{ +} + int FallbackImpl::colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr * /*cs*/) { return 1; @@ -326,6 +350,14 @@ void FallbackImpl::displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr * /*dt { } +void FallbackImpl::displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr * /*dt*/, const char * /*looks*/) +{ +} + +void FallbackImpl::displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr * /*dt*/, bool /*enabled*/) +{ +} + void FallbackImpl::displayTransformRelease(OCIO_DisplayTransformRcPtr * /*dt*/) { } diff --git a/intern/opencolorio/ocio_capi.cc b/intern/opencolorio/ocio_capi.cc index 48bba4811e8..1656ad9cbc0 100644 --- a/intern/opencolorio/ocio_capi.cc +++ b/intern/opencolorio/ocio_capi.cc @@ -132,6 +132,31 @@ const char *OCIO_configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config, c return impl->configGetDisplayColorSpaceName(config, display, view); } +int OCIO_configGetNumLooks(OCIO_ConstConfigRcPtr *config) +{ + return impl->configGetNumLooks(config); +} + +const char *OCIO_configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index) +{ + return impl->configGetLookNameByIndex(config, index); +} + +OCIO_ConstLookRcPtr *OCIO_configGetLook(OCIO_ConstConfigRcPtr *config, const char *name) +{ + return impl->configGetLook(config, name); +} + +const char *OCIO_lookGetProcessSpace(OCIO_ConstLookRcPtr *look) +{ + return impl->lookGetProcessSpace(look); +} + +void OCIO_lookRelease(OCIO_ConstLookRcPtr *look) +{ + impl->lookRelease(look); +} + int OCIO_colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs) { return impl->colorSpaceIsInvertible(cs); @@ -232,6 +257,16 @@ void OCIO_displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, OCIO_Const impl->displayTransformSetLinearCC(dt, t); } +void OCIO_displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks) +{ + impl->displayTransformSetLooksOverride(dt, looks); +} + +void OCIO_displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled) +{ + impl->displayTransformSetLooksOverrideEnabled(dt, enabled); +} + void OCIO_displayTransformRelease(OCIO_DisplayTransformRcPtr *dt) { impl->displayTransformRelease(dt); diff --git a/intern/opencolorio/ocio_capi.h b/intern/opencolorio/ocio_capi.h index c3f1710c836..0846b8ff7b3 100644 --- a/intern/opencolorio/ocio_capi.h +++ b/intern/opencolorio/ocio_capi.h @@ -52,6 +52,7 @@ OCIO_DECLARE_HANDLE(OCIO_DisplayTransformRcPtr); OCIO_DECLARE_HANDLE(OCIO_ConstTransformRcPtr); OCIO_DECLARE_HANDLE(OCIO_ExponentTransformRcPtr); OCIO_DECLARE_HANDLE(OCIO_MatrixTransformRcPtr); +OCIO_DECLARE_HANDLE(OCIO_ConstLookRcPtr); void OCIO_init(void); void OCIO_exit(void); @@ -83,6 +84,13 @@ int OCIO_configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *di const char *OCIO_configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index); const char *OCIO_configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config, const char *display, const char *view); +int OCIO_configGetNumLooks(OCIO_ConstConfigRcPtr *config); +const char *OCIO_configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index); +OCIO_ConstLookRcPtr *OCIO_configGetLook(OCIO_ConstConfigRcPtr *config, const char *name); + +const char *OCIO_lookGetProcessSpace(OCIO_ConstLookRcPtr *look); +void OCIO_lookRelease(OCIO_ConstLookRcPtr *look); + OCIO_ConstProcessorRcPtr *OCIO_configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config, const char *srcName, const char *dstName); OCIO_ConstProcessorRcPtr *OCIO_configGetProcessor(OCIO_ConstConfigRcPtr *config, OCIO_ConstTransformRcPtr *transform); @@ -104,6 +112,8 @@ void OCIO_displayTransformSetDisplay(OCIO_DisplayTransformRcPtr *dt, const char void OCIO_displayTransformSetView(OCIO_DisplayTransformRcPtr *dt, const char *name); void OCIO_displayTransformSetDisplayCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et); void OCIO_displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et); +void OCIO_displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks); +void OCIO_displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled); void OCIO_displayTransformRelease(OCIO_DisplayTransformRcPtr *dt); OCIO_PackedImageDesc *OCIO_createOCIO_PackedImageDesc(float *data, long width, long height, long numChannels, diff --git a/intern/opencolorio/ocio_impl.cc b/intern/opencolorio/ocio_impl.cc index 068a02dcb9b..dff25f238a7 100644 --- a/intern/opencolorio/ocio_impl.cc +++ b/intern/opencolorio/ocio_impl.cc @@ -282,6 +282,59 @@ const char *OCIOImpl::configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *conf return NULL; } +int OCIOImpl::configGetNumLooks(OCIO_ConstConfigRcPtr *config) +{ + try { + return (*(ConstConfigRcPtr *) config)->getNumLooks(); + } + catch (Exception &exception) { + OCIO_reportException(exception); + } + + return 0; +} + +const char *OCIOImpl::configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index) +{ + try { + return (*(ConstConfigRcPtr *) config)->getLookNameByIndex(index); + } + catch (Exception &exception) { + OCIO_reportException(exception); + } + + return NULL; +} + +OCIO_ConstLookRcPtr *OCIOImpl::configGetLook(OCIO_ConstConfigRcPtr *config, const char *name) +{ + ConstLookRcPtr *look = MEM_NEW(ConstLookRcPtr); + + try { + *look = (*(ConstConfigRcPtr *) config)->getLook(name); + + if (*look) + return (OCIO_ConstLookRcPtr *) look; + } + catch (Exception &exception) { + OCIO_reportException(exception); + } + + MEM_DELETE(look, ConstLookRcPtr); + + return NULL; +} + +const char *OCIOImpl::lookGetProcessSpace(OCIO_ConstLookRcPtr *look) +{ + return (*(ConstLookRcPtr *) look)->getProcessSpace(); +} + +void OCIOImpl::lookRelease(OCIO_ConstLookRcPtr *look) +{ + MEM_DELETE((ConstLookRcPtr *) look, ConstLookRcPtr); +} + int OCIOImpl::colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs_) { ConstColorSpaceRcPtr *cs = (ConstColorSpaceRcPtr *) cs_; @@ -481,6 +534,16 @@ void OCIOImpl::displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ (*(DisplayTransformRcPtr *) dt)->setLinearCC(*(ConstTransformRcPtr *) t); } +void OCIOImpl::displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks) +{ + (*(DisplayTransformRcPtr *) dt)->setLooksOverride(looks); +} + +void OCIOImpl::displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled) +{ + (*(DisplayTransformRcPtr *) dt)->setLooksOverrideEnabled(enabled); +} + void OCIOImpl::displayTransformRelease(OCIO_DisplayTransformRcPtr *dt) { MEM_DELETE((DisplayTransformRcPtr *) dt, DisplayTransformRcPtr); diff --git a/intern/opencolorio/ocio_impl.h b/intern/opencolorio/ocio_impl.h index ecb21d4ea6c..48d18fa78ea 100644 --- a/intern/opencolorio/ocio_impl.h +++ b/intern/opencolorio/ocio_impl.h @@ -58,6 +58,13 @@ public: virtual const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index) = 0; virtual const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config, const char *display, const char *view) = 0; + virtual int configGetNumLooks(OCIO_ConstConfigRcPtr *config) = 0; + virtual const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index) = 0; + virtual OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name) = 0; + + virtual const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look) = 0; + virtual void lookRelease(OCIO_ConstLookRcPtr *look) = 0; + virtual OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config, const char *srcName, const char *dstName) = 0; virtual OCIO_ConstProcessorRcPtr *configGetProcessor(OCIO_ConstConfigRcPtr *config, OCIO_ConstTransformRcPtr *transform) = 0; @@ -79,6 +86,8 @@ public: virtual void displayTransformSetView(OCIO_DisplayTransformRcPtr *dt, const char *name) = 0; virtual void displayTransformSetDisplayCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et) = 0; virtual void displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et) = 0; + virtual void displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks) = 0; + virtual void displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled) = 0; virtual void displayTransformRelease(OCIO_DisplayTransformRcPtr *dt) = 0; virtual OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data, long width, long height, long numChannels, @@ -132,6 +141,13 @@ public: const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index); const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config, const char *display, const char *view); + int configGetNumLooks(OCIO_ConstConfigRcPtr *config); + const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index); + OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name); + + const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look); + void lookRelease(OCIO_ConstLookRcPtr *look); + OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config, const char *srcName, const char *dstName); OCIO_ConstProcessorRcPtr *configGetProcessor(OCIO_ConstConfigRcPtr *config, OCIO_ConstTransformRcPtr *transform); @@ -153,6 +169,8 @@ public: void displayTransformSetView(OCIO_DisplayTransformRcPtr *dt, const char *name); void displayTransformSetDisplayCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et); void displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et); + void displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks); + void displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled); void displayTransformRelease(OCIO_DisplayTransformRcPtr *dt); OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data, long width, long height, long numChannels, @@ -207,6 +225,13 @@ public: const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index); const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config, const char *display, const char *view); + int configGetNumLooks(OCIO_ConstConfigRcPtr *config); + const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index); + OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name); + + const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look); + void lookRelease(OCIO_ConstLookRcPtr *look); + OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config, const char *srcName, const char *dstName); OCIO_ConstProcessorRcPtr *configGetProcessor(OCIO_ConstConfigRcPtr *config, OCIO_ConstTransformRcPtr *transform); @@ -228,6 +253,8 @@ public: void displayTransformSetView(OCIO_DisplayTransformRcPtr *dt, const char *name); void displayTransformSetDisplayCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et); void displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, OCIO_ConstTransformRcPtr *et); + void displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks); + void displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled); void displayTransformRelease(OCIO_DisplayTransformRcPtr *dt); OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data, long width, long height, long numChannels, |