summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Glidic <sardemff7+git@sardemff7.net>2016-03-23 13:50:49 +0100
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2016-05-03 15:45:24 +0300
commit5c20195e7a4b3a32216c13814e3c7c64b4f6a438 (patch)
tree2acf5d98830b58246371120794e03f8efa52e292
parentaa258985e91416456b55de8b60620cc1554ffb6e (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.c4
-rw-r--r--src/compositor.h1
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 {