diff options
author | Quentin Glidic <sardemff7+git@sardemff7.net> | 2016-03-23 13:50:49 +0100 |
---|---|---|
committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2016-05-03 15:45:24 +0300 |
commit | 5c20195e7a4b3a32216c13814e3c7c64b4f6a438 (patch) | |
tree | 2acf5d98830b58246371120794e03f8efa52e292 | |
parent | aa258985e91416456b55de8b60620cc1554ffb6e (diff) |
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 <sardemff7+git@sardemff7.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-rw-r--r-- | desktop-shell/shell.c | 4 | ||||
-rw-r--r-- | src/compositor.h | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 27a6ca3c..1c39a12d 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 cb9df007..a95f05de 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 { |