Flat curve editor widget, HSV tool modified to use it.

Usage :
 - click & drag a control point to move it in X&Y direction
 - click & drag a vertical line to move it in horizontal or vertical direction (the very first move will be used to determine the motion direction)
 - click & drag the yellow or blue square handle to modify the tangent of the same color
This commit is contained in:
Hombre
2011-03-24 00:39:48 +01:00
parent e57a56b40f
commit eb4b2d8781
44 changed files with 4778 additions and 2136 deletions

View File

@@ -23,9 +23,10 @@
#include <adjuster.h>
#include <toolpanel.h>
#include <curveeditor.h>
#include <mycurve.h>
#include <curveeditorgroup.h>
#include <colorprovider.h>
class LCurve : public Gtk::VBox, public AdjusterListener, public FoldableToolPanel, public CurveListener {
class LCurve : public Gtk::VBox, public AdjusterListener, public FoldableToolPanel, public CurveListener, public ColorProvider {
protected:
Gtk::ComboBoxText* channel;
@@ -34,9 +35,9 @@ class LCurve : public Gtk::VBox, public AdjusterListener, public FoldableToolPan
Adjuster* brightness;
Adjuster* contrast;
Adjuster* saturation;
CurveEditor* lshape;
CurveEditor* ashape;
CurveEditor* bshape;
DiagonalCurveEditor* lshape;
DiagonalCurveEditor* ashape;
DiagonalCurveEditor* bshape;
//%%%%%%%%%%%%%%%%
Gtk::CheckButton* avoidclip;
@@ -65,6 +66,8 @@ class LCurve : public Gtk::VBox, public AdjusterListener, public FoldableToolPan
void avoidclip_toggled ();
void enablelimiter_toggled ();
void updateCurveBackgroundHistogram (unsigned* hist);
virtual void colorForValue (double valX, double valY);
};
#endif