From 133c1407ae4c190e47f273bb77a66a995ea72dd7 Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Sun, 5 Jun 2016 11:26:45 +1000 Subject: [PATCH] Clamp log knob values Signed-off-by: Damien Zammit --- dgl/src/ImageWidgets.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dgl/src/ImageWidgets.cpp b/dgl/src/ImageWidgets.cpp index c77bf65a..e8841256 100644 --- a/dgl/src/ImageWidgets.cpp +++ b/dgl/src/ImageWidgets.cpp @@ -647,14 +647,14 @@ float ImageKnob::_logscale(float value) const { const float b = std::log(fMaximum/fMinimum)/(fMaximum-fMinimum); const float a = fMaximum/std::exp(fMaximum*b); - return a * std::exp(b*value); + return a * std::exp(b * std::max(std::min(value, fMaximum), fMinimum)); } float ImageKnob::_invlogscale(float value) const { const float b = std::log(fMaximum/fMinimum)/(fMaximum-fMinimum); const float a = fMaximum/std::exp(fMaximum*b); - return std::log(value/a)/b; + return std::log(std::max(std::min(value, fMaximum), fMinimum) / a) / b; } // -----------------------------------------------------------------------