refactor: replace code to use E_APIs to access the E_Client structure 15/318315/2
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 26 Sep 2024 23:30:09 +0000 (08:30 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Fri, 27 Sep 2024 00:00:53 +0000 (09:00 +0900)
Change-Id: I334019cf44a1d46de1e10ffd2e667fce32050473

src/e_mod_effect.c
src/e_mod_effect_rotation.c

index 78abc7b44fc07632ce52c193663baa3ff4c47495..2497c09f190b0ec24389c4672146c9bd1fc3db93 100644 (file)
@@ -71,12 +71,12 @@ _eff_event_send(E_Client *ec, Eina_Bool start, E_Effect_Type type)
         tizen_effect_send_end(res_eff, res_surf, tizen_effect_type);
 
         EFFINF("Un-SET EXTRA_ANIMATING...", ec);
-        ec->extra_animating = EINA_FALSE;
-        if (ec->launching == EINA_TRUE)
+        e_client_extra_animating_set(ec, EINA_FALSE);
+        if (e_client_is_launching(ec))
           {
              ELOGF("COMP", "Un-Set launching flag..", ec);
-             ec->launching = EINA_FALSE;
-             if (ec->first_mapped)
+             e_client_launching_set(ec, EINA_FALSE);
+             if (e_client_first_mapped_get(ec))
                {
                   ELOGF("LAUNCH", "SHOW real win", ec);
                   e_view_client_signal_emit(e_client_view_get(ec), "e,action,launch_real,done", "e");
@@ -116,10 +116,10 @@ _eff_group_get(E_Client *ec)
    E_Effect_Group group = E_EFFECT_GROUP_NORMAL;
 
    /* animatable setting by aux_hint */
-   if (!ec->animatable) return E_EFFECT_GROUP_NONE;
+   if (!e_client_animatable_get(ec)) return E_EFFECT_GROUP_NONE;
 
    /* client_type */
-   switch (ec->client_type)
+   switch (e_client_client_type_get(ec))
      {
       case 1: //homescreen
          group = E_EFFECT_GROUP_HOME;
@@ -138,14 +138,14 @@ _eff_group_get(E_Client *ec)
    /* client layer */
    if (group == E_EFFECT_GROUP_NORMAL)
      {
-        if (ec->layer > E_LAYER_CLIENT_NORMAL)
+        if (e_client_priv_layer_get(ec) > E_LAYER_CLIENT_NORMAL)
           group = E_EFFECT_GROUP_NONE;
      }
 
    /* window_role */
 
    /* etc */
-   if (ec->vkbd.vkbd)
+   if (e_client_vkbd_vkbd_get(ec))
      group = E_EFFECT_GROUP_KEYBOARD;
 
    return group;
@@ -156,10 +156,11 @@ _eff_group_angle_get(E_Client *ec, E_Effect_Group group)
 {
    if (group == E_EFFECT_GROUP_KEYBOARD)
      {
-         if (ec->parent)
+        E_Client *parent_ec = e_client_parent_get(ec);
+        if (parent_ec)
           {
              int buffer_transform = e_comp_wl_output_buffer_transform_get(ec);
-             int rot = ec->parent->e.state.rot.ang.curr;
+             int rot = e_client_e_state_rot_angle_current_get(parent_ec);
 
              rot = (rot + (buffer_transform * 90)) % 360;
 
@@ -167,7 +168,7 @@ _eff_group_angle_get(E_Client *ec, E_Effect_Group group)
           }
      }
 
-   return ec->e.state.rot.ang.curr;
+   return e_client_e_state_rot_angle_current_get(ec);
 }
 
 static void
@@ -189,14 +190,14 @@ _eff_object_setup(E_Client *ec, E_Effect_Group group)
 
         efc = _eff_client_get(ec);
 
-        while (parent_ec->parent)
-          parent_ec = parent_ec->parent;
+        while (e_client_parent_get(parent_ec))
+          parent_ec = e_client_parent_get(parent_ec);
 
-        if ((parent_ec != ec) && (parent_ec->launching)) // Launchig case with parent at same time
+        if ((parent_ec != ec) && (e_client_is_launching(parent_ec))) // Launchig case with parent at same time
           e_view_client_effect_set(e_client_view_get(ec), "no-effect");
         else if ((efc) && (e_policy_client_is_home_screen(efc->reverse_ec))) // Home key effect senario
           e_view_client_effect_set(e_client_view_get(ec), cfg->effect_style);
-        else if ((cfg) && (cfg->depth_in_style) && (ec->effect_type)) //depth-in senario
+        else if ((cfg) && (cfg->depth_in_style) && (e_client_effect_type_get(ec))) //depth-in senario
           e_view_client_effect_set(e_client_view_get(ec), cfg->depth_in_style);
         else if ((cfg) && (cfg->effect_style))  // normal launching case
           e_view_client_effect_set(e_client_view_get(ec), cfg->effect_style);
@@ -206,8 +207,8 @@ _eff_object_setup(E_Client *ec, E_Effect_Group group)
         EFFINF("eff Setup efc(%p) home(%d) type(%d) parent(%d)",
                ec, efc,
                efc? e_policy_client_is_home_screen(efc->reverse_ec) : 0,
-               ec->effect_type,
-               parent_ec == ec ? -1 : parent_ec->launching);
+               e_client_effect_type_get(ec),
+               parent_ec == ec ? -1 : e_client_is_launching(parent_ec));
      }
 }
 
@@ -307,16 +308,16 @@ _eff_object_background_below_clients_get(E_Client *ec, E_Effect_Type type, Eina_
         if (e_client_util_ignored_get(below) ||
             (!e_view_client_visible_get(e_client_view_get(below)))) continue;
 
-        if (below->vkbd.vkbd)
+        if (e_client_vkbd_vkbd_get(below))
           continue;
 
         *below_list = eina_list_prepend(*below_list, below);
 
-        if (!below->argb)
+        if (!e_client_argb_get(below))
           break;
         else
           {
-             if (below->visibility.opaque > 0)
+             if (e_client_visibility_alpha_opaque_get(below) > 0)
                break;
           }
      }
@@ -362,12 +363,12 @@ _eff_object_background_start(E_Client *bg_ec, E_Effect_Type type, int bg_opaque)
 
    if (!bg_ec) return;
    if (e_object_is_del(E_OBJECT(bg_ec))) return;
-   if (!bg_ec->animatable) return;
+   if (!e_client_animatable_get(bg_ec)) return;
 
    bg_efc = _eff_client_get(bg_ec);
    if (!bg_efc) return;
    if ((bg_efc->bg_animating) ||
-       ((bg_efc->animating) && !((bg_ec->launching) && (bg_efc->animating == 1))))
+       ((bg_efc->animating) && !((e_client_is_launching(bg_ec)) && (bg_efc->animating == 1))))
      return;
 
    // 1st param : zoom-in(0) zoom-out(1)
