25 #ifndef JUCE_ANIMATEDPOSITIONBEHAVIOURS_H_INCLUDED 26 #define JUCE_ANIMATEDPOSITIONBEHAVIOURS_H_INCLUDED 47 : velocity (0), damping (0.92)
56 damping = 1.0 - newFriction;
65 velocity = releaseVelocity;
75 if (std::abs (velocity) < 0.05)
78 return oldPos + velocity * elapsedSeconds;
90 double velocity, damping;
116 targetSnapPosition = std::floor (position + 0.5);
118 if (releaseVelocity > 1.0 && targetSnapPosition < position) ++targetSnapPosition;
119 if (releaseVelocity < -1.0 && targetSnapPosition > position) --targetSnapPosition;
128 return targetSnapPosition;
130 const double snapSpeed = 10.0;
131 const double velocity = (targetSnapPosition - oldPos) * snapSpeed;
132 const double newPos = oldPos + velocity * elapsedSeconds;
134 return isStopped (newPos) ? targetSnapPosition : newPos;
142 return std::abs (targetSnapPosition - position) < 0.001;
146 double targetSnapPosition;
151 #endif // JUCE_ANIMATEDPOSITIONBEHAVIOURS_H_INCLUDED #define noexcept
Definition: juce_CompilerSupport.h:141
bool isStopped(double position) const noexcept
Definition: juce_AnimatedPositionBehaviours.h:140
ContinuousWithMomentum() noexcept
Definition: juce_AnimatedPositionBehaviours.h:46
Definition: juce_AnimatedPositionBehaviours.h:44
double getNextPosition(double oldPos, double elapsedSeconds) const noexcept
Definition: juce_AnimatedPositionBehaviours.h:125
Definition: juce_AnimatedPositionBehaviours.h:33
SnapToPageBoundaries() noexcept
Definition: juce_AnimatedPositionBehaviours.h:106
void setFriction(double newFriction) noexcept
Definition: juce_AnimatedPositionBehaviours.h:54
Definition: juce_AnimatedPositionBehaviours.h:104
bool isStopped(double) const noexcept
Definition: juce_AnimatedPositionBehaviours.h:84
void releasedWithVelocity(double position, double releaseVelocity) noexcept
Definition: juce_AnimatedPositionBehaviours.h:114
void releasedWithVelocity(double, double releaseVelocity) noexcept
Definition: juce_AnimatedPositionBehaviours.h:63
double getNextPosition(double oldPos, double elapsedSeconds) noexcept
Definition: juce_AnimatedPositionBehaviours.h:71