JUCE
Loading...
Searching...
No Matches
juce::AnimatedPositionBehaviours::ContinuousWithMomentum Struct Reference

A non-snapping behaviour that allows the content to be freely flicked in either direction, with momentum based on the velocity at which it was released, and variable friction to make it come to a halt. More...

Public Member Functions

 ContinuousWithMomentum ()=default
 
void setFriction (double newFriction) noexcept
 Sets the friction that damps the movement of the value.
 
void setMinimumVelocity (double newMinimumVelocityToUse) noexcept
 Sets the minimum velocity of the movement.
 
void releasedWithVelocity (double, double releaseVelocity) noexcept
 Called by the AnimatedPosition class.
 
double getNextPosition (double oldPos, double elapsedSeconds) noexcept
 Called by the AnimatedPosition class to get the new position, after the given time has elapsed.
 
bool isStopped (double) const noexcept
 Called by the AnimatedPosition class to check whether the object is now stationary.
 

Detailed Description

A non-snapping behaviour that allows the content to be freely flicked in either direction, with momentum based on the velocity at which it was released, and variable friction to make it come to a halt.

This class is intended to be used as a template parameter to the AnimatedPosition class.

See also
AnimatedPosition

Constructor & Destructor Documentation

◆ ContinuousWithMomentum()

juce::AnimatedPositionBehaviours::ContinuousWithMomentum::ContinuousWithMomentum ( )
default

Member Function Documentation

◆ setFriction()

void juce::AnimatedPositionBehaviours::ContinuousWithMomentum::setFriction ( double newFriction)
noexcept

Sets the friction that damps the movement of the value.

A typical value is 0.08; higher values indicate more friction.

◆ setMinimumVelocity()

void juce::AnimatedPositionBehaviours::ContinuousWithMomentum::setMinimumVelocity ( double newMinimumVelocityToUse)
noexcept

Sets the minimum velocity of the movement.

Any velocity that's slower than this will stop the animation. The default is 0.05.

◆ releasedWithVelocity()

void juce::AnimatedPositionBehaviours::ContinuousWithMomentum::releasedWithVelocity ( double ,
double releaseVelocity )
noexcept

Called by the AnimatedPosition class.

This tells us the position and velocity at which the user is about to release the object. The velocity is measured in units/second.

◆ getNextPosition()

double juce::AnimatedPositionBehaviours::ContinuousWithMomentum::getNextPosition ( double oldPos,
double elapsedSeconds )
noexcept

Called by the AnimatedPosition class to get the new position, after the given time has elapsed.

◆ isStopped()

bool juce::AnimatedPositionBehaviours::ContinuousWithMomentum::isStopped ( double ) const
noexcept

Called by the AnimatedPosition class to check whether the object is now stationary.

References approximatelyEqual().