forked from enlightenment/efl
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
This commit is contained in:
parent
abd71b2cfc
commit
7ba0707851
|
@ -785,12 +785,14 @@ _evas_object_table_calculate_layout_regular(Evas_Object *o, Evas_Table_Data *pri
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Evas_Coord *cols = NULL, *rows = NULL;
|
Evas_Coord *cols = NULL, *rows = NULL;
|
||||||
Evas_Coord x, y, w, h;
|
Evas_Coord x, y, w, h;
|
||||||
|
Evas_Coord totw;
|
||||||
|
|
||||||
c = priv->cache;
|
c = priv->cache;
|
||||||
if (!c) return;
|
if (!c) return;
|
||||||
|
|
||||||
c->ref++;
|
c->ref++;
|
||||||
evas_object_geometry_get(o, &x, &y, &w, &h);
|
evas_object_geometry_get(o, &x, &y, &w, &h);
|
||||||
|
totw = w;
|
||||||
|
|
||||||
/* handle horizontal */
|
/* handle horizontal */
|
||||||
if ((c->total.expands.h <= 0) || (c->total.min.w >= w))
|
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)
|
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
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue