animation: Fix input panel slide animation
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Mon, 14 Apr 2014 12:48:06 +0000 (15:48 +0300)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 17 Apr 2014 05:33:46 +0000 (22:33 -0700)
The position for the slide animation was calculated assuming the value
of the spring was always between 0.0 and 1.0. Commit 3a869019 broke
that assumption, and the result was that the panel would be positioned
at an invisible part of screen. Since there would be no output repaints
scheduled, the result of the animation would only be seen if something
else triggered a repaint (such as a mouse cursor movement).

This patch changes the values for the slide animation's spring to range
between 0.0 and 1.0, thus fixing the position of the panel and the lack
of scheduled repaints problem.

https://bugs.freedesktop.org/show_bug.cgi?id=77347

src/animation.c

index 0c53cdb..a29b34a 100644 (file)
@@ -389,7 +389,7 @@ weston_slide_run(struct weston_view *view, float start, float stop,
        if (!animation)
                return NULL;
 
-       weston_spring_init(&animation->spring, 400.0, start, stop);
+       weston_spring_init(&animation->spring, 400.0, 0.0, 1.0);
        animation->spring.friction = 600;
        animation->spring.clip = WESTON_SPRING_BOUNCE;