From: Jeeyong Um Date: Wed, 19 Apr 2017 07:47:39 +0000 (+0900) Subject: Evas.Table: Apply mirrored correctly when align is set X-Git-Tag: upstream/1.20.0~1444 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7ba0707851f72072e0d077984c5b6203d9dd6623;p=platform%2Fupstream%2Fefl.git Evas.Table: Apply mirrored correctly when align is set Summary: When table items are left aligned and mirrored is set, items should be placed from the right side, but align is not changed. (still left-aligned) @fix Test Plan: make and run attached example Reviewers: cedric, jpeg Subscribers: thiepha, woohyun Differential Revision: https://phab.enlightenment.org/D4758 --- diff --git a/src/lib/evas/canvas/evas_object_table.c b/src/lib/evas/canvas/evas_object_table.c index 820e8d2..103d3a8 100644 --- a/src/lib/evas/canvas/evas_object_table.c +++ b/src/lib/evas/canvas/evas_object_table.c @@ -785,12 +785,14 @@ _evas_object_table_calculate_layout_regular(Evas_Object *o, Evas_Table_Data *pri Eina_List *l; Evas_Coord *cols = NULL, *rows = NULL; Evas_Coord x, y, w, h; + Evas_Coord totw; c = priv->cache; if (!c) return; c->ref++; evas_object_geometry_get(o, &x, &y, &w, &h); + totw = w; /* handle horizontal */ if ((c->total.expands.h <= 0) || (c->total.min.w >= w)) @@ -857,7 +859,7 @@ _evas_object_table_calculate_layout_regular(Evas_Object *o, Evas_Table_Data *pri if (priv->is_mirrored) { - evas_object_move(opt->obj, x + w - (cx - x + cw), cy); + evas_object_move(opt->obj, x + w + 2 * (0.5 - priv->align.h) * (totw - w) - (cx - x + cw), cy); } else {