@@ -377,7 +378,7 @@ _eff_object_background_start(E_Client *bg_ec, E_Effect_Type type, int bg_opaque)
      {
       case E_EFFECT_TYPE_SHOW:
       case E_EFFECT_TYPE_RESTACK_SHOW:
-         if (bg_ec->visibility.obscured != E_VISIBILITY_FULLY_OBSCURED)
+         if (e_client_visibility_obscured_get(bg_ec) != E_VISIBILITY_FULLY_OBSCURED)
            {
               e_object_ref(E_OBJECT(bg_ec));
               _eff_object_setup(bg_ec, E_EFFECT_GROUP_BACKGROUND);
@@ -398,7 +399,7 @@ _eff_object_background_start(E_Client *bg_ec, E_Effect_Type type, int bg_opaque)
          break;
 
       case E_EFFECT_TYPE_HIDE:
-         if (bg_ec->visibility.obscured == E_VISIBILITY_FULLY_OBSCURED)
+         if (e_client_visibility_obscured_get(bg_ec) == E_VISIBILITY_FULLY_OBSCURED)
            {
               e_object_ref(E_OBJECT(bg_ec));
               _eff_object_setup(bg_ec, E_EFFECT_GROUP_BACKGROUND);
@@ -428,7 +429,7 @@ _eff_object_background_setup(E_Client *ec, E_Client *home_ec, E_Effect_Group gro
 
    if (!ec) return;
    if (group != E_EFFECT_GROUP_NORMAL) return;
-   if ((ec->argb) || (ec->effect_type)) return; //need to check opaque?
+   if ((e_client_argb_get(ec)) || (e_client_effect_type_get(ec))) return; //need to check opaque?
 
    if (home_ec)
      _eff_object_background_start(home_ec, type, 1);
@@ -459,26 +460,28 @@ static void
 _eff_object_layer_up(E_Client *ec)
 {
    int map_ly;
+   E_Layer ec_layer;
 
-   map_ly = e_comp_canvas_client_layer_map(ec->layer);
+   ec_layer = e_client_priv_layer_get(ec);
+   map_ly = e_comp_canvas_client_layer_map(ec_layer);
    if (map_ly == 9999) return;
 
    if (!_eff->layers[map_ly].obj)
      {
         _eff->layers[map_ly].obj = evas_object_rectangle_add(e_comp->evas);
-        evas_object_layer_set(_eff->layers[map_ly].obj, ec->layer + 1);
+        evas_object_layer_set(_eff->layers[map_ly].obj, ec_layer + 1);
         evas_object_name_set(_eff->layers[map_ly].obj, "layer_obj(effect)");
      }
 
-   ec->layer_pending = 1;
-   evas_object_layer_set(ec->frame, ec->layer + 1);
+   e_client_layer_pending_set(ec, EINA_TRUE);
+   evas_object_layer_set(e_client_frame_get(ec), ec_layer + 1);
 }
 
 static void
 _eff_object_layer_down(E_Client *ec)
 {
-   evas_object_layer_set(ec->frame, ec->layer);
-   ec->layer_pending = 0;
+   evas_object_layer_set(e_client_frame_get(ec), e_client_priv_layer_get(ec));
+   e_client_layer_pending_set(ec, EINA_FALSE);
 }
 
 static void
@@ -564,14 +567,14 @@ _eff_visibility_stack_check(E_Client *ec, Eina_List *stack)
    EINA_LIST_FOREACH(stack, l, _ec)
      {
         if (_ec == ec) break;
-        if (!_ec->visible) continue;
+        if (!e_client_visible_get(_ec)) continue;
         if (!e_view_client_visible_get(e_client_view_get(_ec)))
           {
-             if (!_ec->iconic) continue;
-             if (_ec->iconic && _ec->exp_iconify.by_client) continue;
+             if (!e_client_iconic_get(_ec)) continue;
+             if (e_client_iconify_extra_info_by_client_get(_ec)) continue;
           }
-        if (!e_pixmap_resource_get(_ec->pixmap)) continue;
-        if ((_ec->argb) && (_ec->visibility.opaque != 1)) continue;
+        if (!e_pixmap_resource_get(e_client_pixmap_get(_ec))) continue;
+        if ((e_client_argb_get(_ec)) && (e_client_visibility_alpha_opaque_get(_ec) != 1)) continue;
 
         e_client_geometry_get(_ec, &x, &y, &w, &h);
 
@@ -595,18 +598,20 @@ _eff_restack_effect_check(E_Client *ec)
    const char *emission = NULL;
    Eina_Bool v1, v2;
    E_Effect_Client *efc;
+   E_Visibility ec_visibility_obscured;
 
    if (!e_view_client_visible_get(e_client_view_get(ec))) return NULL;
-   if (ec->new_client) return NULL;
+   if (e_client_new_client_get(ec)) return NULL;
 
    v1 = _eff_visibility_stack_check(ec, _eff->stack.old);
    v2 = _eff_visibility_stack_check(ec, _eff->stack.cur);
 
+   ec_visibility_obscured = e_client_visibility_obscured_get(ec);
    if (v1 != v2)
      {
-        if ((v2) && (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED))
+        if ((v2) && (ec_visibility_obscured != E_VISIBILITY_UNOBSCURED))
           emission = "e,action,restack,show";
-        else if ((!v2) && (ec->visibility.obscured == E_VISIBILITY_UNOBSCURED))
+        else if ((!v2) && (ec_visibility_obscured == E_VISIBILITY_UNOBSCURED))
           emission = "e,action,restack,hide";
      }
    else
@@ -616,11 +621,11 @@ _eff_restack_effect_check(E_Client *ec)
         // TODO : it's for transients windows. wish using other check */
         if ((efc) && (!efc->animating))
           {
-             if ((v2) && (!ec->iconic) &&
-                 (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED))
+             if ((v2) && (!e_client_iconic_get(ec)) &&
+                 (ec_visibility_obscured != E_VISIBILITY_UNOBSCURED))
                emission = "e,action,restack,show";
-             else if ((!v2) && (ec->iconic) &&
-                      (ec->visibility.obscured == E_VISIBILITY_UNOBSCURED))
+             else if ((!v2) && (e_client_iconic_get(ec)) &&
+                      (ec_visibility_obscured == E_VISIBILITY_UNOBSCURED))
                emission = "e,action,restack,hide";
           }
      }
@@ -628,8 +633,8 @@ _eff_restack_effect_check(E_Client *ec)
    EFFINF("Restack eff Check v1(%d) -> v2(%d) iconic:%d "
           "obscured:%d(%d) emission:%s",
           ec,
-          v1, v2, ec->iconic,
-          ec->visibility.obscured, ec->visibility.changed, emission);
+          v1, v2, e_client_iconic_get(ec),
+          ec_visibility_obscured, e_client_visibility_changed_get(ec), emission);
 
    return emission;
 }
@@ -654,7 +659,7 @@ _eff_ref(E_Client *ec)
           }
      }
 
