summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-02-11 23:16:25 +0100
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-02-12 00:10:05 +0100
commitc59a8ddebc6d1d8fd4f6c9855b7c8cb1c50a6c6e (patch)
treeabdfc82be9e7b599b7a282d772182d90ff7eb18c
parentba3ac16b62812bc0410ed734078d8108f67a9367 (diff)
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.
Diffstat (limited to '')
-rw-r--r--src/lib/evas/canvas/evas_box.eo1
-rw-r--r--src/lib/evas/canvas/evas_object_box.c10
-rw-r--r--src/lib/evas/canvas/evas_object_table.c10
-rw-r--r--src/lib/evas/canvas/evas_table.eo1
4 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_box.eo b/src/lib/evas/canvas/evas_box.eo
index 4f091584f3..247394e5bf 100644
--- a/src/lib/evas/canvas/evas_box.eo
+++ b/src/lib/evas/canvas/evas_box.eo
@@ -659,6 +659,7 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
659 class.constructor; 659 class.constructor;
660 Efl.Object.constructor; 660 Efl.Object.constructor;
661 Efl.Gfx.size { set; } 661 Efl.Gfx.size { set; }
662 Efl.Gfx.position { set; }
662 Efl.Canvas.Group.group_calculate; 663 Efl.Canvas.Group.group_calculate;
663 Efl.Canvas.Group.group_add; 664 Efl.Canvas.Group.group_add;
664 Efl.Canvas.Group.group_del; 665 Efl.Canvas.Group.group_del;
diff --git a/src/lib/evas/canvas/evas_object_box.c b/src/lib/evas/canvas/evas_object_box.c
index 6a6b861219..3ec1e3de6e 100644
--- a/src/lib/evas/canvas/evas_object_box.c
+++ b/src/lib/evas/canvas/evas_object_box.c
@@ -437,6 +437,16 @@ _evas_box_efl_gfx_size_set(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, Evas_Co
437} 437}
438 438
439EOLIAN static void 439EOLIAN static void
440_evas_box_efl_gfx_position_set(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y)
441{
442 if (_evas_object_intercept_call(o, EVAS_OBJECT_INTERCEPT_CB_MOVE , 0, x, y))
443 return;
444
445 efl_gfx_position_set(efl_super(o, MY_CLASS), x, y);
446 evas_object_smart_changed(o);
447}
448
449EOLIAN static void
440_evas_box_efl_canvas_group_group_calculate(Eo *o, Evas_Object_Box_Data *priv) 450_evas_box_efl_canvas_group_group_calculate(Eo *o, Evas_Object_Box_Data *priv)
441{ 451{
442 if (priv->layout.cb) 452 if (priv->layout.cb)
diff --git a/src/lib/evas/canvas/evas_object_table.c b/src/lib/evas/canvas/evas_object_table.c
index 9375e97e2e..5eea6f9599 100644
--- a/src/lib/evas/canvas/evas_object_table.c
+++ b/src/lib/evas/canvas/evas_object_table.c
@@ -942,6 +942,16 @@ _evas_table_efl_gfx_size_set(Eo *obj, Evas_Table_Data *_pd EINA_UNUSED, Evas_Coo
942} 942}
943 943
944EOLIAN static void 944EOLIAN static void
945_evas_table_efl_gfx_position_set(Eo *obj, Evas_Table_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y)
946{
947 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
948 return;
949
950 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
951 evas_object_smart_changed(obj);
952}
953
954EOLIAN static void
945_evas_table_efl_canvas_group_group_calculate(Eo *o, Evas_Table_Data *priv) 955_evas_table_efl_canvas_group_group_calculate(Eo *o, Evas_Table_Data *priv)
946{ 956{
947 Evas *e; 957 Evas *e;
diff --git a/src/lib/evas/canvas/evas_table.eo b/src/lib/evas/canvas/evas_table.eo
index 556cc00e34..d16488b10a 100644
--- a/src/lib/evas/canvas/evas_table.eo
+++ b/src/lib/evas/canvas/evas_table.eo
@@ -218,6 +218,7 @@ class Evas.Table (Efl.Canvas.Group.Clipped)
218 class.constructor; 218 class.constructor;
219 Efl.Object.constructor; 219 Efl.Object.constructor;
220 Efl.Gfx.size { set; } 220 Efl.Gfx.size { set; }
221 Efl.Gfx.position { set; }
221 Efl.Canvas.Group.group_add; 222 Efl.Canvas.Group.group_add;
222 Efl.Canvas.Group.group_del; 223 Efl.Canvas.Group.group_del;
223 Efl.Canvas.Group.group_calculate; 224 Efl.Canvas.Group.group_calculate;