}
-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);
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());
+ }
}
}