Add frame_counter to weston_animation.
This commit is contained in:
parent
9d1b1125fd
commit
d64cf21246
@ -1060,8 +1060,10 @@ weston_output_repaint(struct weston_output *output, int msecs)
|
||||
wl_resource_destroy(&cb->resource);
|
||||
}
|
||||
|
||||
wl_list_for_each_safe(animation, next, &output->animation_list, link)
|
||||
wl_list_for_each_safe(animation, next, &output->animation_list, link) {
|
||||
animation->frame(animation, output, msecs);
|
||||
animation->frame_counter++;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
@ -1170,9 +1172,11 @@ weston_compositor_fade(struct weston_compositor *compositor, float tint)
|
||||
}
|
||||
|
||||
weston_surface_damage(compositor->fade.surface);
|
||||
if (wl_list_empty(&compositor->fade.animation.link))
|
||||
if (wl_list_empty(&compositor->fade.animation.link)) {
|
||||
compositor->fade.animation.frame_counter = 0;
|
||||
wl_list_insert(output->animation_list.prev,
|
||||
&compositor->fade.animation.link);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -231,6 +231,7 @@ struct weston_shader {
|
||||
struct weston_animation {
|
||||
void (*frame)(struct weston_animation *animation,
|
||||
struct weston_output *output, uint32_t msecs);
|
||||
int frame_counter;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
|
@ -180,6 +180,7 @@ weston_zoom_run(struct weston_surface *surface, GLfloat start, GLfloat stop,
|
||||
&zoom->transform.link);
|
||||
weston_spring_init(&zoom->spring, 200.0, 0.0, 1.0);
|
||||
zoom->spring.friction = 700;
|
||||
zoom->animation.frame_counter = 0;
|
||||
zoom->spring.timestamp = weston_compositor_get_time();
|
||||
zoom->animation.frame = weston_zoom_frame;
|
||||
weston_zoom_frame(&zoom->animation, NULL, zoom->spring.timestamp);
|
||||
@ -502,6 +503,7 @@ weston_fade_run(struct weston_surface *surface,
|
||||
fade->data = data;
|
||||
weston_spring_init(&fade->spring, 200.0, 0, 1.0);
|
||||
fade->spring.friction = 700;
|
||||
fade->animation.frame_counter = 0;
|
||||
fade->spring.timestamp = weston_compositor_get_time();
|
||||
fade->animation.frame = weston_fade_frame;
|
||||
weston_fade_frame(&fade->animation, NULL, fade->spring.timestamp);
|
||||
|
Loading…
Reference in New Issue
Block a user