Solving issue 1528: "HSV equalizer channels sometimes can't be switched properly"

This commit is contained in:
natureh
2012-08-19 20:53:58 +02:00
parent fe9d266cae
commit 8ac87562e7
6 changed files with 79 additions and 67 deletions

View File

@@ -81,7 +81,7 @@ class MyCurve : public Gtk::DrawingArea, public BackBuffer, public ColorCaller {
* -2 : identity value
* -1 : minimum value
* [0;1000[ : control point that it's snapped to
* >=1000 : moved control point which is snapped to to the line made by it neighbors
* >=1000 : moved control point which snaps to the line made by its previous and next point
*/
int snapToElmt;
bool snapTo;
@@ -89,6 +89,7 @@ class MyCurve : public Gtk::DrawingArea, public BackBuffer, public ColorCaller {
double snapToVal;
MyCurveIdleHelper* mcih;
enum ResizeState sized;
bool curveIsDirty;
virtual std::vector<double> get_vector (int veclen) = 0;
int getGraphMinSize() { return GRAPH_SIZE + RADIUS + 1; }
@@ -107,6 +108,7 @@ class MyCurve : public Gtk::DrawingArea, public BackBuffer, public ColorCaller {
void updateBackgroundHistogram (LUTu & hist) {return;} ;
void forceResize() { sized = RS_Force; }
void refresh();
void setCurveDirty () { curveIsDirty = true; }
void styleChanged (const Glib::RefPtr<Gtk::Style>& style);
virtual std::vector<double> getPoints () = 0;
virtual void setPoints (const std::vector<double>& p) = 0;