From 5c20195e7a4b3a32216c13814e3c7c64b4f6a438 Mon Sep 17 00:00:00 2001 From: Quentin Glidic Date: Wed, 23 Mar 2016 13:50:49 +0100 Subject: [PATCH] compositor.h: Add shell_interface.get_output_work_area This will allow plugins to be aware of e.g. panels, to avoid covering them with other surfaces. Signed-off-by: Quentin Glidic Reviewed-by: Pekka Paalanen --- desktop-shell/shell.c | 4 +++- src/compositor.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 27a6ca3..1c39a12 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -451,10 +451,11 @@ get_output_panel_size(struct desktop_shell *shell, } static void -get_output_work_area(struct desktop_shell *shell, +get_output_work_area(void *data, struct weston_output *output, pixman_rectangle32_t *area) { + struct desktop_shell *shell = data; int32_t panel_width = 0, panel_height = 0; area->x = output->x; @@ -6628,6 +6629,7 @@ module_init(struct weston_compositor *ec, ec->shell_interface.set_window_geometry = set_window_geometry; ec->shell_interface.set_maximized = shell_interface_set_maximized; ec->shell_interface.set_pid = set_pid; + ec->shell_interface.get_output_work_area = get_output_work_area; weston_layer_init(&shell->fullscreen_layer, &ec->cursor_layer.link); weston_layer_init(&shell->panel_layer, &shell->fullscreen_layer.link); diff --git a/src/compositor.h b/src/compositor.h index cb9df00..a95f05d 100644 --- a/src/compositor.h +++ b/src/compositor.h @@ -116,6 +116,7 @@ struct weston_shell_interface { int32_t width, int32_t height); void (*set_maximized)(struct shell_surface *shsurf); void (*set_pid)(struct shell_surface *shsurf, pid_t pid); + void (*get_output_work_area)(void *shell, struct weston_output *output, pixman_rectangle32_t *area); }; struct weston_animation { -- 2.7.4