evas: fix child position when the container is moved

when the position of the container is changed the children should also be
repositioned, so setting the changed flag.

The visual effect where you saw that was in luncher where items of the
bar did not get fully up.
This commit is contained in:
Marcel Hollerbach 2017-02-11 23:16:25 +01:00
parent ba3ac16b62
commit c59a8ddebc
4 changed files with 22 additions and 0 deletions

View File

@ -659,6 +659,7 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
class.constructor;
Efl.Object.constructor;
Efl.Gfx.size { set; }
Efl.Gfx.position { set; }
Efl.Canvas.Group.group_calculate;
Efl.Canvas.Group.group_add;
Efl.Canvas.Group.group_del;

View File

@ -436,6 +436,16 @@ _evas_box_efl_gfx_size_set(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, Evas_Co
evas_object_smart_changed(o);
}
EOLIAN static void
_evas_box_efl_gfx_position_set(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y)
{
if (_evas_object_intercept_call(o, EVAS_OBJECT_INTERCEPT_CB_MOVE , 0, x, y))
return;
efl_gfx_position_set(efl_super(o, MY_CLASS), x, y);
evas_object_smart_changed(o);
}
EOLIAN static void
_evas_box_efl_canvas_group_group_calculate(Eo *o, Evas_Object_Box_Data *priv)
{

View File

@ -941,6 +941,16 @@ _evas_table_efl_gfx_size_set(Eo *obj, Evas_Table_Data *_pd EINA_UNUSED, Evas_Coo
evas_object_smart_changed(obj);
}
EOLIAN static void
_evas_table_efl_gfx_position_set(Eo *obj, Evas_Table_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y)
{
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
return;
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
evas_object_smart_changed(obj);
}
EOLIAN static void
_evas_table_efl_canvas_group_group_calculate(Eo *o, Evas_Table_Data *priv)
{

View File

@ -218,6 +218,7 @@ class Evas.Table (Efl.Canvas.Group.Clipped)
class.constructor;
Efl.Object.constructor;
Efl.Gfx.size { set; }
Efl.Gfx.position { set; }
Efl.Canvas.Group.group_add;
Efl.Canvas.Group.group_del;
Efl.Canvas.Group.group_calculate;