Patch from issue 1359: "Munsell correction - Lab adjustements" credits: jdesmis

Bundled new features besid the Lab tool enhancement (by jdesmis) :
   - curve to control skin tones in vibrance tool, credits: jdesmis
   - right click over SHCSelector (below the parametric curve) to reset to default values, credits: Hombre
   - colored bars around curves, credits: Hombre
This commit is contained in:
natureh
2012-07-21 00:47:24 +02:00
parent 61f287b364
commit caf53b95a3
75 changed files with 4905 additions and 3336 deletions

View File

@@ -22,11 +22,17 @@
#include <gtkmm.h>
#include "adjuster.h"
#include "thresholdadjuster.h"
#include "curveeditor.h"
#include "curveeditorgroup.h"
#include "toolpanel.h"
class Vibrance : public Gtk::VBox, public AdjusterListener, public ThresholdAdjusterListener, public FoldableToolPanel, public ThresholdCurveProvider {
class Vibrance : public Gtk::VBox, public AdjusterListener, public ThresholdCurveProvider, public ThresholdAdjusterListener,
public FoldableToolPanel, public CurveListener, public ColorProvider
{
protected:
CurveEditorGroup* curveEditorGG;
Gtk::CheckButton* enabled;
Adjuster* pastels;
Adjuster* saturated;
@@ -34,7 +40,9 @@ protected:
Gtk::CheckButton* protectSkins;
Gtk::CheckButton* avoidColorShift;
Gtk::CheckButton* pastSatTog;
bool lastEnabled;
DiagonalCurveEditor* skinTonesCurve;
bool lastEnabled;
bool lastProtectSkins;
bool lastAvoidColorShift;
bool lastPastSatTog;
@@ -47,6 +55,7 @@ protected:
public:
Vibrance ();
~Vibrance ();
void read (const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited=NULL);
void write (rtengine::procparams::ProcParams* pp, ParamsEdited* pedited=NULL);
@@ -56,12 +65,14 @@ public:
void setAdjusterBehavior (bool amountadd, bool passadd, bool psthreshdadd);
void adjusterChanged (Adjuster* a, double newval);
void adjusterChanged (ThresholdAdjuster* a, int newBottom, int newTop);
void curveChanged ();
void enabled_toggled ();
void protectskins_toggled ();
void avoidcolorshift_toggled ();
void pastsattog_toggled ();
std::vector<double> getCurvePoints(ThresholdSelector* tAdjuster) const;
virtual void colorForValue (double valX, double valY);
};