summaryrefslogtreecommitdiffstats
path: root/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch
blob: d2d0272569fc9f6a9d95c49376c1517927b131b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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
39;t support color settings, continuing" >&2 true fi done } color_green=$(color bold 2) color_yellow=$(color bold 3) color_red=$(color bold 1) color_none=$(color none) function error() { echo "${color_red}$@${color_none}" >&2 } function log() { echo "$@" >&2 } function copy_mm_packages() { if [ -f $DOWNLOAD_DIR/$ZIP_1 -a -f $DOWNLOAD_DIR/$ZIP_2 ]; then mkdir -p $EXTRACT_DIR cp --update $DOWNLOAD_DIR/$ZIP_1 $EXTRACT_DIR cp --update $DOWNLOAD_DIR/$ZIP_2 $EXTRACT_DIR else error "ERROR: FILES \""+$DOWNLOAD_DIR/$ZIP_1+"\" NOT EXTRACTING CORRECTLY" error "ERROR: FILES \""+$DOWNLOAD_DIR/$ZIP_2+"\" NOT EXTRACTING CORRECTLY" log "The graphics and multimedia acceleration packages for " log "the R-Car Gen3 board BSP can be downloaded from:" log "<https://www.renesas.com/us/en/solutions/automotive/rcar-download/rcar-demoboard-2.html>" log error "These 2 files from there should be stored in your" error "'$DOWNLOAD_DIR' directory." error " $ZIP_1" error " $ZIP_2" return 1 fi if [ -f $COPY_SCRIPT ]; then cd $METADIR/bsp/meta-renesas-rcar-gen3/ $COPY_SCRIPT -d -f $EXTRACT_DIR cd .. else log "scripts to copy drivers for Gen3 not found." return 1 fi #BUG FIX PART (AGL JIRA SPEC-2253) #Detect supported machine if [ $MACHINE == "m3ulcb" ] || [ $MACHINE == "h3ulcb" ] then GFX_ARCHIVE_NAME="EVARTM0RC779*GLPG0001SL41C_2_0_8_C"; GFX_BINARIES_NAME="EVA_r8a*_linux_gsx_binaries_gles.tar.bz2"; else log "Note: graphics bug (SPEC-2253) will not be fixed for the requested machine ($MACHINE)." fi #Get binary file if [ -f $DOWNLOAD_DIR/$ZIP_BUGFIX ]; then cp --update $DOWNLOAD_DIR/$ZIP_BUGFIX $EXTRACT_DIR else error "ERROR: FILE '$DOWNLOAD_DIR/$ZIP_BUGFIX' NOT FOUND." log "The graphics and multimedia acceleration packages for " log "the R-Car Gen3 board BSP can be downloaded from:" log "<https://www.renesas.com/us/en/solutions/automotive/rcar-download/rcar-demoboard-2.html>" log error "This archive should be stored in your '$DOWNLOAD_DIR' directory." error "Requested archive name: '$ZIP_BUGFIX'" return 1 fi #Extract the only the needed GFX binaries unzip -d $EXTRACT_DIR -oq $EXTRACT_DIR/$ZIP_BUGFIX tar -C $EXTRACT_DIR -zxf $EXTRACT_DIR/$TAR_BUGFIX mv $EXTRACT_DIR/$ARCHIVE_PREFIX_NAME/*/*.zip $EXTRACT_DIR #Manage the needed GFX binaries find $EXTRACT_DIR -name "$GFX_ARCHIVE_NAME.zip" -exec unzip -d $EXTRACT_DIR -oq {} \; find $EXTRACT_DIR -name "$GFX_BINARIES_NAME" -exec mv -t $EXTRACT_DIR {} \; for f in `find $EXTRACT_DIR -name "$GFX_BINARIES_NAME" -exec basename {} \;` do mv $EXTRACT_DIR/${f} "$METADIR/bsp/meta-renesas-rcar-gen3/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module"/${f:4} done; #Clean rm -r $EXTRACT_DIR/$ARCHIVE_PREFIX_NAME rm -r $EXTRACT_DIR/$GFX_ARCHIVE_NAME log "The graphics hotfix for BUG SPEC-2253 has been successfully applied." }