summaryrefslogtreecommitdiffstats
path: root/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch')
-rw-r--r--recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch b/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/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 <wmizuno@jp.adit-jv.com>
+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 <wmizuno@jp.adit-jv.com>
+---
+ 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
+
4'>264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319