backend/drm: add support for suggested output position prop

Virtualised outputs use the "suggested X" and "suggested Y" DRM props to
indicate their relative position on the host WM.

This change adds members `suggested_x` and `suggested_y` to `struct
wlr_output` which contain the value of these props. Also, a
`suggested_position` signal is added so that compositors can be notified
if there is a changed in the suggested position.
This commit is contained in:
Daniel Playfair Cal 2021-01-10 19:04:58 +11:00
parent a055f23b3b
commit 82f92113fd
6 changed files with 66 additions and 0 deletions

View file

@ -263,6 +263,10 @@ void wlr_output_update_available_modes(struct wlr_output *output) {
wlr_signal_emit_safe(&output->events.available_modes, output);
}
void wlr_output_update_suggested_position (struct wlr_output *output) {
wlr_signal_emit_safe(&output->events.suggested_position, output);
}
void wlr_output_set_transform(struct wlr_output *output,
enum wl_output_transform transform) {
if (output->transform == transform) {
@ -381,6 +385,7 @@ void wlr_output_init(struct wlr_output *output, struct wlr_backend *backend,
wl_signal_init(&output->events.enable);
wl_signal_init(&output->events.mode);
wl_signal_init(&output->events.available_modes);
wl_signal_init(&output->events.suggested_position);
wl_signal_init(&output->events.scale);
wl_signal_init(&output->events.transform);
wl_signal_init(&output->events.description);