Apply limit direction when ticking keyframed animation in cc
When ticking an animation, we trim to the current iteration. The
trim process snaps the iteration time to the boundary of the active
interval if outside the interval. This snapping prevents us from
applying the correct limit direction when using a step timing function.
During the trim process, we now compute the limit direction to apply
if needed.
We have two sets of animation curves in use: keyframed animation
curves, and animation curve adapters. The former apply timing
functions while the later do linear interpolation. To keep things
simple, we now have 2 curve sampling functions: GetValue and
GetTransformedValue. NOTREACHED added to the branch that should not
be used for each of the animation curves.
Bug: 40870829
Change-Id: I2ede2242fb270464626b84766e17665215dd9c72
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5689318
Reviewed-by: Robert Flack flackr@chromium.org
Commit-Queue: Kevin Ellis kevers@chromium.org
Cr-Commit-Position: refs/heads/main@{#1330344}