[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