Easing modes are not used when computing the value of a KeyframeTransition
An easing mode can be set on a frame of a KeyframeTransition. However, the progress value of the current frame is computed using using a linear function. This patch adds a call to clutter_easing_for_mode() to compute the actual progress value. Note that parametrized easing modes (bezier and 'step') are not taken into account. https://bugzilla.gnome.org/show_bug.cgi?id=740997
This commit is contained in:
parent
d3dbd169d6
commit
e7d1458298
@ -295,8 +295,8 @@ clutter_keyframe_transition_compute_value (ClutterTransition *transition,
|
|||||||
/* update the interval to be used to interpolate the property */
|
/* update the interval to be used to interpolate the property */
|
||||||
real_interval = cur_frame->interval;
|
real_interval = cur_frame->interval;
|
||||||
|
|
||||||
/* normalize the progress */
|
/* normalize the progress and apply the easing mode */
|
||||||
real_progress = (p - cur_frame->start) / (cur_frame->end - cur_frame->start);
|
real_progress = clutter_easing_for_mode ( cur_frame->mode, (p - cur_frame->start), (cur_frame->end - cur_frame->start));
|
||||||
|
|
||||||
#ifdef CLUTTER_ENABLE_DEBUG
|
#ifdef CLUTTER_ENABLE_DEBUG
|
||||||
if (CLUTTER_HAS_DEBUG (ANIMATION))
|
if (CLUTTER_HAS_DEBUG (ANIMATION))
|
||||||
|
Loading…
Reference in New Issue
Block a user