X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcolortools.cpp;h=7f513a701e2dd5ae211bdcae2ca098753878c87a;hb=d679fbf19a2511b181570418dc7fa7c815728bcb;hp=c01dc5ac6f723476766eaef158dfbd4a56e2b9b8;hpb=55fc4cfc56fa01993530deb889f6ad990aeb057f;p=kdenlive diff --git a/src/colortools.cpp b/src/colortools.cpp index c01dc5ac..7f513a70 100644 --- a/src/colortools.cpp +++ b/src/colortools.cpp @@ -285,12 +285,13 @@ QImage ColorTools::hsvHueShiftPlane(const QSize &size, const uint &S, const uint } -QImage ColorTools::hsvCurvePlane(const QSize &size, const QColor &baseColor, const ComponentsHSV &xVariant, const ComponentsHSV &yVariant) +QImage ColorTools::hsvCurvePlane(const QSize &size, const QColor &baseColor, + const ComponentsHSV &xVariant, const ComponentsHSV &yVariant, const bool &shear, const float offsetY) { Q_ASSERT(size.width() > 0); Q_ASSERT(size.height() > 0); - int xMax, yMax; + /*int xMax, yMax; switch(xVariant) { case COM_H: @@ -310,7 +311,7 @@ QImage ColorTools::hsvCurvePlane(const QSize &size, const QColor &baseColor, con case COM_V: yMax = 256; break; - } + }*/ QImage plane(size, QImage::Format_ARGB32); @@ -349,7 +350,11 @@ QImage ColorTools::hsvCurvePlane(const QSize &size, const QColor &baseColor, con col.setHsvF(hue, sat, val); - plane.setPixel(x, y, col.rgba()); + if (!shear) { + plane.setPixel(x, y, col.rgba()); + } else { + plane.setPixel(x, int(2*size.height() + y - x*size.width()/size.height() - offsetY * size.height()) % size.height(), col.rgba()); + } } } @@ -364,3 +369,5 @@ QImage ColorTools::hsvCurvePlane(const QSize &size, const QColor &baseColor, con + +#include "colortools.moc"