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

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()

AnimatedPositionBehaviours::ContinuousWithMomentum::ContinuousWithMomentum ( )
noexcept

Member Function Documentation

◆ setFriction()

void 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 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 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 AnimatedPositionBehaviours::ContinuousWithMomentum::getNextPosition ( double  oldPos,
double  elapsedSeconds 
)
noexcept

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

References abs().

◆ isStopped()

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

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

Referenced by AnimatedPositionBehaviours::SnapToPageBoundaries::getNextPosition().


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