Move frame schedule into output module
This commit is contained in:
parent
6a7a3664d1
commit
e5cba7b8ce
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue