e_desk: execute first zoom set for smart_obj_zoom 14/139714/1
authorJunkyeong Kim <jk0430.kim@samsung.com>
Tue, 18 Jul 2017 09:36:17 +0000 (18:36 +0900)
committerJunkyeong Kim <jk0430.kim@samsung.com>
Thu, 20 Jul 2017 07:27:43 +0000 (16:27 +0900)
if use_desk_smart_obj and use_pp_zoom flags are set both,
the first smart obj zoom set will be skiped.
So need another first zoom set function for smart_obj_zoom.

Change-Id: I44869794643fb6aa8d9cb97265e494115dd4b7f4
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/bin/e_desk.c

index 1cc0f46135019b26dce457a717ce55da14da94ad..703f2cc4abb967662bbe102f7f9edd10768894e6 100644 (file)
@@ -1152,6 +1152,37 @@ _e_desk_hide_begin(E_Desk *desk, int dx, int dy)
      }
 }
 
+static void
+_e_desk_zoom_first_set(E_Desk *desk)
+{
+   E_Client *ec;
+   Eina_List *l;
+
+   E_DESK_SMART_DATA_GET_OR_RETURN(desk->smart_obj, sd);
+
+   sd->zoom.ratio_x = 1.0;
+   sd->zoom.ratio_y = 1.0;
+   sd->zoom.center_x = 0;
+   sd->zoom.center_y = 0;
+
+   _e_desk_object_zoom(desk->smart_obj, 1.0, 1.0, 0, 0);
+   EINA_LIST_FOREACH(sd->clients, l, ec)
+     _e_desk_client_zoom(ec, 1.0, 1.0, 0, 0);
+
+   if (!sd->zoom.enabled)
+     {
+        sd->zoom.enabled = EINA_TRUE;
+
+        evas_object_map_enable_set(desk->smart_obj, EINA_TRUE);
+        EINA_LIST_FOREACH(sd->clients, l, ec)
+          evas_object_map_enable_set(ec->frame, EINA_TRUE);
+
+        /* FIXME TEMP disable hwc */
+        _e_desk_util_comp_hwc_disable_set(EINA_TRUE);
+     }
+
+}
+
 static void
 _e_desk_smart_init(E_Desk *desk)
 {
@@ -1167,7 +1198,8 @@ _e_desk_smart_init(E_Desk *desk)
 
    /* FIXME indicator object won't be work, if remove this code.
     * I have no idea why this code is necessary, so I just let it be. */
-   e_desk_zoom_set(desk, 1.0, 1.0, 0, 0);
+//   e_desk_zoom_set(desk, 1.0, 1.0, 0, 0);
+   _e_desk_zoom_first_set(desk);
 }
 
 static Eina_Bool