-   if (!ec->pixmap) return EINA_FALSE;
+   if (!e_client_pixmap_get(ec)) return EINA_FALSE;
    if ((e_view_client_content_type_get(e_client_view_get(ec)) == E_COMP_OBJECT_CONTENT_TYPE_INT_IMAGE) &&
        (!e_view_client_native_usable_get(e_client_view_get(ec))))
      return EINA_FALSE;
@@ -668,7 +673,7 @@ _eff_ref(E_Client *ec)
    efc->bg_animating = 0;
    efc->animating++;
    e_object_ref(E_OBJECT(ec));
-   efc->ep = e_pixmap_ref(ec->pixmap);
+   efc->ep = e_pixmap_ref(e_client_pixmap_get(ec));
 
    EFFINF("effect ref efc(%p) animating:%d",
           efc->ec, efc, efc->animating);
@@ -777,7 +782,7 @@ _eff_cb_visible(void *data, Evas_Object *obj, const char *signal)
    _eff_stack_update();
 
    EFFINF("SET EXTRA_ANIMATING...", ec);
-   ec->extra_animating = EINA_TRUE;
+   e_client_extra_animating_set(ec, EINA_TRUE);
 
    _eff_object_setup(ec, group);
 
@@ -854,7 +859,7 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal)
 
    if (group == E_EFFECT_GROUP_KEYBOARD)
      {
-        if (ec->visibility.obscured == E_VISIBILITY_FULLY_OBSCURED)
+        if (e_client_visibility_obscured_get(ec) == E_VISIBILITY_FULLY_OBSCURED)
           return EINA_FALSE;
      }
 
