JUCE API reference
Loading...
Searching...
No Matches
Public Member Functions | List of all members
juce::StaticAnimationLimits< ValueType > Class Template Reference

Helper class for using linear interpolation between a begin and an end value. More...

Public Member Functions

 StaticAnimationLimits (const ValueType &endIn)
 Constructor.
 
 StaticAnimationLimits (const ValueType &beginIn, const ValueType &endIn)
 Constructor.
 
ValueType operator() (float value) const
 Evaluation operator.
 
ValueType lerp (float value) const
 Returns a value that is a linear interpolation of the beginning and end state.
 

Detailed Description

template<typename ValueType>
class juce::StaticAnimationLimits< ValueType >

Helper class for using linear interpolation between a begin and an end value.

The ValueType could be any numerical type, or a std::tuple containing numerical types. This class is mainly intended to be used with the latter.

This way you can interpolate multiple values by supplying a single float value, which you can access in an Animator's value change callback.

E.g.

const auto boundsToTuple = [] (auto b)
{
return std::make_tuple (b.getX(), b.getY(), b.getWidth(), b.getHeight());
};
const auto begin = boundsToTuple (component.getBoundsInParent());
const auto end = boundsToTuple (targetBounds);
const auto limits = makeAnimationLimits (begin, end);
// This is the value change callback of an Animator, where you will transition a Component from
// one bounds to the next. See the AnimatorsDemo for a more detailed example.
const auto valueChanged = [&component, limits] (auto v)
{
const auto [x, y, w, h] = limits.lerp (v);
component.setBounds (x, y, w, h);
};
Helper class for using linear interpolation between a begin and an end value.
Definition juce_StaticAnimationLimits.h:74
ValueType lerp(float value) const
Returns a value that is a linear interpolation of the beginning and end state.
Definition juce_StaticAnimationLimits.h:99
void int int h
Definition juce_UnityPluginInterface.h:195
void int w
Definition juce_UnityPluginInterface.h:195
float x
Definition juce_UnityPluginInterface.h:197
float float y
Definition juce_UnityPluginInterface.h:197
StaticAnimationLimits< ValueType > makeAnimationLimits(const ValueType &end)
Creates an instance of StaticAnimationLimits, deducing ValueType from the function argument.
Definition juce_StaticAnimationLimits.h:117
@ valueChanged
Indicates that the UI element's value has changed.
See also
ValueAnimatorBuilder::ValueChangedCallback

Constructor & Destructor Documentation

◆ StaticAnimationLimits() [1/2]

template<typename ValueType >
juce::StaticAnimationLimits< ValueType >::StaticAnimationLimits ( const ValueType &  endIn)
inlineexplicit

◆ StaticAnimationLimits() [2/2]

template<typename ValueType >
juce::StaticAnimationLimits< ValueType >::StaticAnimationLimits ( const ValueType &  beginIn,
const ValueType &  endIn 
)
inline

Constructor.

Creates an object that will interpolate between the two provided beginning and end states. The ValueType can be a numerical type or a std::tuple containing numerical types.

References juce::begin(), and juce::end().

Member Function Documentation

◆ operator()()

Evaluation operator.

Returns a value that is a linear interpolation of the beginning and end state. It's a shorthand for the lerp() function.

◆ lerp()

template<typename ValueType >
ValueType juce::StaticAnimationLimits< ValueType >::lerp ( float  value) const
inline

Returns a value that is a linear interpolation of the beginning and end state.

References juce::begin(), and juce::end().


The documentation for this class was generated from the following file: