From: Doyoun Kang Date: Thu, 26 Sep 2024 23:30:09 +0000 (+0900) Subject: refactor: replace code to use E_APIs to access the E_Client structure X-Git-Tag: accepted/tizen/unified/20240930.043743~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F15%2F318315%2F2;p=platform%2Fcore%2Fuifw%2Fe-mod-tizen-effect.git refactor: replace code to use E_APIs to access the E_Client structure Change-Id: I334019cf44a1d46de1e10ffd2e667fce32050473 --- diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 78abc7b..2497c09 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -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) diff --git a/src/e_mod_effect_rotation.c b/src/e_mod_effect_rotation.c index a2011ea..dcff681 100644 --- a/src/e_mod_effect_rotation.c +++ b/src/e_mod_effect_rotation.c @@ -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;