X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcolortools.h;h=c55507cb59a972baabdbe1081d86b0647abd2ba2;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=f1e29bd6880b838d18e0a28aca98b42ee7c3029b;hpb=a0782da90d2e491e2f1ec9ad8a114883fb2e02b4;p=kdenlive diff --git a/src/colortools.h b/src/colortools.h index f1e29bd6..c55507cb 100644 --- a/src/colortools.h +++ b/src/colortools.h @@ -27,6 +27,8 @@ public: enum ColorsRGB { COL_R, COL_G, COL_B, COL_A, COL_Luma, COL_RGB }; + enum ComponentsHSV { COM_H, COM_S, COM_V }; + /** @brief Draws a UV plane with given Y value. scaling defines how far to zoom in (or out). Lower value = zoom in. @@ -71,10 +73,15 @@ public: static QImage hsvHueShiftPlane(const QSize &size, const uint &S, const uint &V, const int &MIN, const int &MAX); /** - Basic HSV saturation plane. + Basic HSV plane with two components varying on the x and y axis. + If both components are the same, then the y axis will be considered. MIN/MAX give the minimum/maximum saturation, usually 0..255. + Missing colour components will be taken from baseColor. + For shear == true, the image will be sheared such that the x axis goes through (0,0) and (1,1). offsetY can additionally + shift the whole x axis vertically. */ - static QImage hsvSaturationPlane(const QSize &size, const uint &V, const int &MIN, const int &MAX); + static QImage hsvCurvePlane(const QSize &size, const QColor &baseColor, + const ComponentsHSV &xVariant, const ComponentsHSV &yVariant, const bool &shear = false, const float offsetY = 0); signals: void signalYuvWheelCalculationFinished();