From 93652645f2fbd65c5b01cf32616d2dd1cbcd7af3 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Wed, 15 Nov 2017 16:33:16 +0000 Subject: Added XDG compatibility to ivi-shell Backported M.Teyfel patch from wayland-devel mailing list: https://lists.freedesktop.org/archives/wayland-devel/2017-November/035700.html Upgrade wayland-ivi-extension to v2.0.2 but keep using 1.1x for now with PREFERRED_VERSION until HMI could use the new version. Added Emre Ucan simple-id-agent to review. Bug-AGL: SPEC-1096 Change-Id: I74c4ae0bf0bf822e27dcbb193dc9f7a13d3e270d Signed-off-by: Romain Forlot Reviewed-on: https://gerrit.automotivelinux.org/gerrit/11991 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account Reviewed-by: Nobuhiko Tanibata Reviewed-by: Tadao Tanikawa Reviewed-by: Jan-Simon Moeller --- ...016-ivi-shell_add_screen_remove_layer_api.patch | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 meta-agl/recipes-graphics/wayland/weston/0016-ivi-shell_add_screen_remove_layer_api.patch (limited to 'meta-agl/recipes-graphics/wayland/weston/0016-ivi-shell_add_screen_remove_layer_api.patch') diff --git a/meta-agl/recipes-graphics/wayland/weston/0016-ivi-shell_add_screen_remove_layer_api.patch b/meta-agl/recipes-graphics/wayland/weston/0016-ivi-shell_add_screen_remove_layer_api.patch new file mode 100644 index 000000000..3e85e93f6 --- /dev/null +++ b/meta-agl/recipes-graphics/wayland/weston/0016-ivi-shell_add_screen_remove_layer_api.patch @@ -0,0 +1,82 @@ +From deee858b0b199d8cfa8033a46d7078f30b23725e Mon Sep 17 00:00:00 2001 +From: "Ucan, Emre (ADITG/SW1)" +Date: Thu, 2 Mar 2017 08:47:33 +0000 +Subject: ivi-shell: add_screen_remove_layer API + +It is analagous to layer_remove_surface API. +The API removes a layer from the render order +of the screen. + +v3: +add the new vfunc at the end of +the ivi_layout_interface struct. + +Signed-off-by: Emre Ucan +Reviewed-by: Eugen Friedrich +Reviewed-by: Pekka Paalanen + +diff --git a/ivi-shell/ivi-layout-export.h b/ivi-shell/ivi-layout-export.h +index 2317d6e..39ffde1 100644 +--- a/ivi-shell/ivi-layout-export.h ++++ b/ivi-shell/ivi-layout-export.h +@@ -578,6 +578,16 @@ struct ivi_layout_interface { + */ + struct ivi_layout_surface * + (*get_surface)(struct weston_surface *surface); ++ ++ /** ++ * \brief Remove a ivi_layer to a weston_output which is currently managed ++ * by the service ++ * ++ * \return IVI_SUCCEEDED if the method call was successful ++ * \return IVI_FAILED if the method call was failed ++ */ ++ int32_t (*screen_remove_layer)(struct weston_output *output, ++ struct ivi_layout_layer *removelayer); + }; + + #ifdef __cplusplus +diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c +index 298e18e..8e4280b 100644 +--- a/ivi-shell/ivi-layout.c ++++ b/ivi-shell/ivi-layout.c +@@ -1664,6 +1664,27 @@ ivi_layout_screen_add_layer(struct weston_output *output, + } + + static int32_t ++ivi_layout_screen_remove_layer(struct weston_output *output, ++ struct ivi_layout_layer *removelayer) ++{ ++ struct ivi_layout_screen *iviscrn; ++ ++ if (output == NULL || removelayer == NULL) { ++ weston_log("ivi_layout_screen_remove_layer: invalid argument\n"); ++ return IVI_FAILED; ++ } ++ ++ iviscrn = get_screen_from_output(output); ++ ++ wl_list_remove(&removelayer->pending.link); ++ wl_list_init(&removelayer->pending.link); ++ ++ iviscrn->order.dirty = 1; ++ ++ return IVI_SUCCEEDED; ++} ++ ++static int32_t + ivi_layout_screen_set_render_order(struct weston_output *output, + struct ivi_layout_layer **pLayer, + const int32_t number) +@@ -2088,6 +2109,7 @@ static struct ivi_layout_interface ivi_layout_interface = { + */ + .get_screens_under_layer = ivi_layout_get_screens_under_layer, + .screen_add_layer = ivi_layout_screen_add_layer, ++ .screen_remove_layer = ivi_layout_screen_remove_layer, + .screen_set_render_order = ivi_layout_screen_set_render_order, + + /** +-- +cgit v0.10.2 + + -- cgit 1.2.3-korg