Edje UI mirroring: Fix UI mirroring for GROUP parts.

GROUP parts were not mirrored with the rest of the edje object,
this commits fixes that.

Fixes T3021

@fix
This commit is contained in:
Tom Hacohen 2016-01-08 14:57:00 +00:00
parent 2a089926cd
commit 55b62bbd70
1 changed files with 21 additions and 1 deletions

View File

@ -3083,6 +3083,23 @@ _edje_table_recalc_apply(Edje *ed EINA_UNUSED,
}
}
static void
_edje_group_recalc_apply(Edje *ed,
Edje_Real_Part *ep,
Edje_Calc_Params *p3 EINA_UNUSED,
Edje_Part_Description_Common *chosen_desc EINA_UNUSED)
{
Edje_Object *obj = ep->typedata.swallow->swallowed_object;
edje_object_mirrored_set(obj, edje_object_mirrored_get(ed->obj));
if (evas_object_smart_need_recalculate_get(obj))
{
eo_do(obj,
evas_obj_smart_need_recalculate_set(0),
evas_obj_smart_calculate());
}
}
static void
_edje_proxy_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edje_Part_Description_Proxy *chosen_desc, FLOAT_T pos)
{
@ -4839,10 +4856,13 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
_edje_textblock_recalc_apply(ed, ep, pf, (Edje_Part_Description_Text *)chosen_desc);
break;
case EDJE_PART_TYPE_GROUP:
_edje_group_recalc_apply(ed, ep, pf, chosen_desc);
break;
case EDJE_PART_TYPE_EXTERNAL:
case EDJE_PART_TYPE_RECTANGLE:
case EDJE_PART_TYPE_SWALLOW:
case EDJE_PART_TYPE_GROUP:
/* Nothing special to do for this type of object. */
break;