From eaa43fc3103d67fe0182994032e851d10a2521a3 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Tue, 12 Apr 2016 16:06:58 +0300 Subject: ivi-shell: add API for weston_surface -> ivi_layout_surface Add ivi-layout API for getting an ivi_layout_surface from a weston_surface if it exists. This can be used by controllers that hook up to core Weston callbacks and get handed a weston_surface, but need to use ivi-layout API to manipulate it. The only ways ivi-layout itself would be able to go from weston_surface to ivi_layout_surface are either searching through the list of all ivi_layout_surfaces or adding a dummy destroy listener to the weston_surface. Therefore the implementation is delegated to ivi-shell.c. Ivi-shell.c can easily look up the ivi_shell_surface for a weston_surface, and that will map 1:1 to an ivi_layout_surface. Signed-off-by: Pekka Paalanen Reviewed-by: Emre Ucan --- ivi-shell/ivi-shell.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'ivi-shell/ivi-shell.c') diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c index c502c742..59ffe0c2 100644 --- a/ivi-shell/ivi-shell.c +++ b/ivi-shell/ivi-shell.c @@ -93,6 +93,18 @@ get_ivi_shell_surface(struct weston_surface *surface) return shsurf; } +struct ivi_layout_surface * +shell_get_ivi_layout_surface(struct weston_surface *surface) +{ + struct ivi_shell_surface *shsurf; + + shsurf = get_ivi_shell_surface(surface); + if (!shsurf) + return NULL; + + return shsurf->layout_surface; +} + void shell_surface_send_configure(struct weston_surface *surface, int32_t width, int32_t height) -- cgit v1.2.3