SpringAnimation#
Superclasses: Animation, Object
A spring-based Animation.
AdwSpringAnimation implements an animation driven by a physical model of a
spring described by SpringParams, with a resting position in
value_to, stretched to
value_from.
Since the animation is physically simulated, spring animations don’t have a
fixed duration. The animation will stop when the simulated spring comes to a
rest - when the amplitude of the oscillations becomes smaller than
epsilon, or immediately when it reaches
value_to if
clamp is set to TRUE. The estimated duration can
be obtained with estimated_duration.
Due to the nature of spring-driven motion the animation can overshoot
value_to before coming to a rest. Whether the
animation will overshoot or not depends on the damping ratio of the spring.
See SpringParams for more information about specific damping ratio
values.
If clamp is TRUE, the animation will abruptly
end as soon as it reaches the final value, preventing overshooting.
Animations can have an initial velocity value, set via
initial_velocity, which adjusts the curve without
changing the duration. This makes spring animations useful for deceleration
at the end of gestures.
If the initial and final values are equal, and the initial velocity is not 0, the animation value will bounce and return to its resting position.
Constructors#
- class SpringAnimation
- classmethod new(widget: Widget, from_: float, to: float, spring_params: SpringParams, target: AnimationTarget) Animation#
Creates a new
AdwSpringAnimationonwidget.The animation will animate
targetfromfromtotowith the dynamics of a spring described byspring_params.- Parameters:
widget – a widget to create animation on
from
to – a value to animate to
spring_params – physical parameters of the spring
target – a target value to animate
Methods#
- class SpringAnimation
- calculate_value(time: int) float#
Calculates the value
selfwill have attime.The time starts at 0 and ends at
estimated_duration.See also
calculate_velocity.Added in version 1.3.
- Parameters:
time – elapsed time, in milliseconds
- calculate_velocity(time: int) float#
Calculates the velocity
selfwill have attime.The time starts at 0 and ends at
estimated_duration.See also
calculate_value.Added in version 1.3.
- Parameters:
time – elapsed time, in milliseconds
- get_estimated_duration() int#
Gets the estimated duration of
self, in milliseconds.Can be
DURATION_INFINITEif the spring damping is set to 0.
- get_spring_params() SpringParams#
Gets the physical parameters of the spring of
self.
- set_clamp(clamp: bool) None#
Sets whether
selfshould be clamped.If set to
TRUE, the animation will abruptly end as soon as it reaches the final value, preventing overshooting.It won’t prevent overshooting
value_fromif a relative negativeinitial_velocityis set.- Parameters:
clamp – the new value
- set_epsilon(epsilon: float) None#
Sets the precision of the spring.
The level of precision used to determine when the animation has come to a rest, that is, when the amplitude of the oscillations becomes smaller than this value.
If the epsilon value is too small, the animation will take a long time to stop after the animated value has stopped visibly changing.
If the epsilon value is too large, the animation will end prematurely.
The default value is 0.001.
- Parameters:
epsilon – the new value
- set_initial_velocity(velocity: float) None#
Sets the initial velocity of
self.Initial velocity affects only the animation curve, but not its duration.
- Parameters:
velocity – the initial velocity
- set_spring_params(spring_params: SpringParams) None#
Sets the physical parameters of the spring of
self.- Parameters:
spring_params – the new spring parameters
- set_value_from(value: float) None#
Sets the value
selfwill animate from.The animation will start at this value and end at
value_to.- Parameters:
value – the value to animate from
- set_value_to(value: float) None#
Sets the value
selfwill animate to.The animation will start at
value_fromand end at this value.- Parameters:
value – the value to animate to
Properties#
- class SpringAnimation
-
- props.spring_params: SpringParams#
The type of the None singleton.