From a8b8214e6401c9aec18e538574d72bd8627ad13f Mon Sep 17 00:00:00 2001 From: Wataru Mizuno Date: Wed, 6 Dec 2017 21:57:23 +0900 Subject: ivi-controller: add resize setting suit to surface size The ivi-controller resizes surface size like desktop usecase. When window manager switchs the half size window to full size, resize was not working correctly. This patch fixs this issue by changing surface source region at the same timing of destination region is changed. This patch is not necessary later version of wayland-ivi-extension 2.0 since this resize function has already been implemented by appropriate manner. Change-Id: Ib028bbc7d77b92ddfafa680b6247224012d630f3 Signed-off-by: Wataru Mizuno Reviewed-on: https://gerrit.automotivelinux.org/gerrit/12343 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller --- ...ler-add-resize-setting-suit-to-surface-si.patch | 62 ++++++++++++++++++++++ .../wayland/wayland-ivi-extension_1.13.0.bb | 1 + 2 files changed, 63 insertions(+) create mode 100644 meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch new file mode 100644 index 000000000..d2d027256 --- /dev/null +++ b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch @@ -0,0 +1,62 @@ +From 525b5bf65303d661f44c01b11bafd5ba90976850 Mon Sep 17 00:00:00 2001 +From: Wataru Mizuno +Date: Wed, 6 Dec 2017 19:35:51 +0900 +Subject: [PATCH] ivi-controller: add resize setting suit to surface size + +The ivi-controller resizes surface size like desktop usecase. + +When window manager swicths the half size window to full size, +resize was not working correctly. +This patch fixs this issue by changing surface source region at +the same timing of destination region is changed. + +This patch is not necessary later version of wayland-ivi-extension +2.0 since this resize function has already been implemented by +appropriate manner. + +Signed-off-by: Wataru Mizuno +--- + weston-ivi-shell/src/ivi-controller.c | 17 ++++++++++++++--- + 1 file changed, 14 insertions(+), 3 deletions(-) + +diff --git a/weston-ivi-shell/src/ivi-controller.c b/weston-ivi-shell/src/ivi-controller.c +index 312a978..9450cf2 100644 +--- a/weston-ivi-shell/src/ivi-controller.c ++++ b/weston-ivi-shell/src/ivi-controller.c +@@ -1334,7 +1334,7 @@ surface_event_configure(struct wl_listener *listener, void *data) + struct ivisurface *ivisurf = NULL; + struct ivi_layout_surface *layout_surface = + (struct ivi_layout_surface *) data; +- const struct ivi_layout_surface_properties *prop; ++ struct weston_surface *w_surface; + + ivisurf = get_surface(&shell->list_surface, layout_surface); + if (ivisurf == NULL) { +@@ -1342,11 +1342,22 @@ surface_event_configure(struct wl_listener *listener, void *data) + return; + } + +- prop = lyt->get_properties_of_surface(layout_surface); ++ w_surface = lyt->surface_get_weston_surface(layout_surface); ++ lyt->surface_set_destination_rectangle(layout_surface, ++ ivisurf->prop->dest_x, ++ ivisurf->prop->dest_y, ++ w_surface->width, ++ w_surface->height); ++ lyt->surface_set_source_rectangle(layout_surface, ++ 0, ++ 0, ++ w_surface->width, ++ w_surface->height); ++ lyt->commit_changes(); + + wl_resource_for_each(resource, &ivisurf->resource_list) { + send_surface_event(resource, ivisurf, +- prop, IVI_NOTIFICATION_CONFIGURE); ++ ivisurf->prop, IVI_NOTIFICATION_CONFIGURE); + } + } + +-- +2.7.4 + diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.13.0.bb b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.13.0.bb index 14340c54f..e20132cab 100644 --- a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.13.0.bb +++ b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.13.0.bb @@ -9,6 +9,7 @@ SRCREV = "ede33c1c898eeaf673dd2c275e92763a5aabd066" SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=http \ file://0001-simple-id-agent-initial-commit.patch;patch=1 \ file://0002-ivi-controller-load-id-agent-module.patch;patch=1 \ + file://0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch \ " S = "${WORKDIR}/git" -- cgit 1.2.3-korg