Merge branch 'scene-presentation' into 'master'

wlr_scene: Refactor presentation events

See merge request wlroots/wlroots!4083
This commit is contained in:
Alexander Orzechowski 2023-04-25 10:02:27 +00:00
commit 9e865356fb
5 changed files with 172 additions and 98 deletions

View file

@ -96,4 +96,12 @@ void wlr_presentation_surface_sampled_on_output(
struct wlr_presentation *presentation, struct wlr_surface *surface,
struct wlr_output *output);
/**
* Send the presentation event immediately to this surface if the surface is
* asking for presentation events. This must be called during the present handler
* of an output.
*/
void wlr_presentation_send_presented(struct wlr_presentation *presentation,
struct wlr_surface *surface, struct wlr_presentation_event *event);
#endif

View file

@ -149,7 +149,7 @@ struct wlr_scene_buffer {
struct wl_signal outputs_update; // struct wlr_scene_outputs_update_event
struct wl_signal output_enter; // struct wlr_scene_output
struct wl_signal output_leave; // struct wlr_scene_output
struct wl_signal output_present; // struct wlr_scene_output
struct wl_signal output_present; // struct wlr_output_event_present
struct wl_signal frame_done; // struct timespec
} events;
@ -198,6 +198,7 @@ struct wlr_scene_output {
struct wl_listener output_commit;
struct wl_listener output_damage;
struct wl_listener output_needs_frame;
struct wl_listener output_present;
struct wl_list damage_highlight_regions;