diff options
author | Scott Moreau <oreaus@gmail.com> | 2012-06-08 19:40:53 -0600 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-06-11 09:32:47 -0400 |
commit | 9d1b1125fd30c6d78cd6e8e8220729c97a914639 (patch) | |
tree | 32b6784d5934e4917ba08edba39126abdd0d028a | |
parent | c3a13cc6cf0c30cd80051379b1bc6cabd49cd592 (diff) |
Move animation_list to weston_output.
-rw-r--r-- | src/compositor.c | 10 | ||||
-rw-r--r-- | src/compositor.h | 2 | ||||
-rw-r--r-- | src/util.c | 4 |
3 files changed, 10 insertions, 6 deletions
diff --git a/src/compositor.c b/src/compositor.c index 700f31b..d706b41 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -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); diff --git a/src/compositor.h b/src/compositor.h index 646e1e7..e353070 100644 --- a/src/compositor.h +++ b/src/compositor.h @@ -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; @@ -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; |