e_comp_object: fix screen rotation issue.
authorMinsu Han <minsu81.han@samsung.com>
Mon, 26 Jun 2017 08:11:08 +0000 (17:11 +0900)
committerBoram Park <boram1288.park@samsung.com>
Wed, 5 Jul 2017 02:59:49 +0000 (11:59 +0900)
if there's screen rotation with comp mode, then ec->effect_obj and
ec->obj should rotate. if not, in evas_map, update region is clipped.

Change-Id: I243c73ee6bbecd1dea4edbf4204f51fe2b5342e8
Signed-off-by: Minsu Han <minsu81.han@samsung.com>
Signed-off-by: Boram Park <boram1288.park@samsung.com>
src/bin/e_comp_object.c

index 0ea0098..7886d17 100644 (file)
@@ -5459,7 +5459,7 @@ e_comp_object_map_update(Evas_Object *obj)
    API_ENTRY;
    E_Client *ec = cw->ec;
    Evas_Map *map;
-   int x1, y1, x2, y2, x, y, bw, bh;
+   int x1, y1, x2, y2, x, y, bw, bh, tw, th;
    char buffer[128];
    char *p = buffer;
    int l, remain = sizeof buffer;
@@ -5475,6 +5475,8 @@ e_comp_object_map_update(Evas_Object *obj)
              evas_object_map_enable_set(cw->effect_obj, EINA_FALSE);
              evas_object_hide(cw->map_input_obj);
           }
+        e_pixmap_size_get(ec->pixmap, &bw, &bh);
+        evas_object_resize(cw->effect_obj, bw, bh);
         return;
      }
 
@@ -5517,5 +5519,11 @@ e_comp_object_map_update(Evas_Object *obj)
 
    evas_map_free(map);
 
+   /* if there's screen rotation with comp mode, then ec->effect_obj and
+    * ec->obj should rotate. if not, in evas_map, update region is clipped.
+    */
+   _e_comp_object_map_transform_rect(cw->ec, 0, 0, bw, bh, NULL, NULL, &tw, &th);
+   evas_object_resize(cw->effect_obj, tw, th);
+
    evas_object_show(cw->map_input_obj);
 }