summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/edje/edje_object.eo2
-rw-r--r--src/lib/edje/edje_smart.c7
-rw-r--r--src/lib/elementary/efl_ui_image.c7
-rw-r--r--src/lib/elementary/efl_ui_image.eo2
-rw-r--r--src/lib/elementary/efl_ui_text.c7
-rw-r--r--src/lib/elementary/efl_ui_text.eo2
-rw-r--r--src/lib/elementary/efl_ui_win.c20
-rw-r--r--src/lib/elementary/efl_ui_win.eo2
-rw-r--r--src/lib/elementary/elm_diskselector.c7
-rw-r--r--src/lib/elementary/elm_diskselector.eo2
-rw-r--r--src/lib/elementary/elm_entry.c7
-rw-r--r--src/lib/elementary/elm_entry.eo2
-rw-r--r--src/lib/elementary/elm_gengrid.c14
-rw-r--r--src/lib/elementary/elm_gengrid.eo2
-rw-r--r--src/lib/elementary/elm_gengrid_pan.eo2
-rw-r--r--src/lib/elementary/elm_genlist.c14
-rw-r--r--src/lib/elementary/elm_genlist.eo2
-rw-r--r--src/lib/elementary/elm_genlist_pan.eo2
-rw-r--r--src/lib/elementary/elm_hover.c7
-rw-r--r--src/lib/elementary/elm_hover.eo2
-rw-r--r--src/lib/elementary/elm_interface_scrollable.c7
-rw-r--r--src/lib/elementary/elm_list.c7
-rw-r--r--src/lib/elementary/elm_list.eo2
-rw-r--r--src/lib/elementary/elm_map.c13
-rw-r--r--src/lib/elementary/elm_map.eo2
-rw-r--r--src/lib/elementary/elm_map_pan.eo2
-rw-r--r--src/lib/elementary/elm_mapbuf.c7
-rw-r--r--src/lib/elementary/elm_mapbuf.eo2
-rw-r--r--src/lib/elementary/elm_notify.c9
-rw-r--r--src/lib/elementary/elm_notify.eo2
-rw-r--r--src/lib/elementary/elm_pan.eo2
-rw-r--r--src/lib/elementary/elm_panel.c7
-rw-r--r--src/lib/elementary/elm_panel.eo2
-rw-r--r--src/lib/elementary/elm_photocam.c14
-rw-r--r--src/lib/elementary/elm_photocam.eo2
-rw-r--r--src/lib/elementary/elm_photocam_pan.eo2
-rw-r--r--src/lib/elementary/elm_scroller.c7
-rw-r--r--src/lib/elementary/elm_scroller.eo2
-rw-r--r--src/lib/elementary/elm_toolbar.c7
-rw-r--r--src/lib/elementary/elm_toolbar.eo2
-rw-r--r--src/lib/elementary/elm_widget.c7
-rw-r--r--src/lib/elementary/elm_widget.eo2
-rw-r--r--src/lib/emotion/efl_canvas_video.eo2
-rw-r--r--src/lib/emotion/emotion_smart.c9
-rw-r--r--src/lib/evas/canvas/efl_canvas_group.eo8
-rw-r--r--src/lib/evas/canvas/efl_canvas_group_clipped.eo2
-rw-r--r--src/lib/evas/canvas/evas_object_intercept.c9
-rw-r--r--src/lib/evas/canvas/evas_object_main.c20
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c10
-rw-r--r--src/lib/evas/canvas/evas_object_smart_clipped.c8
50 files changed, 183 insertions, 106 deletions
diff --git a/src/lib/edje/edje_object.eo b/src/lib/edje/edje_object.eo
index 94c9c88cef..b6ec2c6fe9 100644
--- a/src/lib/edje/edje_object.eo
+++ b/src/lib/edje/edje_object.eo
@@ -2067,12 +2067,12 @@ class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, Efl.Container, Efl.Part)
2067 } 2067 }
2068 implements { 2068 implements {
2069 Efl.Gfx.visible.set; 2069 Efl.Gfx.visible.set;
2070 Efl.Gfx.position.set;
2070 Efl.Object.constructor; 2071 Efl.Object.constructor;
2071 Efl.Object.destructor; 2072 Efl.Object.destructor;
2072 Efl.Object.dbg_info_get; 2073 Efl.Object.dbg_info_get;
2073 Efl.Canvas.Object.no_render.set; 2074 Efl.Canvas.Object.no_render.set;
2074 Efl.Canvas.Object.paragraph_direction.set; 2075 Efl.Canvas.Object.paragraph_direction.set;
2075 Efl.Canvas.Group.group_move;
2076 Efl.Canvas.Group.group_add; 2076 Efl.Canvas.Group.group_add;
2077 Efl.Canvas.Group.group_del; 2077 Efl.Canvas.Group.group_del;
2078 Efl.Canvas.Group.group_resize; 2078 Efl.Canvas.Group.group_resize;
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index 8e1b656ae3..d0800a2109 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -159,10 +159,15 @@ _edje_object_efl_canvas_group_group_del(Eo *obj, Edje *ed)
159} 159}
160 160
161EOLIAN static void 161EOLIAN static void
162_edje_object_efl_canvas_group_group_move(Eo *obj EINA_UNUSED, Edje *ed, Evas_Coord x, Evas_Coord y) 162_edje_object_efl_gfx_position_set(Eo *obj, Edje *ed, Evas_Coord x, Evas_Coord y)
163{ 163{
164 unsigned short i; 164 unsigned short i;
165 165
166 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
167 return;
168
169 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
170
166 if ((ed->x == x) && (ed->y == y)) return; 171 if ((ed->x == x) && (ed->y == y)) return;
167 ed->x = x; 172 ed->x = x;
168 ed->y = y; 173 ed->y = y;
diff --git a/src/lib/elementary/efl_ui_image.c b/src/lib/elementary/efl_ui_image.c
index 262eab1572..80b2b33345 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -561,9 +561,12 @@ _efl_ui_image_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Image_Data *sd)
561} 561}
562 562
563EOLIAN static void 563EOLIAN static void
564_efl_ui_image_efl_canvas_group_group_move(Eo *obj, Efl_Ui_Image_Data *sd, Evas_Coord x, Evas_Coord y) 564_efl_ui_image_efl_gfx_position_set(Eo *obj, Efl_Ui_Image_Data *sd, Evas_Coord x, Evas_Coord y)
565{ 565{
566 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 566 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
567 return;
568
569 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
567 570
568 if ((sd->img_x == x) && (sd->img_y == y)) return; 571 if ((sd->img_x == x) && (sd->img_y == y)) return;
569 sd->img_x = x; 572 sd->img_x = x;
diff --git a/src/lib/elementary/efl_ui_image.eo b/src/lib/elementary/efl_ui_image.eo
index 42eedb73ab..c69cb3f50c 100644
--- a/src/lib/elementary/efl_ui_image.eo
+++ b/src/lib/elementary/efl_ui_image.eo
@@ -124,6 +124,7 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable,
124 Efl.File.mmap.set; 124 Efl.File.mmap.set;
125 Efl.Gfx.color.set; 125 Efl.Gfx.color.set;
126 Efl.Gfx.visible.set; 126 Efl.Gfx.visible.set;
127 Efl.Gfx.position.set;
127 Efl.Gfx.View.view_size.get; 128 Efl.Gfx.View.view_size.get;
128 Efl.Image.Load.load_size.set; 129 Efl.Image.Load.load_size.set;
129 Efl.Image.Load.load_size.get; 130 Efl.Image.Load.load_size.get;
@@ -142,7 +143,6 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable,
142 Edje.Object.size_min_calc; 143 Edje.Object.size_min_calc;
143 Edje.Object.calc_force; 144 Edje.Object.calc_force;
144 Efl.Canvas.Object.clip.set; 145 Efl.Canvas.Object.clip.set;
145 Efl.Canvas.Group.group_move;
146 Efl.Canvas.Group.group_add; 146 Efl.Canvas.Group.group_add;
147 Efl.Canvas.Group.group_del; 147 Efl.Canvas.Group.group_del;
148 Efl.Canvas.Group.group_member_add; 148 Efl.Canvas.Group.group_member_add;
diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index b7e1306fdf..5d6ecb3429 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -3468,9 +3468,12 @@ _efl_ui_text_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Text_Data *sd)
3468} 3468}
3469 3469
3470EOLIAN static void 3470EOLIAN static void
3471_efl_ui_text_efl_canvas_group_group_move(Eo *obj, Efl_Ui_Text_Data *sd, Evas_Coord x, Evas_Coord y) 3471_efl_ui_text_efl_gfx_position_set(Eo *obj, Efl_Ui_Text_Data *sd, Evas_Coord x, Evas_Coord y)
3472{ 3472{
3473 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 3473 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
3474 return;
3475
3476 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
3474 3477
3475 evas_object_move(sd->hit_rect, x, y); 3478 evas_object_move(sd->hit_rect, x, y);
3476 3479
diff --git a/src/lib/elementary/efl_ui_text.eo b/src/lib/elementary/efl_ui_text.eo
index 74b171fbb7..d506a45332 100644
--- a/src/lib/elementary/efl_ui_text.eo
+++ b/src/lib/elementary/efl_ui_text.eo
@@ -417,7 +417,7 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
417 Efl.Object.constructor; 417 Efl.Object.constructor;
418 Efl.Object.destructor; 418 Efl.Object.destructor;
419 Efl.Gfx.visible.set; 419 Efl.Gfx.visible.set;
420 Efl.Canvas.Group.group_move; 420 Efl.Gfx.position.set;
421 Efl.Canvas.Group.group_member_add; 421 Efl.Canvas.Group.group_member_add;
422 Efl.Canvas.Group.group_add; 422 Efl.Canvas.Group.group_add;
423 Efl.Canvas.Group.group_resize; 423 Efl.Canvas.Group.group_resize;
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 24cf2995ea..5dca56fbdf 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -2766,8 +2766,11 @@ _elm_win_obj_intercept_show(void *data,
2766} 2766}
2767 2767
2768EOLIAN static void 2768EOLIAN static void
2769_efl_ui_win_efl_canvas_group_group_move(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord x, Evas_Coord y) 2769_efl_ui_win_efl_gfx_position_set(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord x, Evas_Coord y)
2770{ 2770{
2771 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
2772 return;
2773
2771 if (sd->img_obj) 2774 if (sd->img_obj)
2772 { 2775 {
2773 if ((x != sd->screen.x) || (y != sd->screen.y)) 2776 if ((x != sd->screen.x) || (y != sd->screen.y))
@@ -2776,15 +2779,15 @@ _efl_ui_win_efl_canvas_group_group_move(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord
2776 sd->screen.y = y; 2779 sd->screen.y = y;
2777 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_MOVE, NULL); 2780 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_MOVE, NULL);
2778 } 2781 }
2779 return; 2782 goto super_skip;
2780 } 2783 }
2781 else 2784 else
2782 { 2785 {
2783 if (!sd->response) TRAP(sd, move, x, y); 2786 if (!sd->response) TRAP(sd, move, x, y);
2784 if (!ecore_evas_override_get(sd->ee)) return; 2787 if (!ecore_evas_override_get(sd->ee)) goto super_skip;
2785 } 2788 }
2786 2789
2787 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 2790 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
2788 2791
2789 if (ecore_evas_override_get(sd->ee)) 2792 if (ecore_evas_override_get(sd->ee))
2790 { 2793 {
@@ -2806,6 +2809,15 @@ _efl_ui_win_efl_canvas_group_group_move(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord
2806 sd->screen.x = x; 2809 sd->screen.x = x;
2807 sd->screen.y = y; 2810 sd->screen.y = y;
2808 } 2811 }
2812
2813 return;
2814
2815super_skip:
2816 /* FIXME FIXME FIXME
2817 * Ugly code flow: legacy code had an early return in smart_move, ie.
2818 * evas object move would be processed but smart object move would be
2819 * aborted. This super call tries to simulate that. */
2820 efl_gfx_position_set(efl_super(obj, EFL_CANVAS_GROUP_CLASS), x, y);
2809} 2821}
2810 2822
2811EOLIAN static void 2823EOLIAN static void
diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo
index e53798255a..b8c9ab47bc 100644
--- a/src/lib/elementary/efl_ui_win.eo
+++ b/src/lib/elementary/efl_ui_win.eo
@@ -810,7 +810,7 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Elm.Interface.Atspi.Window,
810 Efl.Object.constructor; 810 Efl.Object.constructor;
811 Efl.Object.finalize; 811 Efl.Object.finalize;
812 Efl.Gfx.visible.set; 812 Efl.Gfx.visible.set;
813 Efl.Canvas.Group.group_move; 813 Efl.Gfx.position.set;
814 Efl.Canvas.Group.group_add; 814 Efl.Canvas.Group.group_add;
815 Efl.Canvas.Group.group_del; 815 Efl.Canvas.Group.group_del;
816 Efl.Canvas.Group.group_resize; 816 Efl.Canvas.Group.group_resize;
diff --git a/src/lib/elementary/elm_diskselector.c b/src/lib/elementary/elm_diskselector.c
index 23f1437d93..8d4da071b8 100644
--- a/src/lib/elementary/elm_diskselector.c
+++ b/src/lib/elementary/elm_diskselector.c
@@ -1421,9 +1421,12 @@ _elm_diskselector_efl_canvas_group_group_del(Eo *obj, Elm_Diskselector_Data *sd)
1421} 1421}
1422 1422
1423EOLIAN static void 1423EOLIAN static void
1424_elm_diskselector_efl_canvas_group_group_move(Eo *obj, Elm_Diskselector_Data *sd, Evas_Coord x, Evas_Coord y) 1424_elm_diskselector_efl_gfx_position_set(Eo *obj, Elm_Diskselector_Data *sd, Evas_Coord x, Evas_Coord y)
1425{ 1425{
1426 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 1426 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
1427 return;
1428
1429 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
1427 1430
1428 evas_object_move(sd->hit_rect, x, y); 1431 evas_object_move(sd->hit_rect, x, y);
1429} 1432}
diff --git a/src/lib/elementary/elm_diskselector.eo b/src/lib/elementary/elm_diskselector.eo
index 3c3ec40968..0b20ec6cea 100644
--- a/src/lib/elementary/elm_diskselector.eo
+++ b/src/lib/elementary/elm_diskselector.eo
@@ -197,8 +197,8 @@ class Elm.Diskselector (Elm.Widget, Elm.Interface_Scrollable,
197 implements { 197 implements {
198 class.constructor; 198 class.constructor;
199 Efl.Object.constructor; 199 Efl.Object.constructor;
200 Efl.Gfx.position.set;
200 Efl.Canvas.Group.group_member_add; 201 Efl.Canvas.Group.group_member_add;
201 Efl.Canvas.Group.group_move;
202 Efl.Canvas.Group.group_add; 202 Efl.Canvas.Group.group_add;
203 Efl.Canvas.Group.group_del; 203 Efl.Canvas.Group.group_del;
204 Efl.Canvas.Group.group_resize; 204 Efl.Canvas.Group.group_resize;
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index 0eaf67f484..85c039db35 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -3913,9 +3913,12 @@ _elm_entry_efl_canvas_group_group_del(Eo *obj, Elm_Entry_Data *sd)
3913} 3913}
3914 3914
3915EOLIAN static void 3915EOLIAN static void
3916_elm_entry_efl_canvas_group_group_move(Eo *obj, Elm_Entry_Data *sd, Evas_Coord x, Evas_Coord y) 3916_elm_entry_efl_gfx_position_set(Eo *obj, Elm_Entry_Data *sd, Evas_Coord x, Evas_Coord y)
3917{ 3917{
3918 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 3918 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
3919 return;
3920
3921 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
3919 3922
3920 evas_object_move(sd->hit_rect, x, y); 3923 evas_object_move(sd->hit_rect, x, y);
3921 3924
diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo
index c4dd01fea2..2bd3b1f1b7 100644
--- a/src/lib/elementary/elm_entry.eo
+++ b/src/lib/elementary/elm_entry.eo
@@ -940,7 +940,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
940 class.constructor; 940 class.constructor;
941 Efl.Object.constructor; 941 Efl.Object.constructor;
942 Efl.Gfx.visible.set; 942 Efl.Gfx.visible.set;
943 Efl.Canvas.Group.group_move; 943 Efl.Gfx.position.set;
944 Efl.Canvas.Group.group_member_add; 944 Efl.Canvas.Group.group_member_add;
945 Efl.Canvas.Group.group_add; 945 Efl.Canvas.Group.group_add;
946 Efl.Canvas.Group.group_resize; 946 Efl.Canvas.Group.group_resize;
diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c
index 3ad9f4083b..27e06ceb02 100644
--- a/src/lib/elementary/elm_gengrid.c
+++ b/src/lib/elementary/elm_gengrid.c
@@ -478,8 +478,13 @@ _elm_gengrid_pan_efl_object_destructor(Eo *obj, Elm_Gengrid_Pan_Data *psd)
478} 478}
479 479
480EOLIAN static void 480EOLIAN static void
481_elm_gengrid_pan_efl_canvas_group_group_move(Eo *obj EINA_UNUSED, Elm_Gengrid_Pan_Data *psd, Evas_Coord _gen_param2 EINA_UNUSED, Evas_Coord _gen_param3 EINA_UNUSED) 481_elm_gengrid_pan_efl_gfx_position_set(Eo *obj, Elm_Gengrid_Pan_Data *psd, Evas_Coord x, Evas_Coord y)
482{ 482{
483 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
484 return;
485
486 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y);
487
483 ecore_job_del(psd->wsd->calc_job); 488 ecore_job_del(psd->wsd->calc_job);
484 psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wobj); 489 psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wobj);
485} 490}
@@ -4331,9 +4336,12 @@ _elm_gengrid_efl_canvas_group_group_del(Eo *obj, Elm_Gengrid_Data *sd)
4331} 4336}
4332 4337
4333EOLIAN static void 4338EOLIAN static void
4334_elm_gengrid_efl_canvas_group_group_move(Eo *obj, Elm_Gengrid_Data *sd, Evas_Coord x, Evas_Coord y) 4339_elm_gengrid_efl_gfx_position_set(Eo *obj, Elm_Gengrid_Data *sd, Evas_Coord x, Evas_Coord y)
4335{ 4340{
4336 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 4341 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
4342 return;
4343
4344 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
4337 4345
4338 evas_object_move(sd->hit_rect, x, y); 4346 evas_object_move(sd->hit_rect, x, y);
4339} 4347}
diff --git a/src/lib/elementary/elm_gengrid.eo b/src/lib/elementary/elm_gengrid.eo
index 584f580a9c..63baf6ff32 100644
--- a/src/lib/elementary/elm_gengrid.eo
+++ b/src/lib/elementary/elm_gengrid.eo
@@ -540,7 +540,7 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
540 implements { 540 implements {
541 class.constructor; 541 class.constructor;
542 Efl.Object.constructor; 542 Efl.Object.constructor;
543 Efl.Canvas.Group.group_move; 543 Efl.Gfx.position.set;
544 Efl.Canvas.Group.group_add; 544 Efl.Canvas.Group.group_add;
545 Efl.Canvas.Group.group_del; 545 Efl.Canvas.Group.group_del;
546 Efl.Canvas.Group.group_member_add; 546 Efl.Canvas.Group.group_member_add;
diff --git a/src/lib/elementary/elm_gengrid_pan.eo b/src/lib/elementary/elm_gengrid_pan.eo
index 1fc50e0883..94ca804f2f 100644
--- a/src/lib/elementary/elm_gengrid_pan.eo
+++ b/src/lib/elementary/elm_gengrid_pan.eo
@@ -6,8 +6,8 @@ class Elm.Gengrid.Pan (Elm.Pan)
6 implements { 6 implements {
7 class.constructor; 7 class.constructor;
8 Efl.Object.destructor; 8 Efl.Object.destructor;
9 Efl.Gfx.position.set;
9 Efl.Canvas.Group.group_calculate; 10 Efl.Canvas.Group.group_calculate;
10 Efl.Canvas.Group.group_move;
11 Efl.Canvas.Group.group_resize; 11 Efl.Canvas.Group.group_resize;
12 Elm.Pan.content_size.get; 12 Elm.Pan.content_size.get;
13 Elm.Pan.pos; 13 Elm.Pan.pos;
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 5affc556d7..f75b263601 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -268,8 +268,13 @@ _elm_genlist_pan_efl_canvas_group_group_del(Eo *obj, Elm_Genlist_Pan_Data *psd)
268} 268}
269 269
270EOLIAN static void 270EOLIAN static void
271_elm_genlist_pan_efl_canvas_group_group_move(Eo *obj, Elm_Genlist_Pan_Data *psd, Evas_Coord _gen_param2 EINA_UNUSED, Evas_Coord _gen_param3 EINA_UNUSED) 271_elm_genlist_pan_efl_gfx_position_set(Eo *obj, Elm_Genlist_Pan_Data *psd, Evas_Coord x, Evas_Coord y)
272{ 272{
273 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
274 return;
275
276 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y);
277
273 psd->wsd->pan_changed = EINA_TRUE; 278 psd->wsd->pan_changed = EINA_TRUE;
274 evas_object_smart_changed(obj); 279 evas_object_smart_changed(obj);
275 ELM_SAFE_FREE(psd->wsd->calc_job, ecore_job_del); 280 ELM_SAFE_FREE(psd->wsd->calc_job, ecore_job_del);
@@ -5658,9 +5663,12 @@ _elm_genlist_efl_canvas_group_group_del(Eo *obj, Elm_Genlist_Data *sd)
5658} 5663}
5659 5664
5660EOLIAN static void 5665EOLIAN static void
5661_elm_genlist_efl_canvas_group_group_move(Eo *obj, Elm_Genlist_Data *sd, Evas_Coord x, Evas_Coord y) 5666_elm_genlist_efl_gfx_position_set(Eo *obj, Elm_Genlist_Data *sd, Evas_Coord x, Evas_Coord y)
5662{ 5667{
5663 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 5668 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
5669 return;
5670
5671 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
5664 5672
5665 evas_object_move(sd->hit_rect, x, y); 5673 evas_object_move(sd->hit_rect, x, y);
5666} 5674}
diff --git a/src/lib/elementary/elm_genlist.eo b/src/lib/elementary/elm_genlist.eo
index 8a8efb5be2..cbdb18021f 100644
--- a/src/lib/elementary/elm_genlist.eo
+++ b/src/lib/elementary/elm_genlist.eo
@@ -528,8 +528,8 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
528 implements { 528 implements {
529 class.constructor; 529 class.constructor;
530 Efl.Object.constructor; 530 Efl.Object.constructor;
531 Efl.Gfx.position.set;
531 Efl.Canvas.Group.group_member_add; 532 Efl.Canvas.Group.group_member_add;
532 Efl.Canvas.Group.group_move;
533 Efl.Canvas.Group.group_add; 533 Efl.Canvas.Group.group_add;
534 Efl.Canvas.Group.group_del; 534 Efl.Canvas.Group.group_del;
535 Efl.Canvas.Group.group_resize; 535 Efl.Canvas.Group.group_resize;
diff --git a/src/lib/elementary/elm_genlist_pan.eo b/src/lib/elementary/elm_genlist_pan.eo
index 4c0b495eee..f773328014 100644
--- a/src/lib/elementary/elm_genlist_pan.eo
+++ b/src/lib/elementary/elm_genlist_pan.eo
@@ -6,8 +6,8 @@ class Elm.Genlist.Pan (Elm.Pan)
6 implements { 6 implements {
7 class.constructor; 7 class.constructor;
8 Efl.Object.destructor; 8 Efl.Object.destructor;
9 Efl.Gfx.position.set;
9 Efl.Canvas.Group.group_calculate; 10 Efl.Canvas.Group.group_calculate;
10 Efl.Canvas.Group.group_move;
11 Efl.Canvas.Group.group_del; 11 Efl.Canvas.Group.group_del;
12 Efl.Canvas.Group.group_resize; 12 Efl.Canvas.Group.group_resize;
13 Elm.Pan.content_size.get; 13 Elm.Pan.content_size.get;
diff --git a/src/lib/elementary/elm_hover.c b/src/lib/elementary/elm_hover.c
index 2b8b6d5840..0c8fa72682 100644
--- a/src/lib/elementary/elm_hover.c
+++ b/src/lib/elementary/elm_hover.c
@@ -616,9 +616,12 @@ _elm_hover_efl_canvas_group_group_del(Eo *obj, Elm_Hover_Data *sd)
616} 616}
617 617
618EOLIAN static void 618EOLIAN static void
619_elm_hover_efl_canvas_group_group_move(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y) 619_elm_hover_efl_gfx_position_set(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y)
620{ 620{
621 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 621 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
622 return;
623
624 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
622 625
623 elm_layout_sizing_eval(obj); 626 elm_layout_sizing_eval(obj);
624} 627}
diff --git a/src/lib/elementary/elm_hover.eo b/src/lib/elementary/elm_hover.eo
index 79e8e2e03e..47caaabc63 100644
--- a/src/lib/elementary/elm_hover.eo
+++ b/src/lib/elementary/elm_hover.eo
@@ -61,8 +61,8 @@ class Elm.Hover (Elm.Layout, Efl.Ui.Clickable, Elm.Interface.Atspi_Widget_Action
61 class.constructor; 61 class.constructor;
62 Efl.Object.constructor; 62 Efl.Object.constructor;
63 Efl.Gfx.visible.set; 63 Efl.Gfx.visible.set;
64 Efl.Gfx.position.set;
64 Efl.Canvas.Group.group_del; 65 Efl.Canvas.Group.group_del;
65 Efl.Canvas.Group.group_move;
66 Efl.Canvas.Group.group_add; 66 Efl.Canvas.Group.group_add;
67 Efl.Canvas.Group.group_resize; 67 Efl.Canvas.Group.group_resize;
68 Elm.Widget.theme_apply; 68 Elm.Widget.theme_apply;
diff --git a/src/lib/elementary/elm_interface_scrollable.c b/src/lib/elementary/elm_interface_scrollable.c
index ddbf080c58..f6b1623077 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -102,8 +102,13 @@ _elm_pan_efl_canvas_group_group_del(Eo *obj, Elm_Pan_Smart_Data *_pd EINA_UNUSED
102} 102}
103 103
104EOLIAN static void 104EOLIAN static void
105_elm_pan_efl_canvas_group_group_move(Eo *obj EINA_UNUSED, Elm_Pan_Smart_Data *psd, Evas_Coord x, Evas_Coord y) 105_elm_pan_efl_gfx_position_set(Eo *obj, Elm_Pan_Smart_Data *psd, Evas_Coord x, Evas_Coord y)
106{ 106{
107 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
108 return;
109
110 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y);
111
107 psd->x = x; 112 psd->x = x;
108 psd->y = y; 113 psd->y = y;
109 114
diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c
index 9c0cbbc4da..dc8e9b7ba9 100644
--- a/src/lib/elementary/elm_list.c
+++ b/src/lib/elementary/elm_list.c
@@ -2509,9 +2509,12 @@ _elm_list_efl_canvas_group_group_del(Eo *obj, Elm_List_Data *sd)
2509} 2509}
2510 2510
2511EOLIAN static void 2511EOLIAN static void
2512_elm_list_efl_canvas_group_group_move(Eo *obj, Elm_List_Data *sd, Evas_Coord x, Evas_Coord y) 2512_elm_list_efl_gfx_position_set(Eo *obj, Elm_List_Data *sd, Evas_Coord x, Evas_Coord y)
2513{ 2513{
2514 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 2514 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
2515 return;
2516
2517 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
2515 2518
2516 evas_object_move(sd->hit_rect, x, y); 2519 evas_object_move(sd->hit_rect, x, y);
2517} 2520}
diff --git a/src/lib/elementary/elm_list.eo b/src/lib/elementary/elm_list.eo
index 4dc59a74cd..273ca41270 100644
--- a/src/lib/elementary/elm_list.eo
+++ b/src/lib/elementary/elm_list.eo
@@ -429,8 +429,8 @@ class Elm.List (Elm.Layout, Elm.Interface_Scrollable,
429 implements { 429 implements {
430 class.constructor; 430 class.constructor;
431 Efl.Object.constructor; 431 Efl.Object.constructor;
432 Efl.Gfx.position.set;
432 Efl.Canvas.Group.group_member_add; 433 Efl.Canvas.Group.group_member_add;
433 Efl.Canvas.Group.group_move;
434 Efl.Canvas.Group.group_add; 434 Efl.Canvas.Group.group_add;
435 Efl.Canvas.Group.group_del; 435 Efl.Canvas.Group.group_del;
436 Efl.Canvas.Group.group_resize; 436 Efl.Canvas.Group.group_resize;
diff --git a/src/lib/elementary/elm_map.c b/src/lib/elementary/elm_map.c
index b731242185..e600a21d32 100644
--- a/src/lib/elementary/elm_map.c
+++ b/src/lib/elementary/elm_map.c
@@ -3886,8 +3886,12 @@ _elm_map_pan_efl_canvas_group_group_calculate(Eo *obj, Elm_Map_Pan_Data *psd)
3886} 3886}
3887 3887
3888EOLIAN static void 3888EOLIAN static void
3889_elm_map_pan_efl_canvas_group_group_move(Eo *obj, Elm_Map_Pan_Data *_pd EINA_UNUSED, Evas_Coord x EINA_UNUSED, Evas_Coord y EINA_UNUSED) 3889_elm_map_pan_efl_gfx_position_set(Eo *obj, Elm_Map_Pan_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y)
3890{ 3890{
3891 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
3892 return;
3893
3894 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
3891 evas_object_smart_changed(obj); 3895 evas_object_smart_changed(obj);
3892} 3896}
3893 3897
@@ -4204,9 +4208,12 @@ _elm_map_efl_canvas_group_group_del(Eo *obj, Elm_Map_Data *sd)
4204} 4208}
4205 4209
4206EOLIAN static void 4210EOLIAN static void
4207_elm_map_efl_canvas_group_group_move(Eo *obj, Elm_Map_Data *sd, Evas_Coord x, Evas_Coord y) 4211_elm_map_efl_gfx_position_set(Eo *obj, Elm_Map_Data *sd, Evas_Coord x, Evas_Coord y)
4208{ 4212{
4209 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 4213 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
4214 return;
4215
4216 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
4210 4217
4211 evas_object_move(sd->hit_rect, x, y); 4218 evas_object_move(sd->hit_rect, x, y);
4212} 4219}
diff --git a/src/lib/elementary/elm_map.eo b/src/lib/elementary/elm_map.eo
index b43a4a6df2..9267b35f9e 100644
--- a/src/lib/elementary/elm_map.eo
+++ b/src/lib/elementary/elm_map.eo
@@ -626,7 +626,7 @@ class Elm.Map (Elm.Widget, Elm.Interface_Scrollable,
626 implements { 626 implements {
627 class.constructor; 627 class.constructor;
628 Efl.Object.constructor; 628 Efl.Object.constructor;
629 Efl.Canvas.Group.group_move; 629 Efl.Gfx.position.set;
630 Efl.Canvas.Group.group_add; 630 Efl.Canvas.Group.group_add;
631 Efl.Canvas.Group.group_del; 631 Efl.Canvas.Group.group_del;
632 Efl.Canvas.Group.group_member_add; 632 Efl.Canvas.Group.group_member_add;
diff --git a/src/lib/elementary/elm_map_pan.eo b/src/lib/elementary/elm_map_pan.eo
index 68efa2cc3d..a073aafcf2 100644
--- a/src/lib/elementary/elm_map_pan.eo
+++ b/src/lib/elementary/elm_map_pan.eo
@@ -6,8 +6,8 @@ class Elm.Map.Pan (Elm.Pan)
6 implements { 6 implements {
7 class.constructor; 7 class.constructor;
8 Efl.Object.destructor; 8 Efl.Object.destructor;
9 Efl.Gfx.position.set;
9 Efl.Canvas.Group.group_calculate; 10 Efl.Canvas.Group.group_calculate;
10 Efl.Canvas.Group.group_move;
11 Efl.Canvas.Group.group_resize; 11 Efl.Canvas.Group.group_resize;
12 Elm.Pan.content_size.get; 12 Elm.Pan.content_size.get;
13 Elm.Pan.pos; 13 Elm.Pan.pos;
diff --git a/src/lib/elementary/elm_mapbuf.c b/src/lib/elementary/elm_mapbuf.c
index 97d0f9df4f..2034e209c8 100644
--- a/src/lib/elementary/elm_mapbuf.c
+++ b/src/lib/elementary/elm_mapbuf.c
@@ -156,9 +156,12 @@ _mapbuf_auto_smooth(Evas_Object *obj EINA_UNUSED, Elm_Mapbuf_Data *sd)
156} 156}
157 157
158EOLIAN static void 158EOLIAN static void
159_elm_mapbuf_efl_canvas_group_group_move(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Coord x, Evas_Coord y) 159_elm_mapbuf_efl_gfx_position_set(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Coord x, Evas_Coord y)
160{ 160{
161 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 161 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
162 return;
163
164 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
162 165
163 _mapbuf_auto_eval(obj, sd); 166 _mapbuf_auto_eval(obj, sd);
164 _mapbuf_auto_smooth(obj, sd); 167 _mapbuf_auto_smooth(obj, sd);
diff --git a/src/lib/elementary/elm_mapbuf.eo b/src/lib/elementary/elm_mapbuf.eo
index be1c3c03b0..24445109a7 100644
--- a/src/lib/elementary/elm_mapbuf.eo
+++ b/src/lib/elementary/elm_mapbuf.eo
@@ -130,7 +130,7 @@ class Elm.Mapbuf (Elm.Widget, Efl.Container, Efl.Part)
130 class.constructor; 130 class.constructor;
131 Efl.Object.constructor; 131 Efl.Object.constructor;
132 Efl.Gfx.visible.set; 132 Efl.Gfx.visible.set;
133 Efl.Canvas.Group.group_move; 133 Efl.Gfx.position.set;
134 Efl.Canvas.Group.group_add; 134 Efl.Canvas.Group.group_add;
135 Efl.Canvas.Group.group_del; 135 Efl.Canvas.Group.group_del;
136 Efl.Canvas.Group.group_resize; 136 Efl.Canvas.Group.group_resize;
diff --git a/src/lib/elementary/elm_notify.c b/src/lib/elementary/elm_notify.c
index 40c8f0ad61..80ad35ef05 100644
--- a/src/lib/elementary/elm_notify.c
+++ b/src/lib/elementary/elm_notify.c
@@ -240,14 +240,17 @@ _elm_notify_efl_canvas_group_group_resize(Eo *obj, Elm_Notify_Data *sd, Evas_Coo
240} 240}
241 241
242EOLIAN static void 242EOLIAN static void
243_elm_notify_efl_canvas_group_group_move(Eo *obj, Elm_Notify_Data *sd, Evas_Coord x, Evas_Coord y) 243_elm_notify_efl_gfx_position_set(Eo *obj, Elm_Notify_Data *sd, Evas_Coord x, Evas_Coord y)
244{ 244{
245 Evas_Coord w, h; 245 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
246 return;
246 247
247 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 248 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
248 249
249 if (!sd->parent && sd->content) 250 if (!sd->parent && sd->content)
250 { 251 {
252 Evas_Coord w, h;
253
251 evas_object_geometry_get(obj, NULL, NULL, &w, &h); 254 evas_object_geometry_get(obj, NULL, NULL, &w, &h);
252 _notify_move_to_orientation(obj, x, y, w, h); 255 _notify_move_to_orientation(obj, x, y, w, h);
253 } 256 }
diff --git a/src/lib/elementary/elm_notify.eo b/src/lib/elementary/elm_notify.eo
index 84790ab711..93148843d7 100644
--- a/src/lib/elementary/elm_notify.eo
+++ b/src/lib/elementary/elm_notify.eo
@@ -80,7 +80,7 @@ class Elm.Notify (Elm.Widget, Efl.Container, Efl.Part)
80 class.constructor; 80 class.constructor;
81 Efl.Object.constructor; 81 Efl.Object.constructor;
82 Efl.Gfx.visible.set; 82 Efl.Gfx.visible.set;
83 Efl.Canvas.Group.group_move; 83 Efl.Gfx.position.set;
84 Efl.Canvas.Group.group_add; 84 Efl.Canvas.Group.group_add;
85 Efl.Canvas.Group.group_del; 85 Efl.Canvas.Group.group_del;
86 Efl.Canvas.Group.group_resize; 86 Efl.Canvas.Group.group_resize;
diff --git a/src/lib/elementary/elm_pan.eo b/src/lib/elementary/elm_pan.eo
index dcb7cb9573..d89fedf2f6 100644
--- a/src/lib/elementary/elm_pan.eo
+++ b/src/lib/elementary/elm_pan.eo
@@ -44,7 +44,7 @@ class Elm.Pan (Efl.Canvas.Group.Clipped)
44 Efl.Object.constructor; 44 Efl.Object.constructor;
45 class.constructor; 45 class.constructor;
46 Efl.Gfx.visible.set; 46 Efl.Gfx.visible.set;
47 Efl.Canvas.Group.group_move; 47 Efl.Gfx.position.set;
48 Efl.Canvas.Group.group_add; 48 Efl.Canvas.Group.group_add;
49 Efl.Canvas.Group.group_del; 49 Efl.Canvas.Group.group_del;
50 Efl.Canvas.Group.group_resize; 50 Efl.Canvas.Group.group_resize;
diff --git a/src/lib/elementary/elm_panel.c b/src/lib/elementary/elm_panel.c
index 2cbeebf291..8eb079ceea 100644
--- a/src/lib/elementary/elm_panel.c
+++ b/src/lib/elementary/elm_panel.c
@@ -1097,9 +1097,12 @@ _elm_panel_efl_canvas_group_group_del(Eo *obj, Elm_Panel_Data *sd)
1097} 1097}
1098 1098
1099EOLIAN static void 1099EOLIAN static void
1100_elm_panel_efl_canvas_group_group_move(Eo *obj, Elm_Panel_Data *sd, Evas_Coord x, Evas_Coord y) 1100_elm_panel_efl_gfx_position_set(Eo *obj, Elm_Panel_Data *sd, Evas_Coord x, Evas_Coord y)
1101{ 1101{
1102 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 1102 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
1103 return;
1104
1105 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
1103 1106
1104 evas_object_move(sd->hit_rect, x, y); 1107 evas_object_move(sd->hit_rect, x, y);
1105} 1108}
diff --git a/src/lib/elementary/elm_panel.eo b/src/lib/elementary/elm_panel.eo
index 98df79a482..41fab5d43a 100644
--- a/src/lib/elementary/elm_panel.eo
+++ b/src/lib/elementary/elm_panel.eo
@@ -69,11 +69,11 @@ class Elm.Panel (Elm.Layout, Elm.Interface_Scrollable,
69 implements { 69 implements {
70 class.constructor; 70 class.constructor;
71 Efl.Object.constructor; 71 Efl.Object.constructor;
72 Efl.Gfx.position.set;
72 Efl.Canvas.Group.group_add; 73 Efl.Canvas.Group.group_add;
73 Efl.Canvas.Group.group_member_add; 74 Efl.Canvas.Group.group_member_add;
74 Efl.Canvas.Group.group_del; 75 Efl.Canvas.Group.group_del;
75 Efl.Canvas.Group.group_resize; 76 Efl.Canvas.Group.group_resize;
76 Efl.Canvas.Group.group_move;
77 Elm.Widget.theme_apply; 77 Elm.Widget.theme_apply;
78 Elm.Widget.focus_next_manager_is; 78 Elm.Widget.focus_next_manager_is;
79 Elm.Widget.focus_next; 79 Elm.Widget.focus_next;
diff --git a/src/lib/elementary/elm_photocam.c b/src/lib/elementary/elm_photocam.c
index aac9448a76..e5e987150d 100644
--- a/src/lib/elementary/elm_photocam.c
+++ b/src/lib/elementary/elm_photocam.c
@@ -145,8 +145,13 @@ _calc_job_cb(void *data)
145} 145}
146 146
147EOLIAN static void 147EOLIAN static void
148_elm_photocam_pan_efl_canvas_group_group_move(Eo *obj EINA_UNUSED, Elm_Photocam_Pan_Data *psd, Evas_Coord x EINA_UNUSED, Evas_Coord y EINA_UNUSED) 148_elm_photocam_pan_efl_gfx_position_set(Eo *obj, Elm_Photocam_Pan_Data *psd, Evas_Coord x, Evas_Coord y)
149{ 149{
150 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
151 return;
152
153 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y);
154
150 ecore_job_del(psd->wsd->calc_job); 155 ecore_job_del(psd->wsd->calc_job);
151 psd->wsd->calc_job = ecore_job_add(_calc_job_cb, psd->wobj); 156 psd->wsd->calc_job = ecore_job_add(_calc_job_cb, psd->wobj);
152} 157}
@@ -1475,9 +1480,12 @@ _elm_photocam_efl_canvas_group_group_del(Eo *obj, Elm_Photocam_Data *sd)
1475} 1480}
1476 1481
1477EOLIAN static void 1482EOLIAN static void
1478_elm_photocam_efl_canvas_group_group_move(Eo *obj, Elm_Photocam_Data *sd, Evas_Coord x, Evas_Coord y) 1483_elm_photocam_efl_gfx_position_set(Eo *obj, Elm_Photocam_Data *sd, Evas_Coord x, Evas_Coord y)
1479{ 1484{
1480 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 1485 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
1486 return;
1487
1488 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
1481 1489
1482 evas_object_move(sd->hit_rect, x, y); 1490 evas_object_move(sd->hit_rect, x, y);
1483} 1491}
diff --git a/src/lib/elementary/elm_photocam.eo b/src/lib/elementary/elm_photocam.eo
index 88ae560e70..c04bc2ab58 100644
--- a/src/lib/elementary/elm_photocam.eo
+++ b/src/lib/elementary/elm_photocam.eo
@@ -189,7 +189,7 @@ class Elm.Photocam (Elm.Widget, Elm.Interface_Scrollable,
189 implements { 189 implements {
190 class.constructor; 190 class.constructor;
191 Efl.Object.constructor; 191 Efl.Object.constructor;
192 Efl.Canvas.Group.group_move; 192 Efl.Gfx.position.set;
193 Efl.Canvas.Group.group_add; 193 Efl.Canvas.Group.group_add;
194 Efl.Canvas.Group.group_del; 194 Efl.Canvas.Group.group_del;
195 Efl.Canvas.Group.group_member_add; 195 Efl.Canvas.Group.group_member_add;
diff --git a/src/lib/elementary/elm_photocam_pan.eo b/src/lib/elementary/elm_photocam_pan.eo
index ee224c9176..c3fcda1de7 100644
--- a/src/lib/elementary/elm_photocam_pan.eo
+++ b/src/lib/elementary/elm_photocam_pan.eo
@@ -6,8 +6,8 @@ class Elm.Photocam.Pan (Elm.Pan)
6 implements { 6 implements {
7 class.constructor; 7 class.constructor;
8 Efl.Object.destructor; 8 Efl.Object.destructor;
9 Efl.Gfx.position.set;
9 Efl.Canvas.Group.group_calculate; 10 Efl.Canvas.Group.group_calculate;
10 Efl.Canvas.Group.group_move;
11 Efl.Canvas.Group.group_resize; 11 Efl.Canvas.Group.group_resize;
12 Elm.Pan.content_size.get; 12 Elm.Pan.content_size.get;
13 Elm.Pan.pos; 13 Elm.Pan.pos;
diff --git a/src/lib/elementary/elm_scroller.c b/src/lib/elementary/elm_scroller.c
index bf8c617110..371d893c6a 100644
--- a/src/lib/elementary/elm_scroller.c
+++ b/src/lib/elementary/elm_scroller.c
@@ -919,9 +919,12 @@ _elm_scroller_efl_canvas_group_group_add(Eo *obj, Elm_Scroller_Data *priv)
919} 919}
920 920
921EOLIAN static void 921EOLIAN static void
922_elm_scroller_efl_canvas_group_group_move(Eo *obj, Elm_Scroller_Data *sd, Evas_Coord x, Evas_Coord y) 922_elm_scroller_efl_gfx_position_set(Eo *obj, Elm_Scroller_Data *sd, Evas_Coord x, Evas_Coord y)
923{ 923{
924 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 924 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
925 return;
926
927 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
925 928
926 evas_object_move(sd->hit_rect, x, y); 929 evas_object_move(sd->hit_rect, x, y);
927} 930}
diff --git a/src/lib/elementary/elm_scroller.eo b/src/lib/elementary/elm_scroller.eo
index df68cbab53..b8d2ee776c 100644
--- a/src/lib/elementary/elm_scroller.eo
+++ b/src/lib/elementary/elm_scroller.eo
@@ -60,7 +60,7 @@ class Elm.Scroller (Elm.Layout, Elm.Interface_Scrollable,
60 implements { 60 implements {
61 class.constructor; 61 class.constructor;
62 Efl.Object.constructor; 62 Efl.Object.constructor;
63 Efl.Canvas.Group.group_move; 63 Efl.Gfx.position.set;
64 Efl.Canvas.Group.group_add; 64 Efl.Canvas.Group.group_add;
65 Efl.Canvas.Group.group_member_add; 65 Efl.Canvas.Group.group_member_add;
66 Efl.Canvas.Group.group_resize; 66 Efl.Canvas.Group.group_resize;
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index f73fd59b87..0b96c5c207 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -2935,9 +2935,12 @@ _elm_toolbar_efl_canvas_group_group_del(Eo *obj, Elm_Toolbar_Data *sd)
2935} 2935}
2936 2936
2937EOLIAN static void 2937EOLIAN static void
2938_elm_toolbar_efl_canvas_group_group_move(Eo *obj, Elm_Toolbar_Data *sd, Evas_Coord x, Evas_Coord y) 2938_elm_toolbar_efl_gfx_position_set(Eo *obj, Elm_Toolbar_Data *sd, Evas_Coord x, Evas_Coord y)
2939{ 2939{
2940 efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y); 2940 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
2941 return;
2942
2943 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
2941 2944
2942 evas_object_move(sd->hit_rect, x, y); 2945 evas_object_move(sd->hit_rect, x, y);
2943} 2946}
diff --git a/src/lib/elementary/elm_toolbar.eo b/src/lib/elementary/elm_toolbar.eo
index 1dc6fc638b..1c961fcc44 100644
--- a/src/lib/elementary/elm_toolbar.eo
+++ b/src/lib/elementary/elm_toolbar.eo
@@ -345,8 +345,8 @@ class Elm.Toolbar (Elm.Widget, Elm.Interface_Scrollable, Efl.Orientation,
345 implements { 345 implements {
346 class.constructor; 346 class.constructor;
347 Efl.Object.constructor; 347 Efl.Object.constructor;
348 Efl.Gfx.position.set;
348 Efl.Canvas.Group.group_calculate; 349 Efl.Canvas.Group.group_calculate;
349 Efl.Canvas.Group.group_move;
350 Efl.Canvas.Group.group_add; 350 Efl.Canvas.Group.group_add;
351 Efl.Canvas.Group.group_del; 351 Efl.Canvas.Group.group_del;
352 Efl.Canvas.Group.group_member_add; 352 Efl.Canvas.Group.group_member_add;
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index 82729f8dcb..292fc3e933 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -501,8 +501,13 @@ _smart_reconfigure(Elm_Widget_Smart_Data *sd)
501} 501}
502 502
503EOLIAN static void 503EOLIAN static void
504_elm_widget_efl_canvas_group_group_move(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Evas_Coord x, Evas_Coord y) 504_elm_widget_efl_gfx_position_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Evas_Coord x, Evas_Coord y)
505{ 505{
506 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
507 return;
508
509 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
510
506 sd->x = x; 511 sd->x = x;
507 sd->y = y; 512 sd->y = y;
508 513
diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo
index 1b3ca7d168..bab0e4fafe 100644
--- a/src/lib/elementary/elm_widget.eo
+++ b/src/lib/elementary/elm_widget.eo
@@ -849,10 +849,10 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, Elm.Inter
849 Efl.Object.provider_find; 849 Efl.Object.provider_find;
850 Efl.Gfx.color.set; 850 Efl.Gfx.color.set;
851 Efl.Gfx.visible.set; 851 Efl.Gfx.visible.set;
852 Efl.Gfx.position.set;
852 Efl.Canvas.Object.clip.set; 853 Efl.Canvas.Object.clip.set;
853 Efl.Canvas.Object.no_render.set; 854 Efl.Canvas.Object.no_render.set;
854 Efl.Canvas.Group.group_calculate; 855 Efl.Canvas.Group.group_calculate;
855 Efl.Canvas.Group.group_move;
856 Efl.Canvas.Group.group_member_del; 856 Efl.Canvas.Group.group_member_del;
857 Efl.Canvas.Group.group_add; 857 Efl.Canvas.Group.group_add;
858 Efl.Canvas.Group.group_del; 858 Efl.Canvas.Group.group_del;
diff --git a/src/lib/emotion/efl_canvas_video.eo b/src/lib/emotion/efl_canvas_video.eo
index 4851f2b190..fb9b96d4ae 100644
--- a/src/lib/emotion/efl_canvas_video.eo
+++ b/src/lib/emotion/efl_canvas_video.eo
@@ -53,10 +53,10 @@ class Efl.Canvas.Video (Efl.Canvas.Group, Efl.File, Efl.Player, Efl.Image, Efl.I
53 Efl.Object.constructor; 53 Efl.Object.constructor;
54 Efl.Gfx.color.set; 54 Efl.Gfx.color.set;
55 Efl.Gfx.visible.set; 55 Efl.Gfx.visible.set;
56 Efl.Gfx.position.set;
56 Efl.Canvas.Object.clip.set; 57 Efl.Canvas.Object.clip.set;
57 Efl.Canvas.Group.group_add; 58 Efl.Canvas.Group.group_add;
58 Efl.Canvas.Group.group_del; 59 Efl.Canvas.Group.group_del;
59 Efl.Canvas.Group.group_move;
60 Efl.Canvas.Group.group_resize; 60 Efl.Canvas.Group.group_resize;
61 Efl.File.file.set; 61 Efl.File.file.set;
62 Efl.File.file.get; 62 Efl.File.file.get;
diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c
index e702c1a9eb..266473905c 100644
--- a/src/lib/emotion/emotion_smart.c
+++ b/src/lib/emotion/emotion_smart.c
@@ -1929,11 +1929,16 @@ _efl_canvas_video_efl_canvas_group_group_del(Evas_Object *obj EINA_UNUSED, Efl_C
1929} 1929}
1930 1930
1931EOLIAN static void 1931EOLIAN static void
1932_efl_canvas_video_efl_canvas_group_group_move(Evas_Object *obj, Efl_Canvas_Video_Data *sd, Evas_Coord x, Evas_Coord y) 1932_efl_canvas_video_efl_gfx_position_set(Evas_Object *obj, Efl_Canvas_Video_Data *sd, Evas_Coord x, Evas_Coord y)
1933{ 1933{
1934 int w, h; 1934 int w, h;
1935 1935
1936 evas_object_geometry_get(obj, NULL, NULL, &w, &h); 1936 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
1937 return;
1938
1939 efl_gfx_size_get(obj, &w, &h);
1940 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
1941
1937 _clipper_position_size_update(obj, x, y, w, h, sd->video.w, sd->video.h); 1942 _clipper_position_size_update(obj, x, y, w, h, sd->video.w, sd->video.h);
1938 evas_object_move(sd->bg, x, y); 1943 evas_object_move(sd->bg, x, y);
1939} 1944}
diff --git a/src/lib/evas/canvas/efl_canvas_group.eo b/src/lib/evas/canvas/efl_canvas_group.eo
index 1f80b4d504..1649fa145d 100644
--- a/src/lib/evas/canvas/efl_canvas_group.eo
+++ b/src/lib/evas/canvas/efl_canvas_group.eo
@@ -63,14 +63,6 @@ class Efl.Canvas.Group (Efl.Canvas.Object)
63 return: free(own(iterator<Efl.Gfx>), eina_iterator_free); 63 return: free(own(iterator<Efl.Gfx>), eina_iterator_free);
64 legacy: evas_object_smart_iterator_new; 64 legacy: evas_object_smart_iterator_new;
65 } 65 }
66 group_move {
67 [[No description supplied by the EAPI.]]
68 legacy: null;
69 params {
70 @in x: Evas.Coord;
71 @in y: Evas.Coord;
72 }
73 }
74 group_add { 66 group_add {
75 [[Instantiates a new smart object described by $s. 67 [[Instantiates a new smart object described by $s.
76 68
diff --git a/src/lib/evas/canvas/efl_canvas_group_clipped.eo b/src/lib/evas/canvas/efl_canvas_group_clipped.eo
index f1616de813..396f4530cf 100644
--- a/src/lib/evas/canvas/efl_canvas_group_clipped.eo
+++ b/src/lib/evas/canvas/efl_canvas_group_clipped.eo
@@ -5,9 +5,9 @@ abstract Efl.Canvas.Group.Clipped (Efl.Canvas.Group)
5 implements { 5 implements {
6 Efl.Gfx.color.set; 6 Efl.Gfx.color.set;
7 Efl.Gfx.visible.set; 7 Efl.Gfx.visible.set;
8 Efl.Gfx.position.set;
8 Efl.Canvas.Object.clip.set; 9 Efl.Canvas.Object.clip.set;
9 Efl.Canvas.Object.no_render.set; 10 Efl.Canvas.Object.no_render.set;
10 Efl.Canvas.Group.group_move;
11 Efl.Canvas.Group.group_member_del; 11 Efl.Canvas.Group.group_member_del;
12 Efl.Canvas.Group.group_add; 12 Efl.Canvas.Group.group_add;
13 Efl.Canvas.Group.group_del; 13 Efl.Canvas.Group.group_del;
diff --git a/src/lib/evas/canvas/evas_object_intercept.c b/src/lib/evas/canvas/evas_object_intercept.c
index d5fa3efcbf..f653f02d9a 100644
--- a/src/lib/evas/canvas/evas_object_intercept.c
+++ b/src/lib/evas/canvas/evas_object_intercept.c
@@ -111,10 +111,17 @@ _evas_object_intercept_call(Evas_Object *eo_obj, Evas_Object_Intercept_Cb_Type c
111 else return evas_object_intercept_call_hide(eo_obj, obj); 111 else return evas_object_intercept_call_hide(eo_obj, obj);
112 112
113 case EVAS_OBJECT_INTERCEPT_CB_MOVE: 113 case EVAS_OBJECT_INTERCEPT_CB_MOVE:
114 if (!obj->interceptors) return 0; 114 if (obj->doing.in_move > 0)
115 {
116 WRN("evas_object_move() called on object %p (%s) in the middle "
117 "of moving the same object", eo_obj, efl_class_name_get(eo_obj));
118 return 1;
119 }
115 va_start(args, internal); 120 va_start(args, internal);
116 i = va_arg(args, int); 121 i = va_arg(args, int);
117 j = va_arg(args, int); 122 j = va_arg(args, int);
123 if ((obj->cur->geometry.x == i) && (obj->cur->geometry.y == j)) goto end_block;
124 if (!obj->interceptors) goto end_noblock;
118 blocked = evas_object_intercept_call_move(eo_obj, obj, i, j); 125 blocked = evas_object_intercept_call_move(eo_obj, obj, i, j);
119 break; 126 break;
120 127
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index d25496345a..4a3c2d233c 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -795,19 +795,9 @@ _efl_canvas_object_efl_gfx_position_set(Eo *eo_obj, Evas_Object_Protected_Data *
795 Eina_Bool pass = EINA_FALSE, freeze = EINA_FALSE; 795 Eina_Bool pass = EINA_FALSE, freeze = EINA_FALSE;
796 Eina_Bool source_invisible = EINA_FALSE; 796 Eina_Bool source_invisible = EINA_FALSE;
797 797
798 if (obj->delete_me) return;
799 if (!obj->layer) return;
800
801 evas_object_async_block(obj); 798 evas_object_async_block(obj);
802 if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 1, x, y)) return; 799 if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 1, x, y))
803 800 return;
804 if (obj->doing.in_move > 0)
805 {
806 WRN("evas_object_move() called on object %p when in the middle of moving the same object", obj);
807 return;
808 }
809
810 if ((obj->cur->geometry.x == x) && (obj->cur->geometry.y == y)) return;
811 801
812 Evas_Map *map; 802 Evas_Map *map;
813 map = (Evas_Map *) evas_object_map_get(eo_obj); 803 map = (Evas_Map *) evas_object_map_get(eo_obj);
@@ -830,10 +820,8 @@ _efl_canvas_object_efl_gfx_position_set(Eo *eo_obj, Evas_Object_Protected_Data *
830 } 820 }
831 obj->doing.in_move++; 821 obj->doing.in_move++;
832 822
833 if (obj->is_smart) 823 if (obj->is_smart && obj->smart.smart && obj->smart.smart->smart_class->move)
834 { 824 obj->smart.smart->smart_class->move(eo_obj, x, y);
835 efl_canvas_group_move(eo_obj, x, y);
836 }
837 825
838 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur) 826 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
839 { 827 {
diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c
index b3ff29c74c..359de50e7f 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -642,16 +642,6 @@ _efl_canvas_group_group_resize(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Evas_
642} 642}
643 643
644EOLIAN static void 644EOLIAN static void
645_efl_canvas_group_group_move(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Evas_Coord x, Evas_Coord y)
646{
647 // If this function is reached, so we do nothing except trying to call
648 // the function of the legacy smart class.
649 Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
650 Evas_Smart *s = obj->smart.smart;
651 if (s && s->smart_class->move) s->smart_class->move(eo_obj, x, y);
652}
653
654EOLIAN static void
655_efl_canvas_group_efl_canvas_object_no_render_set(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Eina_Bool enable) 645_efl_canvas_group_efl_canvas_object_no_render_set(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Eina_Bool enable)
656{ 646{
657 Evas_Object_Protected_Data *obj2; 647 Evas_Object_Protected_Data *obj2;
diff --git a/src/lib/evas/canvas/evas_object_smart_clipped.c b/src/lib/evas/canvas/evas_object_smart_clipped.c
index caab4286fe..6b4fcec4e6 100644
--- a/src/lib/evas/canvas/evas_object_smart_clipped.c
+++ b/src/lib/evas/canvas/evas_object_smart_clipped.c
@@ -86,14 +86,18 @@ evas_object_smart_clipped_smart_move(Evas_Object *eo_obj, Evas_Coord x, Evas_Coo
86{ 86{
87 Evas_Coord orig_x, orig_y; 87 Evas_Coord orig_x, orig_y;
88 88
89 evas_object_geometry_get(eo_obj, &orig_x, &orig_y, NULL, NULL); 89 efl_gfx_position_get(eo_obj, &orig_x, &orig_y);
90 evas_object_smart_move_children_relative(eo_obj, x - orig_x, y - orig_y); 90 evas_object_smart_move_children_relative(eo_obj, x - orig_x, y - orig_y);
91} 91}
92 92
93EOLIAN static void 93EOLIAN static void
94_efl_canvas_group_clipped_efl_canvas_group_group_move(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Coord x, Evas_Coord y) 94_efl_canvas_group_clipped_efl_gfx_position_set(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Coord x, Evas_Coord y)
95{ 95{
96 if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
97 return;
98
96 evas_object_smart_clipped_smart_move(eo_obj, x, y); 99 evas_object_smart_clipped_smart_move(eo_obj, x, y);
100 efl_gfx_position_set(efl_super(eo_obj, MY_CLASS), x, y);
97} 101}
98 102
99static void 103static void