diff options
author | Damien Zammit <damien@zamaudio.com> | 2014-04-19 18:30:29 +1000 |
---|---|---|
committer | Damien Zammit <damien@zamaudio.com> | 2014-04-19 18:30:29 +1000 |
commit | d920b179ebd32d7c266c83640d85f128b1ebc526 (patch) | |
tree | de71ee54d40ec2cffadb4783be408f222cfb57e7 /libs | |
parent | 7200457fdf98d5a4607da0feb8b6a95f626c5be0 (diff) |
Trying to fix log knob default value
Signed-off-by: Damien Zammit <damien@zamaudio.com>
Diffstat (limited to 'libs')
-rw-r--r-- | libs/dgl/ImageKnob.hpp | 3 | ||||
-rw-r--r-- | libs/dgl/src/ImageKnob.cpp | 21 |
2 files changed, 10 insertions, 14 deletions
diff --git a/libs/dgl/ImageKnob.hpp b/libs/dgl/ImageKnob.hpp index 99385ac..e774a4a 100644 --- a/libs/dgl/ImageKnob.hpp +++ b/libs/dgl/ImageKnob.hpp @@ -73,10 +73,9 @@ private: float fMaximum; float fStep; bool fLog; - bool fFirst; float fValue; - float fValueDef; float fValueTmp; + float fValueDef; Orientation fOrientation; int fRotationAngle; diff --git a/libs/dgl/src/ImageKnob.cpp b/libs/dgl/src/ImageKnob.cpp index 5e2ec29..8b3c95b 100644 --- a/libs/dgl/src/ImageKnob.cpp +++ b/libs/dgl/src/ImageKnob.cpp @@ -30,7 +30,6 @@ ImageKnob::ImageKnob(Window& parent, const Image& image, Orientation orientation fMaximum(1.0f), fStep(0.0f), fLog(false), - fFirst(true), fValue(0.5f), fValueTmp(fValue), fValueDef(fValue), @@ -56,7 +55,6 @@ ImageKnob::ImageKnob(Widget* widget, const Image& image, Orientation orientation fMaximum(1.0f), fStep(0.0f), fLog(false), - fFirst(true), fValue(0.5f), fValueTmp(fValue), fValueDef(fValue), @@ -82,10 +80,9 @@ ImageKnob::ImageKnob(const ImageKnob& imageKnob) fMaximum(imageKnob.fMaximum), fStep(imageKnob.fStep), fLog(imageKnob.fLog), - fFirst(true), fValue(imageKnob.fValue), fValueTmp(fValue), - fValueDef(imageKnob.fValueDef), + fValueDef(fValue), fOrientation(imageKnob.fOrientation), fRotationAngle(imageKnob.fRotationAngle), fDragging(false), @@ -180,16 +177,17 @@ float ImageKnob::invlogscale(float value) void ImageKnob::setDefault(float value) { fValueDef = value; - if (fFirst) { - resetDefault(); - fFirst = false; - } + fValueTmp = value; + resetDefault(); } void ImageKnob::resetDefault() { - fFirst = true; - setValue(fValueDef, true); + fValueTmp = invlogscale(fValueDef); + fValue = fValueDef; + if (fCallback != nullptr) + fCallback->imageKnobValueChanged(this, fValue); + repaint(); } void ImageKnob::setValue(float value, bool sendCallback) @@ -199,8 +197,7 @@ void ImageKnob::setValue(float value, bool sendCallback) fValue = logscale(value); - if (fStep == 0.0f || fFirst) { - fFirst = false; + if (fStep == 0.0f) { fValueTmp = value; } |