diff --git a/src/core/colortransformation.cpp b/src/core/colortransformation.cpp index 426e179934..173e708361 100644 --- a/src/core/colortransformation.cpp +++ b/src/core/colortransformation.cpp @@ -71,4 +71,10 @@ std::tuple ColorTransformation::transform(uint16_t return {out[0], out[1], out[2]}; } +QVector3D ColorTransformation::transform(QVector3D in) const +{ + QVector3D ret; + cmsPipelineEvalFloat(&in[0], &ret[0], m_pipeline); + return ret; +} } diff --git a/src/core/colortransformation.h b/src/core/colortransformation.h index e0bfc5ed45..31d986134e 100644 --- a/src/core/colortransformation.h +++ b/src/core/colortransformation.h @@ -16,6 +16,7 @@ #include "kwin_export.h" typedef struct _cmsPipeline_struct cmsPipeline; +class QVector3D; namespace KWin { @@ -33,6 +34,7 @@ public: bool valid() const; std::tuple transform(uint16_t r, uint16_t g, uint16_t b) const; + QVector3D transform(QVector3D in) const; private: cmsPipeline *const m_pipeline;