e_client: doing transform core update with zoom of all subsurfaces when subsurface...
authorJunseok, Kim <juns.kim@samsung.com>
Fri, 8 Jan 2021 04:49:00 +0000 (13:49 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Fri, 8 Jan 2021 07:45:20 +0000 (16:45 +0900)
Change-Id: I4784995375fef667cbb49b3ca820d40a603395b2
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
src/bin/e_client.c

index 856e707bed487381f250a33c96aa4cc3cd353cb7..c6be36af3dd81fb702a0d84a76d01ac8cd4fdb0a 100644 (file)
@@ -71,6 +71,7 @@ static Eina_Bool _e_visibility_changed = EINA_FALSE;
 
 EINTERN void e_client_focused_set(E_Client *ec);
 static void _e_client_transient_for_group_make(E_Client *ec, Eina_List **list);
+static void _e_client_transform_core_update_with_zoom(E_Client *ec, double zoomx, double zoomy, int cx, int cy);
 
 static Eina_Inlist *_e_client_hooks[] =
 {
@@ -3987,14 +3988,28 @@ static void
 _e_client_transform_core_sub_update_with_zoom(E_Client *ec, E_Util_Transform_Rect_Vertex *vertices, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy)
 {
    E_Comp_Wl_Client_Data *cdata;
+   Eina_List *l;
+   E_Client *subc;
 
    if (!ec) return;
    if (!ec->comp_data) return;
 
    cdata = (E_Comp_Wl_Client_Data*)ec->comp_data;
 
+   ELOGF("TRANSFORM", "transform_core_sub_update_with_zoom, (zoom:%lf,%lf / coord:%d,%d)", ec, zoomx, zoomy, cx, cy);
+
    if (cdata->sub.below_obj)
      _e_client_transform_core_vertices_apply_with_zoom(ec, cdata->sub.below_obj, vertices, NULL, zoomx, zoomy, cx, cy);
+
+   EINA_LIST_FOREACH(cdata->sub.list, l, subc)
+     {
+        _e_client_transform_core_update_with_zoom(subc, zoomx, zoomy, cx, cy);
+     }
+
+   EINA_LIST_FOREACH(cdata->sub.below_list, l, subc)
+     {
+        _e_client_transform_core_update_with_zoom(subc, zoomx, zoomy, cx, cy);
+     }
 }
 
 static void