Adding per curve default curve capabilities, used in the Color Toning tool as of now. See issue 2014

This commit is contained in:
Hombre
2014-07-15 22:07:11 +02:00
parent 918a922499
commit 1921141cb7
20 changed files with 247 additions and 183 deletions

View File

@@ -25,6 +25,10 @@
#include <cstring>
bool CurveEditor::reset() {
return subGroup->curveReset(this);
}
DiagonalCurveEditor::DiagonalCurveEditor (Glib::ustring text, CurveEditorGroup* ceGroup, CurveEditorSubGroup* ceSubGroup) : CurveEditor::CurveEditor(text, static_cast<CurveEditorGroup*>(ceGroup), ceSubGroup) {
// Order set in the same order than "enum DiagonalCurveType". Shouldn't change, for compatibility reason
@@ -62,6 +66,25 @@ std::vector<double> DiagonalCurveEditor::getCurve () {
}
}
void DiagonalCurveEditor::setResetCurve(DiagonalCurveType cType, const std::vector<double> &resetCurve) {
switch (cType) {
case (DCT_NURBS):
if (resetCurve.size() && DiagonalCurveType(resetCurve.at(0)) == cType)
NURBSResetCurve = resetCurve;
break;
case (DCT_Parametric):
if (resetCurve.size() && DiagonalCurveType(resetCurve.at(0)) == cType)
paramResetCurve = resetCurve;
break;
case (DCT_Spline):
if (resetCurve.size() && DiagonalCurveType(resetCurve.at(0)) == cType)
customResetCurve = resetCurve;
break;
default:
break;
}
}
void DiagonalCurveEditor::setRangeLabels(Glib::ustring r1, Glib::ustring r2, Glib::ustring r3, Glib::ustring r4) {
rangeLabels[0] = r1;
rangeLabels[1] = r2;
@@ -122,6 +145,17 @@ std::vector<double> FlatCurveEditor::getCurve () {
}
}
void FlatCurveEditor::setResetCurve(FlatCurveType cType, const std::vector<double> &resetCurve) {
switch (cType) {
case (FCT_MinMaxCPoints):
if (resetCurve.size() && FlatCurveType(resetCurve.at(0)) == cType)
controlPointsResetCurve = resetCurve;
break;
default:
break;
}
}
/*
* CurveEditor (CurveEditorGroup* ceGroup, Glib::ustring text)
*
@@ -333,7 +367,6 @@ bool CurveEditor::drag(int modifierKey) {
}
CursorShape CurveEditor::getCursor(int objectID) {
printf("CurveEditor::getCursor\n");
if (remoteDrag)
return CSResizeHeight;
return CSOpenHand;