[PATCH weston] animation: Use fixed spring in weston_view_animation_run

Daiki Ueno ueno at gnu.org
Tue Apr 8 20:44:52 PDT 2014


Kristian Høgsberg <hoegsberg at gmail.com> writes:

> On Tue, Apr 08, 2014 at 03:54:43PM +0900, Daiki Ueno wrote:
>> From: Daiki Ueno <ueno at gnu.org>
>> 
>> Since commit 3a869019, weston_view_animation_run initializes the
>> spring with an arbitrary value range.  This should be fine if the
>> range is narrow enough, but if the range is wide, the spring functions
>> converge too slowly, since the step is hard-coded.
>> 
>> This patch partially reverts the change and adjusts the fade-in/out
>> behavior in fade_frame instead.
>
> Yeah, that may be better, but doesn't this affect the other animations?

I don't think so, but it would be nice if anyone could double-check, as
I'm totally unfamiliar with animations.

The frame functions for other animations (zoom_frame and slide_frame)
already have the rescaling code, which maps the spring->current value
into the given range between animation->start and animation->stop.  This
code assumes that spring->current is in the range of [0, 1]:
http://cgit.freedesktop.org/wayland/weston/tree/src/animation.c#n238

However, after commit 3a869019, spring->current can have a value between
animation->start and animation->stop.  So the value after rescaling can
be invalid.  This has not been visible for fade and zoom, because
weston_fade_run and weston_zoom_run are always called with a subrange of
[0, 1], in weston.

Regards,
--
Daiki Ueno


More information about the wayland-devel mailing list