mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-02-08 04:20:09 +00:00
Slider and NormalisableRange changed to use standard library math functions
This commit is contained in:
parent
c10b042f76
commit
16e6c6fd84
2 changed files with 14 additions and 14 deletions
|
|
@ -114,10 +114,10 @@ public:
|
|||
|
||||
ValueType distanceFromMiddle = static_cast<ValueType> (2) * proportion - static_cast<ValueType> (1);
|
||||
|
||||
return (static_cast<ValueType> (1) + pow (std::abs (distanceFromMiddle), skew)
|
||||
* (distanceFromMiddle < static_cast<ValueType> (0) ? static_cast<ValueType> (-1)
|
||||
: static_cast<ValueType> (1)))
|
||||
/ static_cast<ValueType> (2);
|
||||
return (static_cast<ValueType> (1) + std::pow (std::abs (distanceFromMiddle), skew)
|
||||
* (distanceFromMiddle < static_cast<ValueType> (0) ? static_cast<ValueType> (-1)
|
||||
: static_cast<ValueType> (1)))
|
||||
/ static_cast<ValueType> (2);
|
||||
}
|
||||
|
||||
/** Uses the properties of this mapping to convert a normalised 0->1 value to
|
||||
|
|
@ -128,7 +128,7 @@ public:
|
|||
if (! symmetricSkew)
|
||||
{
|
||||
if (skew != static_cast<ValueType> (1) && proportion > ValueType())
|
||||
proportion = exp (std::log (proportion) / skew);
|
||||
proportion = std::exp (std::log (proportion) / skew);
|
||||
|
||||
return start + (end - start) * proportion;
|
||||
}
|
||||
|
|
@ -136,9 +136,9 @@ public:
|
|||
ValueType distanceFromMiddle = static_cast<ValueType> (2) * proportion - static_cast<ValueType> (1);
|
||||
|
||||
if (skew != static_cast<ValueType> (1) && distanceFromMiddle != static_cast<ValueType> (0))
|
||||
distanceFromMiddle = exp (log (std::abs (distanceFromMiddle)) / skew)
|
||||
* (distanceFromMiddle < static_cast<ValueType> (0) ? static_cast<ValueType> (-1)
|
||||
: static_cast<ValueType> (1));
|
||||
distanceFromMiddle = std::exp (std::log (std::abs (distanceFromMiddle)) / skew)
|
||||
* (distanceFromMiddle < static_cast<ValueType> (0) ? static_cast<ValueType> (-1)
|
||||
: static_cast<ValueType> (1));
|
||||
|
||||
return start + (end - start) / static_cast<ValueType> (2) * (static_cast<ValueType> (1) + distanceFromMiddle);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -477,8 +477,8 @@ public:
|
|||
void setSkewFactorFromMidPoint (const double sliderValueToShowAtMidPoint)
|
||||
{
|
||||
if (maximum > minimum)
|
||||
skewFactor = log (0.5) / log ((sliderValueToShowAtMidPoint - minimum)
|
||||
/ (maximum - minimum));
|
||||
skewFactor = std::log (0.5) / std::log ((sliderValueToShowAtMidPoint - minimum)
|
||||
/ (maximum - minimum));
|
||||
}
|
||||
|
||||
void setIncDecButtonsMode (const IncDecButtonMode mode)
|
||||
|
|
@ -1508,7 +1508,7 @@ double Slider::proportionOfLengthToValue (double proportion)
|
|||
if (! isSymmetricSkew())
|
||||
{
|
||||
if (skew != 1.0 && proportion > 0.0)
|
||||
proportion = exp (log (proportion) / skew);
|
||||
proportion = std::exp (std::log (proportion) / skew);
|
||||
|
||||
return getMinimum() + (getMaximum() - getMinimum()) * proportion;
|
||||
}
|
||||
|
|
@ -1516,8 +1516,8 @@ double Slider::proportionOfLengthToValue (double proportion)
|
|||
double distanceFromMiddle = 2.0 * proportion - 1.0;
|
||||
|
||||
if (skew != 1.0 && distanceFromMiddle != 0.0)
|
||||
distanceFromMiddle = exp (log (std::abs (distanceFromMiddle)) / skew)
|
||||
* (distanceFromMiddle < 0 ? -1 : 1);
|
||||
distanceFromMiddle = std::exp (std::log (std::abs (distanceFromMiddle)) / skew)
|
||||
* (distanceFromMiddle < 0 ? -1 : 1);
|
||||
|
||||
return getMinimum() + (getMaximum() - getMinimum()) / 2.0 * (1 + distanceFromMiddle);
|
||||
}
|
||||
|
|
@ -1534,7 +1534,7 @@ double Slider::valueToProportionOfLength (double value)
|
|||
return std::pow (n, skew);
|
||||
|
||||
double distanceFromMiddle = 2.0 * n - 1.0;
|
||||
return (1.0 + pow (std::abs (distanceFromMiddle), skew) * (distanceFromMiddle < 0 ? -1 : 1)) / 2.0;
|
||||
return (1.0 + std::pow (std::abs (distanceFromMiddle), skew) * (distanceFromMiddle < 0 ? -1 : 1)) / 2.0;
|
||||
}
|
||||
|
||||
double Slider::snapValue (double attemptedValue, DragMode)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue