Move frame schedule into output module

This commit is contained in:
raichoo 2020-12-04 15:32:07 +00:00
parent 6a7a3664d1
commit e5cba7b8ce
4 changed files with 13 additions and 16 deletions

View File

@ -86,4 +86,13 @@ hikari_output_add_damage(struct hikari_output *output, struct wlr_box *region)
}
}
static inline void
hikari_output_schedule_frame(struct hikari_output *output)
{
assert(output != NULL);
assert(output->enabled);
wlr_output_schedule_frame(output->wlr_output);
}
#endif

View File

@ -397,16 +397,4 @@ hikari_view_damage_border(struct hikari_view *view)
hikari_output_add_damage(view->output, geometry);
}
static inline void
hikari_view_schedule_frame(struct hikari_view *view)
{
assert(view->surface != NULL);
assert(view->output != NULL);
assert(view->output->enabled);
if (hikari_view_is_dirty(view)) {
wlr_output_schedule_frame(view->output->wlr_output);
}
}
#endif

View File

@ -98,7 +98,7 @@ commit_handler(struct wl_listener *listener, void *data)
if (visible) {
hikari_view_damage_whole(view);
} else if (output->enabled) {
hikari_view_schedule_frame(view);
hikari_output_schedule_frame(output);
}
} else if (output->enabled) {
if (visible) {
@ -109,7 +109,7 @@ commit_handler(struct wl_listener *listener, void *data)
wlr_output_damage_add(output->damage, &damage);
pixman_region32_fini(&damage);
} else {
hikari_view_schedule_frame(view);
hikari_output_schedule_frame(output);
}
}
}

View File

@ -107,7 +107,7 @@ commit_handler(struct wl_listener *listener, void *data)
if (visible) {
hikari_view_damage_whole(view);
} else if (output->enabled) {
hikari_view_schedule_frame(view);
hikari_output_schedule_frame(output);
}
} else if (output->enabled) {
bool visible = !hikari_view_is_hidden(view);
@ -120,7 +120,7 @@ commit_handler(struct wl_listener *listener, void *data)
wlr_output_damage_add(output->damage, &damage);
pixman_region32_fini(&damage);
} else {
hikari_view_schedule_frame(view);
hikari_output_schedule_frame(output);
}
}
}