Move animation_list to weston_output.
authorScott Moreau <oreaus@gmail.com>
Sat, 9 Jun 2012 01:40:53 +0000 (19:40 -0600)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 11 Jun 2012 13:32:47 +0000 (09:32 -0400)
src/compositor.c
src/compositor.h
src/util.c

index 700f31b..d706b41 100644 (file)
@@ -1060,7 +1060,7 @@ weston_output_repaint(struct weston_output *output, int msecs)
                wl_resource_destroy(&cb->resource);
        }
 
-       wl_list_for_each_safe(animation, next, &ec->animation_list, link)
+       wl_list_for_each_safe(animation, next, &output->animation_list, link)
                animation->frame(animation, output, msecs);
 }
 
@@ -1142,9 +1142,13 @@ weston_compositor_schedule_repaint(struct weston_compositor *compositor)
 WL_EXPORT void
 weston_compositor_fade(struct weston_compositor *compositor, float tint)
 {
+       struct weston_output *output;
        struct weston_surface *surface;
        int done;
 
+       output = container_of(compositor->output_list.next,
+                             struct weston_output, link);
+
        done = weston_spring_done(&compositor->fade.spring);
        compositor->fade.spring.target = tint;
        if (weston_spring_done(&compositor->fade.spring))
@@ -1167,7 +1171,7 @@ weston_compositor_fade(struct weston_compositor *compositor, float tint)
 
        weston_surface_damage(compositor->fade.surface);
        if (wl_list_empty(&compositor->fade.animation.link))
-               wl_list_insert(compositor->animation_list.prev,
+               wl_list_insert(output->animation_list.prev,
                               &compositor->fade.animation.link);
 }
 
@@ -2840,6 +2844,7 @@ weston_output_init(struct weston_output *output, struct weston_compositor *c,
 
        wl_signal_init(&output->frame_signal);
        wl_list_init(&output->frame_callback_list);
+       wl_list_init(&output->animation_list);
        wl_list_init(&output->resource_list);
 
        output->id = ffs(~output->compositor->output_id_pool) - 1;
@@ -2990,7 +2995,6 @@ weston_compositor_init(struct weston_compositor *ec,
        wl_list_init(&ec->key_binding_list);
        wl_list_init(&ec->button_binding_list);
        wl_list_init(&ec->axis_binding_list);
-       wl_list_init(&ec->animation_list);
        weston_spring_init(&ec->fade.spring, 30.0, 1.0, 1.0);
        ec->fade.animation.frame = fade_frame;
        wl_list_init(&ec->fade.animation.link);
index 646e1e7..e353070 100644 (file)
@@ -131,6 +131,7 @@ struct weston_output {
        struct weston_compositor *compositor;
        struct weston_matrix matrix;
        struct wl_list frame_callback_list;
+       struct wl_list animation_list;
        int32_t x, y, mm_width, mm_height;
        struct weston_border border;
        pixman_region32_t region;
@@ -287,7 +288,6 @@ struct weston_compositor {
        struct wl_list key_binding_list;
        struct wl_list button_binding_list;
        struct wl_list axis_binding_list;
-       struct wl_list animation_list;
        struct {
                struct weston_spring spring;
                struct weston_animation animation;
index 3d28f8f..97058fe 100644 (file)
@@ -188,7 +188,7 @@ weston_zoom_run(struct weston_surface *surface, GLfloat start, GLfloat stop,
        wl_signal_add(&surface->surface.resource.destroy_signal,
                      &zoom->listener);
 
-       wl_list_insert(&surface->compositor->animation_list,
+       wl_list_insert(&surface->output->animation_list,
                       &zoom->animation.link);
 
        return zoom;
@@ -510,7 +510,7 @@ weston_fade_run(struct weston_surface *surface,
        wl_signal_add(&surface->surface.resource.destroy_signal,
                      &fade->listener);
 
-       wl_list_insert(&surface->compositor->animation_list,
+       wl_list_insert(&surface->output->animation_list,
                       &fade->animation.link);
 
        return fade;