summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hacohen <tom@stosb.com>2016-01-08 14:57:00 +0000
committerTom Hacohen <tom@stosb.com>2016-01-08 14:57:54 +0000
commit55b62bbd70e32f5824cbc760bc2f8e49eafa4cdd (patch)
tree3cdcc40782f2d5c5ed06f991fcf7ce38eddbceb5
parent2a089926cd24837ec8cc5073ec8519c181d0645e (diff)
downloadefl-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.c22
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;