]> git.sesse.net Git - kdenlive/blobdiff - src/colortools.cpp
Const'ref
[kdenlive] / src / colortools.cpp
index c01dc5ac6f723476766eaef158dfbd4a56e2b9b8..7f513a701e2dd5ae211bdcae2ca098753878c87a 100644 (file)
@@ -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"