diff options
author | Tom Hacohen <tom@stosb.com> | 2016-01-08 14:57:00 +0000 |
---|---|---|
committer | Tom Hacohen <tom@stosb.com> | 2016-01-08 14:57:54 +0000 |
commit | 55b62bbd70e32f5824cbc760bc2f8e49eafa4cdd (patch) | |
tree | 3cdcc40782f2d5c5ed06f991fcf7ce38eddbceb5 | |
parent | 2a089926cd24837ec8cc5073ec8519c181d0645e (diff) | |
download | efl-55b62bbd70e32f5824cbc760bc2f8e49eafa4cdd.tar.gz |
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
-rw-r--r-- | src/lib/edje/edje_calc.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c index 614688bab7..76a32ac5b0 100644 --- a/src/lib/edje/edje_calc.c +++ b/src/lib/edje/edje_calc.c @@ -3084,6 +3084,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) { Edje_Real_Part *pp; @@ -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; |