@@ -943,6 +948,7 @@ _eff_cb_uniconify(void *data, Evas_Object *obj, const char *signal)
 
    group = _eff_group_get(ec);
 
+   E_Visibility ec_visibility_obscured = e_client_visibility_obscured_get(ec);
    /* for HOME group */
    if (group == E_EFFECT_GROUP_HOME)
      {
@@ -953,19 +959,19 @@ _eff_cb_uniconify(void *data, Evas_Object *obj, const char *signal)
 
         EFFINF("Uniconify eff Check v1(%d) -> v2(%d) obscured:%d changed:%d",
                ec,
-               v1, v2, ec->visibility.obscured, ec->visibility.changed);
+               v1, v2, ec_visibility_obscured, e_client_visibility_changed_get(ec));
 
         if (v1 == v2) return EINA_FALSE;
-        if ((v2) && (ec->visibility.obscured == E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
-        if ((!v2) && (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
+        if ((v2) && (ec_visibility_obscured == E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
+        if ((!v2) && (ec_visibility_obscured != E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
 
         below = e_client_below_get(ec);
         while (below)
           {
              if ((e_view_client_visible_get(e_client_view_get(below))) &&
-                 (below->layer == ec->layer) &&
-                 ((below->visibility.obscured == E_VISIBILITY_UNOBSCURED) ||
-                  (below->visibility.changed)))
+                 (e_client_priv_layer_get(below) == e_client_priv_layer_get(ec)) &&
+                 ((e_client_visibility_obscured_get(below) == E_VISIBILITY_UNOBSCURED) ||
+                  (e_client_visibility_changed_get(below))))
                break;
 
              below = e_client_below_get(below);
@@ -990,11 +996,11 @@ _eff_cb_uniconify(void *data, Evas_Object *obj, const char *signal)
 
         EFFINF("Uniconify eff Check v1(%d) -> v2(%d) obscured:%d changed:%d",
                ec,
-               v1, v2, ec->visibility.obscured, ec->visibility.changed);
+               v1, v2, ec_visibility_obscured, e_client_visibility_changed_get(ec));
 
         if (v1 == v2) return EINA_FALSE;
-        if ((v2) && (ec->visibility.obscured == E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
-        if ((!v2) && (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
+        if ((v2) && (ec_visibility_obscured == E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
+        if ((!v2) && (ec_visibility_obscured != E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
 
         e_comp_client_override_add(ec);
 
@@ -1077,13 +1083,15 @@ _eff_cb_iconify(void *data, Evas_Object *obj, const char *signal)
    v1 = _eff_visibility_stack_check(ec, _eff->stack.old);
    v2 = _eff_visibility_stack_check(ec, _eff->stack.cur);
 
+   E_Visibility ec_visibility_obscured = e_client_visibility_obscured_get(ec);
+
    EFFINF("Iconify eff Check v1(%d) -> v2(%d) obscured:%d changed:%d",
           ec,
-          v1, v2, ec->visibility.obscured, ec->visibility.changed);
+          v1, v2, ec_visibility_obscured, e_client_visibility_changed_get(ec));
 
    if (v1 == v2) return EINA_FALSE;
-   if ((v2) && (ec->visibility.obscured == E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
-   if ((!v2) && (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
+   if ((v2) && (ec_visibility_obscured == E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
+   if ((!v2) && (ec_visibility_obscured != E_VISIBILITY_UNOBSCURED)) return EINA_FALSE;
 
    e_comp_client_override_add(ec);
 
@@ -1168,14 +1176,14 @@ _eff_view_cb_restack_finish_done(void *data, E_View_Client *view_client, const c
         if (efc && efc->reverse_ec)
           {
              E_Client *ec_home = efc->reverse_ec;
-             if (ec_home->extra_animating)
+             if (e_client_extra_animating_get(ec_home))
                {
-                  ec_home->extra_animating = EINA_FALSE;
-                  if (ec_home->launching == EINA_TRUE)
+                  e_client_extra_animating_set(ec_home, EINA_FALSE);
+                  if (e_client_is_launching(ec_home) == EINA_TRUE)
                     {
                        ELOGF("COMP", "Un-Set launching flag..", ec_home);
-                       ec_home->launching = EINA_FALSE;
-                       if (ec_home->first_mapped)
+                       e_client_launching_set(ec_home, EINA_FALSE);
+                       if (e_client_first_mapped_get(ec_home))
                          {
                             ELOGF("LAUNCH", "SHOW real win", ec_home);
                             e_view_client_signal_emit(e_client_view_get(ec_home), "e,action,launch_real,done", "e");
@@ -1221,8 +1229,8 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
           {
              if ((!e_object_is_del(E_OBJECT(below))) &&
                  (e_view_client_visible_get(e_client_view_get(below))) &&
-                 (below->visibility.obscured == E_VISIBILITY_UNOBSCURED) &&
-                 (below->layer == ec->layer))
+                 (e_client_visibility_obscured_get(below) == E_VISIBILITY_UNOBSCURED) &&
+                 (e_client_priv_layer_get(below) == e_client_priv_layer_get(ec)))
                break;
 
              below = e_client_below_get(below);
@@ -1250,7 +1258,7 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
    if ((!e_util_strcmp(emission, "e,action,restack,show")))
      {
         /* if ec wass changed to non-animatable, just up and down layer */
-        if (!ec->animatable)
+        if (!e_client_animatable_get(ec))
           {
              _eff_object_layer_up(ec);
              _eff_object_layer_down(ec);
@@ -1266,7 +1274,7 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
           }
 
         EFFINF("SET EXTRA_ANIMATING...", ec);
-        ec->extra_animating = EINA_TRUE;
+        e_client_extra_animating_set(ec, EINA_TRUE);
 
         _eff_object_setup(ec, group);
 
@@ -1289,7 +1297,7 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
    else if (!e_util_strcmp(emission, "e,action,restack,hide"))
      {
         /* if ec was changed to non-animatable, just up and down layer */
-        if (!ec->animatable)
+        if (!e_client_animatable_get(ec))
           {
              _eff_object_layer_up(ec);
              _eff_object_layer_down(ec);
@@ -1313,12 +1321,12 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
                   if (_eff_ref(ec_home))
                     {
                        EFFINF("SET EXTRA_ANIMATING...", ec_home);
-                       ec_home->extra_animating = EINA_TRUE;
+                       e_client_extra_animating_set(ec_home, EINA_TRUE);
 
                        efc->reverse_ec = ec_home;
 
                        EFFINF("SET EXTRA_ANIMATING...", ec);
-                       ec->extra_animating = EINA_TRUE;
+                       e_client_extra_animating_set(ec, EINA_TRUE);
                     }
                }
           }
@@ -1466,7 +1474,7 @@ _eff_cb_client_restack(void *data, int type, void *event)
 
    _eff_stack_update();
 
-   if (!ec->animatable) return ECORE_CALLBACK_PASS_ON;
+   if (!e_client_animatable_get(ec)) return ECORE_CALLBACK_PASS_ON;
    if (!_eff_client_get(ec)) return ECORE_CALLBACK_PASS_ON;
 
    if ((emission = _eff_restack_effect_check(ec)))
@@ -1502,9 +1510,9 @@ _eff_cb_client_buffer_change(void *data, int ev_type, void *event)
    if (!efc) return ECORE_CALLBACK_PASS_ON;
    if (!efc->animating) return ECORE_CALLBACK_PASS_ON;
 
-   if (ec->pixmap)
+   if (e_client_pixmap_get(ec))
      {
-        buffer = e_pixmap_resource_get(ec->pixmap);
+        buffer = e_pixmap_resource_get(e_client_pixmap_get(ec));
         if (buffer != efc->buffer_ref.buffer)
           {
              e_comp_wl_buffer_reference(&efc->buffer_ref, buffer);
@@ -1621,7 +1629,7 @@ e_mod_effect_init(void)
 
    EINA_LIST_FOREACH(e_comp->clients, l, ec)
      {
-        if (ec->ignored) continue;
+        if (e_client_ignored_get(ec)) continue;
 
         efc = _eff_client_get(ec);
         if (!efc)
index a2011ea0cd63722465147fc7b5c1e130c8546bcd..dcff681bd98296d27f68a72f0aef39a8091c0ac1 100644 (file)
@@ -118,23 +118,26 @@ _rotation_effect_done_send(E_Zone *zone)
 }
 
 static Eina_Bool
-_rotation_effect_available(const E_Client *ec, int ang)
+_rotation_effect_available(E_Client *ec, int ang)
 {
    Eina_Bool ret = EINA_FALSE;
    unsigned int i;
+   int rot_count;
+   const E_Client_Rotation_Angle *available_angles;
 
    if (ang < 0) return EINA_FALSE;
-   if (!ec->e.state.rot.support)
+   if (!e_client_e_state_rot_support_get(ec))
      goto no_hint;
 
-   if (ec->e.state.rot.preferred_rot == -1)
+   if (e_client_e_state_rot_preferred_angle_get(ec) == -1)
      {
-        if (ec->e.state.rot.available_rots &&
-            ec->e.state.rot.count)
+        rot_count = e_client_e_state_rot_available_angle_count_get(ec);
+        available_angles = e_client_e_state_rot_available_anlges_get(ec);
+        if (available_angles && rot_count)
           {
-             for (i = 0; i < ec->e.state.rot.count; i++)
+             for (i = 0; i < rot_count; i++)
                {
-                  if (ec->e.state.rot.available_rots[i] == ang)
+                  if (available_angles[i] == ang)
                     {
                        ret = EINA_TRUE;
                        break;
@@ -144,7 +147,7 @@ _rotation_effect_available(const E_Client *ec, int ang)
         else
           goto no_hint;
      }
-   else if (ec->e.state.rot.preferred_rot == ang)
+   else if (e_client_e_state_rot_preferred_angle_get(ec) == ang)
      ret = EINA_TRUE;
 
    return ret;
@@ -164,6 +167,7 @@ _rotation_effect_targets_get(Rotation_Effect *effect, E_Desk *desk)
    E_Client *ec;
    E_Zone *zone;
    E_Desk *ec_desk;
+   int ec_x, ec_y, ec_w, ec_h;
 
    if (!effect) return NULL;
 
@@ -195,19 +199,20 @@ _rotation_effect_targets_get(Rotation_Effect *effect, E_Desk *desk)
              if (!ec_desk) continue;
              if (ec_desk != desk) continue;
              if (e_object_is_del(E_OBJECT(ec))) continue;
-             if (ec->is_cursor) continue;
+             if (e_client_is_cursor(ec)) continue;
              zone = e_comp_zone_find_by_ec(ec);
              if (!zone) continue;
-             if (!E_INTERSECTS(ec->x, ec->y, ec->w, ec->h, zone->x, zone->y, zone->w, zone->h))
+             e_client_geometry_get(ec, &ec_x, &ec_y, &ec_w, &ec_h);
+             if (!E_INTERSECTS(ec_x, ec_y, ec_w, ec_h, zone->x, zone->y, zone->w, zone->h))
                continue;
-             if ((ec->visibility.obscured != E_VISIBILITY_UNOBSCURED) &&
-                 (ec->iconic))
+             if ((e_client_visibility_obscured_get(ec) != E_VISIBILITY_UNOBSCURED) &&
+                 (e_client_iconic_get(ec)))
                continue;
 
-             if ((!ec->animatable) ||
+             if ((!e_client_animatable_get(ec)) ||
                  (e_client_video_client_has(ec)) ||
                  (!_rotation_effect_available(ec, effect->zone->rot.curr)) ||
-                 (ec->e.state.rot.ang.curr == effect->zone->rot.curr))
+                 (e_client_e_state_rot_angle_current_get(ec) == effect->zone->rot.curr))
                {
                   if (l) eina_list_free(l);
                   eina_tiler_free(t);
@@ -217,7 +222,7 @@ _rotation_effect_targets_get(Rotation_Effect *effect, E_Desk *desk)
 
         l = eina_list_append(l, o);
 
-        if ((ec) && (ec->argb)) continue;
+        if (e_client_argb_get(ec)) continue;
 
         EINA_RECTANGLE_SET(&r, x, y, w + edge, h + edge);
         eina_tiler_rect_del(t, &r);
@@ -236,7 +241,7 @@ _rotation_effect_object_transform_pos_map(E_Client *ec, int sx, int sy, int *dx,
    int transform = e_comp_wl_output_buffer_transform_get(ec);
    int bw, bh, tx, ty;
 
-   e_pixmap_size_get(ec->pixmap, &bw, &bh);
+   e_pixmap_size_get(e_client_pixmap_get(ec), &bw, &bh);
 
    /* for subsurface, it should be swap 90 and 270 */
    if (e_comp_wl_sub_data_get(ec))
@@ -278,6 +283,7 @@ _rotation_effect_object_transform_apply(Rotation_Effect_Object *eobj)
    char buffer[128];
    char *p = buffer;
    int l, remain = sizeof buffer;
+   int ec_x, ec_y;
 
    if (!(ec = eobj->ec)) return;
    if (!e_comp_wl_data_check(ec)) return;
@@ -289,13 +295,14 @@ _rotation_effect_object_transform_apply(Rotation_Effect_Object *eobj)
    map = e_map_new();
    if (!map) return;
 
-   e_pixmap_size_get(ec->pixmap, &bw, &bh);
+   e_pixmap_size_get(e_client_pixmap_get(ec), &bw, &bh);
 
    x1 = y1 = 0;
    x2 = bw;
    y2 = bh;
 
-   e_map_util_points_populate_from_geometry(map, ec->x, ec->y, bw, bh, 0);
+   e_client_pos_get(ec, &ec_x, &ec_y);
+   e_map_util_points_populate_from_geometry(map, ec_x, ec_y, bw, bh, 0);
 
    _rotation_effect_object_transform_pos_map(ec, x1, y1, &x, &y);
    e_map_point_image_uv_set(map, 0, x, y);
@@ -349,6 +356,7 @@ _rotation_effect_object_create(Evas_Object *o)
    int i;
    E_Client *ec;
    void *data = NULL, *pix = NULL;
+   int ec_x, ec_y, ec_w, ec_h;
 
    if (!evas_object_visible_get(o)) return NULL;
 
@@ -362,7 +370,7 @@ _rotation_effect_object_create(Evas_Object *o)
 
         eobj->ec = ec;
 
-        buffer = e_pixmap_resource_get(ec->pixmap);
+        buffer = e_pixmap_resource_get(e_client_pixmap_get(ec));
         if (!buffer) goto fail;
 
         img = evas_object_image_filled_add(e_comp->evas);
@@ -440,15 +448,18 @@ _rotation_effect_object_create(Evas_Object *o)
 
         if (pix)
           {
-             if (ec->argb)
+             if (e_client_argb_get(ec))
                evas_object_image_alpha_set(img, 1);
              evas_object_image_size_set(img, w, h);
              evas_object_image_data_set(img, pix);
              evas_object_image_data_update_add(img, 0, 0, w, h);
 
              evas_object_name_set(img, "rotation-effect-image");
-             evas_object_move(img, ec->x, ec->y);
-             evas_object_resize(img, ec->w, ec->h);
+
+             e_client_pos_get(ec, &ec_x, &ec_y);
+             evas_object_move(img, ec_x, ec_y);
+             e_client_size_get(ec, &ec_w, &ec_h);
+             evas_object_resize(img, ec_w, ec_h);
           }
         else
           goto fail;