summaryrefslogtreecommitdiff
path: root/src/lib/elementary
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary')
-rw-r--r--src/lib/elementary/efl_ui_grid_static.c16
-rw-r--r--src/lib/elementary/efl_ui_image.c12
-rw-r--r--src/lib/elementary/efl_ui_image_zoomable.c15
-rw-r--r--src/lib/elementary/efl_ui_text.c9
-rw-r--r--src/lib/elementary/efl_ui_textpath.c47
-rw-r--r--src/lib/elementary/efl_ui_win.c38
-rw-r--r--src/lib/elementary/elm_diskselector.c9
-rw-r--r--src/lib/elementary/elm_entry.c9
-rw-r--r--src/lib/elementary/elm_gengrid.c15
-rw-r--r--src/lib/elementary/elm_genlist.c15
-rw-r--r--src/lib/elementary/elm_hover.c8
-rw-r--r--src/lib/elementary/elm_interface_scrollable.c10
-rw-r--r--src/lib/elementary/elm_list.c9
-rw-r--r--src/lib/elementary/elm_map.c15
-rw-r--r--src/lib/elementary/elm_mapbuf.c6
-rw-r--r--src/lib/elementary/elm_menu.c15
-rw-r--r--src/lib/elementary/elm_notify.c14
-rw-r--r--src/lib/elementary/elm_panel.c9
-rw-r--r--src/lib/elementary/elm_scroller.c9
-rw-r--r--src/lib/elementary/elm_toolbar.c9
-rw-r--r--src/lib/elementary/elm_widget.c10
21 files changed, 143 insertions, 156 deletions
diff --git a/src/lib/elementary/efl_ui_grid_static.c b/src/lib/elementary/efl_ui_grid_static.c
index dfa128a..fb5601a 100644
--- a/src/lib/elementary/efl_ui_grid_static.c
+++ b/src/lib/elementary/efl_ui_grid_static.c
@@ -26,9 +26,9 @@ _efl_ui_grid_static_efl_pack_layout_layout_update(Eo *obj, void *_pd EINA_UNUSED
26 Efl_Ui_Grid_Data *gd; 26 Efl_Ui_Grid_Data *gd;
27 Grid_Item *gi; 27 Grid_Item *gi;
28 Evas *e; 28 Evas *e;
29 Evas_Coord x, y, w, h;
30 long long xl, yl, wl, hl, vwl, vhl; 29 long long xl, yl, wl, hl, vwl, vhl;
31 Eina_Bool mirror; 30 Eina_Bool mirror;
31 Eina_Rect r;
32 32
33 gd = efl_data_scope_get(obj, EFL_UI_GRID_CLASS); 33 gd = efl_data_scope_get(obj, EFL_UI_GRID_CLASS);
34 if (!gd->items) return; 34 if (!gd->items) return;
@@ -36,12 +36,11 @@ _efl_ui_grid_static_efl_pack_layout_layout_update(Eo *obj, void *_pd EINA_UNUSED
36 e = evas_object_evas_get(obj); 36 e = evas_object_evas_get(obj);
37 efl_event_freeze(e); 37 efl_event_freeze(e);
38 38
39 efl_gfx_position_get(obj, &x, &y); 39 r = efl_gfx_geometry_get(obj);
40 efl_gfx_size_get(obj, &w, &h); 40 xl = r.x;
41 xl = x; 41 yl = r.y;
42 yl = y; 42 wl = r.w;
43 wl = w; 43 hl = r.h;
44 hl = h;
45 mirror = efl_ui_mirrored_get(obj); 44 mirror = efl_ui_mirrored_get(obj);
46 45
47 if (!gd->req_cols || !gd->req_rows) 46 if (!gd->req_cols || !gd->req_rows)
@@ -69,8 +68,7 @@ _efl_ui_grid_static_efl_pack_layout_layout_update(Eo *obj, void *_pd EINA_UNUSED
69 } 68 }
70 y1 = yl + ((hl * (long long)gi->row) / vhl); 69 y1 = yl + ((hl * (long long)gi->row) / vhl);
71 y2 = yl + ((hl * (long long)(gi->row + gi->row_span)) / vhl); 70 y2 = yl + ((hl * (long long)(gi->row + gi->row_span)) / vhl);
72 efl_gfx_position_set(gi->object, x1, y1); 71 efl_gfx_geometry_set(gi->object, EINA_RECT(x1, y1, x2 - x1, y2 - y1));
73 efl_gfx_size_set(gi->object, x2 - x1, y2 - y1);
74 } 72 }
75err: 73err:
76 efl_event_thaw(e); 74 efl_event_thaw(e);
diff --git a/src/lib/elementary/efl_ui_image.c b/src/lib/elementary/efl_ui_image.c
index 093e79b..b844665 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -615,16 +615,16 @@ _efl_ui_image_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Image_Data *sd)
615} 615}
616 616
617EOLIAN static void 617EOLIAN static void
618_efl_ui_image_efl_gfx_position_set(Eo *obj, Efl_Ui_Image_Data *sd, Evas_Coord x, Evas_Coord y) 618_efl_ui_image_efl_gfx_position_set(Eo *obj, Efl_Ui_Image_Data *sd, Eina_Position2D pos)
619{ 619{
620 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 620 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
621 return; 621 return;
622 622
623 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 623 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
624 624
625 if ((sd->img_x == x) && (sd->img_y == y)) return; 625 if ((sd->img_x == pos.x) && (sd->img_y == pos.y)) return;
626 sd->img_x = x; 626 sd->img_x = pos.x;
627 sd->img_y = y; 627 sd->img_y = pos.y;
628 628
629 /* takes care of moving */ 629 /* takes care of moving */
630 _efl_ui_image_internal_sizing_eval(obj, sd); 630 _efl_ui_image_internal_sizing_eval(obj, sd);
diff --git a/src/lib/elementary/efl_ui_image_zoomable.c b/src/lib/elementary/efl_ui_image_zoomable.c
index 0052e6b..e9922db 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -151,12 +151,12 @@ _calc_job_cb(void *data)
151} 151}
152 152
153EOLIAN static void 153EOLIAN static void
154_efl_ui_image_zoomable_pan_efl_gfx_position_set(Eo *obj, Efl_Ui_Image_Zoomable_Pan_Data *psd, Evas_Coord x, Evas_Coord y) 154_efl_ui_image_zoomable_pan_efl_gfx_position_set(Eo *obj, Efl_Ui_Image_Zoomable_Pan_Data *psd, Eina_Position2D pos)
155{ 155{
156 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 156 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
157 return; 157 return;
158 158
159 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y); 159 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), pos);
160 160
161 ecore_job_del(psd->wsd->calc_job); 161 ecore_job_del(psd->wsd->calc_job);
162 psd->wsd->calc_job = ecore_job_add(_calc_job_cb, psd->wobj); 162 psd->wsd->calc_job = ecore_job_add(_calc_job_cb, psd->wobj);
@@ -1505,14 +1505,13 @@ _efl_ui_image_zoomable_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Image_Zoomable
1505} 1505}
1506 1506
1507EOLIAN static void 1507EOLIAN static void
1508_efl_ui_image_zoomable_efl_gfx_position_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, Evas_Coord x, Evas_Coord y) 1508_efl_ui_image_zoomable_efl_gfx_position_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, Eina_Position2D pos)
1509{ 1509{
1510 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 1510 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
1511 return; 1511 return;
1512 1512
1513 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 1513 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
1514 1514 efl_gfx_position_set(sd->hit_rect, pos);
1515 evas_object_move(sd->hit_rect, x, y);
1516} 1515}
1517 1516
1518EOLIAN static void 1517EOLIAN static void
diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index a589e59..fe4287b 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -3263,14 +3263,13 @@ _efl_ui_text_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Text_Data *sd)
3263} 3263}
3264 3264
3265EOLIAN static void 3265EOLIAN static void
3266_efl_ui_text_efl_gfx_position_set(Eo *obj, Efl_Ui_Text_Data *sd, Evas_Coord x, Evas_Coord y) 3266_efl_ui_text_efl_gfx_position_set(Eo *obj, Efl_Ui_Text_Data *sd, Eina_Position2D pos)
3267{ 3267{
3268 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 3268 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
3269 return; 3269 return;
3270 3270
3271 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 3271 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
3272 3272 efl_gfx_position_set(sd->hit_rect, pos);
3273 evas_object_move(sd->hit_rect, x, y);
3274 3273
3275 if (sd->hoversel) _hoversel_position(obj); 3274 if (sd->hoversel) _hoversel_position(obj);
3276 3275
diff --git a/src/lib/elementary/efl_ui_textpath.c b/src/lib/elementary/efl_ui_textpath.c
index f4ac2a8..c915ca9 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -293,6 +293,7 @@ _path_data_get(Eo *obj, Efl_Ui_Textpath_Data *pd, Eina_Bool set_min)
293 const Efl_Gfx_Path_Command_Type *cmd; 293 const Efl_Gfx_Path_Command_Type *cmd;
294 const double *points; 294 const double *points;
295 Efl_Ui_Textpath_Segment *seg; 295 Efl_Ui_Textpath_Segment *seg;
296 Eina_Position2D opos;
296 297
297 EINA_INLIST_FREE(pd->segments, seg) 298 EINA_INLIST_FREE(pd->segments, seg)
298 { 299 {
@@ -300,44 +301,43 @@ _path_data_get(Eo *obj, Efl_Ui_Textpath_Data *pd, Eina_Bool set_min)
300 free(seg); 301 free(seg);
301 } 302 }
302 303
303 Evas_Coord x, y; 304 opos = efl_gfx_position_get(obj);
304 efl_gfx_position_get(obj, &x, &y);
305 305
306 pd->total_length = 0; 306 pd->total_length = 0;
307 efl_gfx_path_get(obj, &cmd, &points); 307 efl_gfx_path_get(obj, &cmd, &points);
308 if (cmd) 308 if (cmd)
309 { 309 {
310 int pos = -1; 310 int pos = -1;
311 Eina_Rectangle *rect = eina_rectangle_new(0, 0, 0, 0);
312 double px0 = 0.0, py0 = 0.0, ctrl_x0, ctrl_y0, ctrl_x1, ctrl_y1, px1, py1; 311 double px0 = 0.0, py0 = 0.0, ctrl_x0, ctrl_y0, ctrl_x1, ctrl_y1, px1, py1;
312 Eina_Rect rect = EINA_RECT_ZERO();
313 313
314 while (*cmd != EFL_GFX_PATH_COMMAND_TYPE_END) 314 while (*cmd != EFL_GFX_PATH_COMMAND_TYPE_END)
315 { 315 {
316 if (*cmd == EFL_GFX_PATH_COMMAND_TYPE_MOVE_TO) 316 if (*cmd == EFL_GFX_PATH_COMMAND_TYPE_MOVE_TO)
317 { 317 {
318 pos++; 318 pos++;
319 px0 = points[pos] + x; 319 px0 = points[pos] + opos.x;
320 pos++; 320 pos++;
321 py0 = points[pos] + y; 321 py0 = points[pos] + opos.y;
322 } 322 }
323 else if (*cmd == EFL_GFX_PATH_COMMAND_TYPE_CUBIC_TO) 323 else if (*cmd == EFL_GFX_PATH_COMMAND_TYPE_CUBIC_TO)
324 { 324 {
325 Eina_Bezier bz; 325 Eina_Bezier bz;
326 double bx, by, bw, bh; 326 double bx, by, bw, bh;
327 Eina_Rectangle *brect; 327 Eina_Rect brect;
328 328
329 pos++; 329 pos++;
330 ctrl_x0 = points[pos] + x; 330 ctrl_x0 = points[pos] + opos.x;
331 pos++; 331 pos++;
332 ctrl_y0 = points[pos] + y; 332 ctrl_y0 = points[pos] + opos.y;
333 pos++; 333 pos++;
334 ctrl_x1 = points[pos] + x; 334 ctrl_x1 = points[pos] + opos.x;
335 pos++; 335 pos++;
336 ctrl_y1 = points[pos] + y; 336 ctrl_y1 = points[pos] + opos.y;
337 pos++; 337 pos++;
338 px1 = points[pos] + x; 338 px1 = points[pos] + opos.x;
339 pos++; 339 pos++;
340 py1 = points[pos] + y; 340 py1 = points[pos] + opos.y;
341 341
342 eina_bezier_values_set(&bz, px0, py0, ctrl_x0, ctrl_y0, ctrl_x1, ctrl_y1, px1, py1); 342 eina_bezier_values_set(&bz, px0, py0, ctrl_x0, ctrl_y0, ctrl_x1, ctrl_y1, px1, py1);
343 seg = malloc(sizeof(Efl_Ui_Textpath_Segment)); 343 seg = malloc(sizeof(Efl_Ui_Textpath_Segment));
@@ -359,18 +359,17 @@ _path_data_get(Eo *obj, Efl_Ui_Textpath_Data *pd, Eina_Bool set_min)
359 py0 = py1; 359 py0 = py1;
360 360
361 eina_bezier_bounds_get(&bz, &bx, &by, &bw, &bh); 361 eina_bezier_bounds_get(&bz, &bx, &by, &bw, &bh);
362 brect = eina_rectangle_new(bx, by, bw, bh); 362 brect = EINA_RECT(bx, by, bw, bh);
363 eina_rectangle_union(rect, brect); 363 eina_rectangle_union(&rect.rect, &brect.rect);
364 eina_rectangle_free(brect);
365 } 364 }
366 else if (*cmd == EFL_GFX_PATH_COMMAND_TYPE_LINE_TO) 365 else if (*cmd == EFL_GFX_PATH_COMMAND_TYPE_LINE_TO)
367 { 366 {
368 Eina_Rectangle *lrect; 367 Eina_Rect lrect;
369 368
370 pos++; 369 pos++;
371 px1 = points[pos] + x; 370 px1 = points[pos] + opos.x;
372 pos++; 371 pos++;
373 py1 = points[pos] + y; 372 py1 = points[pos] + opos.y;
374 373
375 seg = malloc(sizeof(Efl_Ui_Textpath_Segment)); 374 seg = malloc(sizeof(Efl_Ui_Textpath_Segment));
376 if (!seg) 375 if (!seg)
@@ -389,17 +388,15 @@ _path_data_get(Eo *obj, Efl_Ui_Textpath_Data *pd, Eina_Bool set_min)
389 pd->segments = eina_inlist_append(pd->segments, EINA_INLIST_GET(seg)); 388 pd->segments = eina_inlist_append(pd->segments, EINA_INLIST_GET(seg));
390 pd->total_length += seg->length; 389 pd->total_length += seg->length;
391 390
392 lrect = eina_rectangle_new(px0, py0, px1 - px0, py1 - py0); 391 lrect = EINA_RECT(px0, py0, px1 - px0, py1 - py0);
393 eina_rectangle_union(rect, lrect); 392 eina_rectangle_union(&rect.rect, &lrect.rect);
394 eina_rectangle_free(lrect);
395 } 393 }
396 cmd++; 394 cmd++;
397 } 395 }
398 if (set_min) 396 if (set_min)
399 { 397 {
400 efl_gfx_size_hint_min_set(obj, rect->w, rect->h); 398 efl_gfx_size_hint_min_set(obj, rect.w, rect.h);
401 } 399 }
402 eina_rectangle_free(rect);
403 } 400 }
404} 401}
405 402
@@ -565,9 +562,9 @@ _efl_ui_textpath_elm_widget_theme_apply(Eo *obj, Efl_Ui_Textpath_Data *pd)
565} 562}
566 563
567EOLIAN static void 564EOLIAN static void
568_efl_ui_textpath_efl_gfx_position_set(Eo *obj, Efl_Ui_Textpath_Data *pd, Evas_Coord x, Evas_Coord y) 565_efl_ui_textpath_efl_gfx_position_set(Eo *obj, Efl_Ui_Textpath_Data *pd, Eina_Position2D pos)
569{ 566{
570 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 567 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
571 _path_data_get(obj, pd, EINA_FALSE); 568 _path_data_get(obj, pd, EINA_FALSE);
572 _text_draw(pd); 569 _text_draw(pd);
573} 570}
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 7258c5f..bddf5bf 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -927,10 +927,10 @@ _elm_win_resize_job(void *data)
927 927
928 if (sd->main_menu) 928 if (sd->main_menu)
929 { 929 {
930 int mx, my; 930 Eina_Position2D pos;
931 931
932 efl_gfx_position_get(sd->main_menu, &mx, &my); 932 pos = efl_gfx_position_get(sd->main_menu);
933 elm_menu_move(sd->main_menu, mx, my); 933 elm_menu_move(sd->main_menu, pos.x, pos.y);
934 } 934 }
935 935
936 sd->response++; 936 sd->response++;
@@ -2922,17 +2922,17 @@ _elm_win_obj_intercept_show(void *data,
2922} 2922}
2923 2923
2924EOLIAN static void 2924EOLIAN static void
2925_efl_ui_win_efl_gfx_position_set(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord x, Evas_Coord y) 2925_efl_ui_win_efl_gfx_position_set(Eo *obj, Efl_Ui_Win_Data *sd, Eina_Position2D pos)
2926{ 2926{
2927 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 2927 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
2928 return; 2928 return;
2929 2929
2930 if (sd->img_obj) 2930 if (sd->img_obj)
2931 { 2931 {
2932 if ((x != sd->screen.x) || (y != sd->screen.y)) 2932 if ((pos.x != sd->screen.x) || (pos.y != sd->screen.y))
2933 { 2933 {
2934 sd->screen.x = x; 2934 sd->screen.x = pos.x;
2935 sd->screen.y = y; 2935 sd->screen.y = pos.y;
2936 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_MOVE, NULL); 2936 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_MOVE, NULL);
2937 } 2937 }
2938 goto super_skip; 2938 goto super_skip;
@@ -2942,19 +2942,19 @@ _efl_ui_win_efl_gfx_position_set(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord x, Eva
2942 if (!sd->response) 2942 if (!sd->response)
2943 { 2943 {
2944 sd->req_xy = EINA_TRUE; 2944 sd->req_xy = EINA_TRUE;
2945 sd->req_x = x; 2945 sd->req_x = pos.x;
2946 sd->req_y = y; 2946 sd->req_y = pos.y;
2947 TRAP(sd, move, x, y); 2947 TRAP(sd, move, pos.x, pos.y);
2948 } 2948 }
2949 if (!ecore_evas_override_get(sd->ee)) goto super_skip; 2949 if (!ecore_evas_override_get(sd->ee)) goto super_skip;
2950 } 2950 }
2951 2951
2952 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 2952 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
2953 2953
2954 if (ecore_evas_override_get(sd->ee)) 2954 if (ecore_evas_override_get(sd->ee))
2955 { 2955 {
2956 sd->screen.x = x; 2956 sd->screen.x = pos.x;
2957 sd->screen.y = y; 2957 sd->screen.y = pos.y;
2958 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_MOVE, NULL); 2958 efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_MOVE, NULL);
2959 } 2959 }
2960 if (sd->frame_obj) 2960 if (sd->frame_obj)
@@ -2963,13 +2963,13 @@ _efl_ui_win_efl_gfx_position_set(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord x, Eva
2963 /* TODO */ 2963 /* TODO */
2964 /* ecore_wl_window_update_location(sd->wl.win, x, y); */ 2964 /* ecore_wl_window_update_location(sd->wl.win, x, y); */
2965#endif 2965#endif
2966 sd->screen.x = x; 2966 sd->screen.x = pos.x;
2967 sd->screen.y = y; 2967 sd->screen.y = pos.y;
2968 } 2968 }
2969 if (sd->img_obj) 2969 if (sd->img_obj)
2970 { 2970 {
2971 sd->screen.x = x; 2971 sd->screen.x = pos.x;
2972 sd->screen.y = y; 2972 sd->screen.y = pos.y;
2973 } 2973 }
2974 2974
2975 return; 2975 return;
@@ -2979,7 +2979,7 @@ super_skip:
2979 * Ugly code flow: legacy code had an early return in smart_move, ie. 2979 * Ugly code flow: legacy code had an early return in smart_move, ie.
2980 * evas object move would be processed but smart object move would be 2980 * evas object move would be processed but smart object move would be
2981 * aborted. This super call tries to simulate that. */ 2981 * aborted. This super call tries to simulate that. */
2982 efl_gfx_position_set(efl_super(obj, EFL_CANVAS_GROUP_CLASS), x, y); 2982 efl_gfx_position_set(efl_super(obj, EFL_CANVAS_GROUP_CLASS), pos);
2983} 2983}
2984 2984
2985EOLIAN static void 2985EOLIAN static void
diff --git a/src/lib/elementary/elm_diskselector.c b/src/lib/elementary/elm_diskselector.c
index b5ae1d3..9e69f3c 100644
--- a/src/lib/elementary/elm_diskselector.c
+++ b/src/lib/elementary/elm_diskselector.c
@@ -1399,14 +1399,13 @@ _elm_diskselector_efl_canvas_group_group_del(Eo *obj, Elm_Diskselector_Data *sd)
1399} 1399}
1400 1400
1401EOLIAN static void 1401EOLIAN static void
1402_elm_diskselector_efl_gfx_position_set(Eo *obj, Elm_Diskselector_Data *sd, Evas_Coord x, Evas_Coord y) 1402_elm_diskselector_efl_gfx_position_set(Eo *obj, Elm_Diskselector_Data *sd, Eina_Position2D pos)
1403{ 1403{
1404 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 1404 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
1405 return; 1405 return;
1406 1406
1407 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 1407 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
1408 1408 efl_gfx_position_set(sd->hit_rect, pos);
1409 evas_object_move(sd->hit_rect, x, y);
1410} 1409}
1411 1410
1412EOLIAN static void 1411EOLIAN static void
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index 02fec56..790b3ff 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -3950,14 +3950,13 @@ _elm_entry_efl_canvas_group_group_del(Eo *obj, Elm_Entry_Data *sd)
3950} 3950}
3951 3951
3952EOLIAN static void 3952EOLIAN static void
3953_elm_entry_efl_gfx_position_set(Eo *obj, Elm_Entry_Data *sd, Evas_Coord x, Evas_Coord y) 3953_elm_entry_efl_gfx_position_set(Eo *obj, Elm_Entry_Data *sd, Eina_Position2D pos)
3954{ 3954{
3955 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 3955 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
3956 return; 3956 return;
3957 3957
3958 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 3958 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
3959 3959 efl_gfx_position_set(sd->hit_rect, pos);
3960 evas_object_move(sd->hit_rect, x, y);
3961 3960
3962 if (sd->hoversel) _hoversel_position(obj); 3961 if (sd->hoversel) _hoversel_position(obj);
3963 3962
diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c
index b700e67..710b81e 100644
--- a/src/lib/elementary/elm_gengrid.c
+++ b/src/lib/elementary/elm_gengrid.c
@@ -661,12 +661,12 @@ _elm_gengrid_pan_efl_object_destructor(Eo *obj, Elm_Gengrid_Pan_Data *psd)
661} 661}
662 662
663EOLIAN static void 663EOLIAN static void
664_elm_gengrid_pan_efl_gfx_position_set(Eo *obj, Elm_Gengrid_Pan_Data *psd, Evas_Coord x, Evas_Coord y) 664_elm_gengrid_pan_efl_gfx_position_set(Eo *obj, Elm_Gengrid_Pan_Data *psd, Eina_Position2D pos)
665{ 665{
666 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 666 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
667 return; 667 return;
668 668
669 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y); 669 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), pos);
670 670
671 ecore_job_del(psd->wsd->calc_job); 671 ecore_job_del(psd->wsd->calc_job);
672 psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wobj); 672 psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wobj);
@@ -4225,14 +4225,13 @@ _elm_gengrid_efl_canvas_group_group_del(Eo *obj, Elm_Gengrid_Data *sd)
4225} 4225}
4226 4226
4227EOLIAN static void 4227EOLIAN static void
4228_elm_gengrid_efl_gfx_position_set(Eo *obj, Elm_Gengrid_Data *sd, Evas_Coord x, Evas_Coord y) 4228_elm_gengrid_efl_gfx_position_set(Eo *obj, Elm_Gengrid_Data *sd, Eina_Position2D pos)
4229{ 4229{
4230 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 4230 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
4231 return; 4231 return;
4232 4232
4233 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 4233 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
4234 4234 efl_gfx_position_set(sd->hit_rect, pos);
4235 evas_object_move(sd->hit_rect, x, y);
4236} 4235}
4237 4236
4238EOLIAN static void 4237EOLIAN static void
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index a8800be..d66f11d 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -273,12 +273,12 @@ _elm_genlist_pan_efl_canvas_group_group_del(Eo *obj, Elm_Genlist_Pan_Data *psd)
273} 273}
274 274
275EOLIAN static void 275EOLIAN static void
276_elm_genlist_pan_efl_gfx_position_set(Eo *obj, Elm_Genlist_Pan_Data *psd, Evas_Coord x, Evas_Coord y) 276_elm_genlist_pan_efl_gfx_position_set(Eo *obj, Elm_Genlist_Pan_Data *psd, Eina_Position2D pos)
277{ 277{
278 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 278 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
279 return; 279 return;
280 280
281 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y); 281 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), pos);
282 282
283 psd->wsd->pan_changed = EINA_TRUE; 283 psd->wsd->pan_changed = EINA_TRUE;
284 evas_object_smart_changed(obj); 284 evas_object_smart_changed(obj);
@@ -5705,14 +5705,13 @@ _elm_genlist_efl_canvas_group_group_del(Eo *obj, Elm_Genlist_Data *sd)
5705} 5705}
5706 5706
5707EOLIAN static void 5707EOLIAN static void
5708_elm_genlist_efl_gfx_position_set(Eo *obj, Elm_Genlist_Data *sd, Evas_Coord x, Evas_Coord y) 5708_elm_genlist_efl_gfx_position_set(Eo *obj, Elm_Genlist_Data *sd, Eina_Position2D pos)
5709{ 5709{
5710 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 5710 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
5711 return; 5711 return;
5712 5712
5713 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 5713 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
5714 5714 efl_gfx_position_set(sd->hit_rect, pos);
5715 evas_object_move(sd->hit_rect, x, y);
5716} 5715}
5717 5716
5718EOLIAN static void 5717EOLIAN static void
diff --git a/src/lib/elementary/elm_hover.c b/src/lib/elementary/elm_hover.c
index 0bb2f5e..6b406e0 100644
--- a/src/lib/elementary/elm_hover.c
+++ b/src/lib/elementary/elm_hover.c
@@ -328,7 +328,7 @@ _elm_hover_elm_layout_sizing_eval(Eo *obj, Elm_Hover_Data *sd)
328 if (efl_isa(sd->parent, EFL_UI_WIN_CLASS)) 328 if (efl_isa(sd->parent, EFL_UI_WIN_CLASS))
329 { 329 {
330 if (efl_canvas_object_is_frame_object_get(obj)) 330 if (efl_canvas_object_is_frame_object_get(obj))
331 efl_gfx_position_get(obj, &x, &y); 331 evas_object_geometry_get(obj, &x, &y, NULL, NULL);
332 else 332 else
333 { 333 {
334 x = 0; 334 x = 0;
@@ -631,12 +631,12 @@ _elm_hover_efl_canvas_group_group_del(Eo *obj, Elm_Hover_Data *sd)
631} 631}
632 632
633EOLIAN static void 633EOLIAN static void
634_elm_hover_efl_gfx_position_set(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y) 634_elm_hover_efl_gfx_position_set(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED, Eina_Position2D pos)
635{ 635{
636 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 636 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
637 return; 637 return;
638 638
639 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 639 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
640 640
641 elm_layout_sizing_eval(obj); 641 elm_layout_sizing_eval(obj);
642} 642}
diff --git a/src/lib/elementary/elm_interface_scrollable.c b/src/lib/elementary/elm_interface_scrollable.c
index e659c1d..223c1fb 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -102,15 +102,15 @@ _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_gfx_position_set(Eo *obj, 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, Eina_Position2D pos)
106{ 106{
107 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 107 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
108 return; 108 return;
109 109
110 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y); 110 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), pos);
111 111
112 psd->x = x; 112 psd->x = pos.x;
113 psd->y = y; 113 psd->y = pos.y;
114 114
115 _elm_pan_update(psd); 115 _elm_pan_update(psd);
116} 116}
diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c
index 2d115a0..e740b38 100644
--- a/src/lib/elementary/elm_list.c
+++ b/src/lib/elementary/elm_list.c
@@ -2490,14 +2490,13 @@ _elm_list_efl_canvas_group_group_del(Eo *obj, Elm_List_Data *sd)
2490} 2490}
2491 2491
2492EOLIAN static void 2492EOLIAN static void
2493_elm_list_efl_gfx_position_set(Eo *obj, Elm_List_Data *sd, Evas_Coord x, Evas_Coord y) 2493_elm_list_efl_gfx_position_set(Eo *obj, Elm_List_Data *sd, Eina_Position2D pos)
2494{ 2494{
2495 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 2495 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
2496 return; 2496 return;
2497 2497
2498 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 2498 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
2499 2499 efl_gfx_position_set(sd->hit_rect, pos);
2500 evas_object_move(sd->hit_rect, x, y);
2501} 2500}
2502 2501
2503EOLIAN static void 2502EOLIAN static void
diff --git a/src/lib/elementary/elm_map.c b/src/lib/elementary/elm_map.c
index c22f6d9..e42a6a0 100644
--- a/src/lib/elementary/elm_map.c
+++ b/src/lib/elementary/elm_map.c
@@ -3932,12 +3932,12 @@ _elm_map_pan_efl_canvas_group_group_calculate(Eo *obj, Elm_Map_Pan_Data *psd)
3932} 3932}
3933 3933
3934EOLIAN static void 3934EOLIAN static void
3935_elm_map_pan_efl_gfx_position_set(Eo *obj, Elm_Map_Pan_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y) 3935_elm_map_pan_efl_gfx_position_set(Eo *obj, Elm_Map_Pan_Data *_pd EINA_UNUSED, Eina_Position2D pos)
3936{ 3936{
3937 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 3937 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
3938 return; 3938 return;
3939 3939
3940 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y); 3940 efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), pos);
3941 evas_object_smart_changed(obj); 3941 evas_object_smart_changed(obj);
3942} 3942}
3943 3943
@@ -4249,14 +4249,13 @@ _elm_map_efl_canvas_group_group_del(Eo *obj, Elm_Map_Data *sd)
4249} 4249}
4250 4250
4251EOLIAN static void 4251EOLIAN static void
4252_elm_map_efl_gfx_position_set(Eo *obj, Elm_Map_Data *sd, Evas_Coord x, Evas_Coord y) 4252_elm_map_efl_gfx_position_set(Eo *obj, Elm_Map_Data *sd, Eina_Position2D pos)
4253{ 4253{
4254 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 4254 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
4255 return; 4255 return;
4256 4256
4257 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 4257 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
4258 4258 efl_gfx_position_set(sd->hit_rect, pos);
4259 evas_object_move(sd->hit_rect, x, y);
4260} 4259}
4261 4260
4262EOLIAN static void 4261EOLIAN static void
diff --git a/src/lib/elementary/elm_mapbuf.c b/src/lib/elementary/elm_mapbuf.c
index 8ae1058..f0212e1 100644
--- a/src/lib/elementary/elm_mapbuf.c
+++ b/src/lib/elementary/elm_mapbuf.c
@@ -156,12 +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_gfx_position_set(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, Eina_Position2D pos)
160{ 160{
161 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 161 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
162 return; 162 return;
163 163
164 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 164 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
165 165
166 _mapbuf_auto_eval(obj, sd); 166 _mapbuf_auto_eval(obj, sd);
167 _mapbuf_auto_smooth(obj, sd); 167 _mapbuf_auto_smooth(obj, sd);
diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c
index c32e7a8..d188a04 100644
--- a/src/lib/elementary/elm_menu.c
+++ b/src/lib/elementary/elm_menu.c
@@ -97,17 +97,20 @@ _elm_menu_item_elm_widget_item_signal_emit(Eo *eo_item EINA_UNUSED, Elm_Menu_Ite
97static inline void 97static inline void
98_parent_geometry_get(Elm_Menu_Data *sd, int *x, int *y, int *w, int *h) 98_parent_geometry_get(Elm_Menu_Data *sd, int *x, int *y, int *w, int *h)
99{ 99{
100 evas_object_geometry_get(sd->parent, x, y, w, h); 100 Eina_Rect r;
101
102 r = efl_gfx_geometry_get(sd->parent);
101 if (efl_isa(sd->parent, EFL_UI_WIN_CLASS)) 103 if (efl_isa(sd->parent, EFL_UI_WIN_CLASS))
102 { 104 {
103 if (sd->menu_bar && efl_canvas_object_is_frame_object_get(sd->obj)) 105 if (sd->menu_bar && efl_canvas_object_is_frame_object_get(sd->obj))
104 efl_gfx_position_get(sd->obj, x, y); 106 r.pos = efl_gfx_position_get(sd->obj);
105 else 107 else
106 { 108 r.pos = EINA_POSITION2D(0, 0);
107 if (x) *x = 0;
108 if (y) *y = 0;
109 }
110 } 109 }
110 if (x) *x = r.x;
111 if (y) *y = r.y;
112 if (w) *w = r.w;
113 if (h) *h = r.h;
111} 114}
112 115
113static void 116static void
diff --git a/src/lib/elementary/elm_notify.c b/src/lib/elementary/elm_notify.c
index 89f621c..77b5b98 100644
--- a/src/lib/elementary/elm_notify.c
+++ b/src/lib/elementary/elm_notify.c
@@ -237,27 +237,27 @@ _elm_notify_efl_gfx_size_set(Eo *obj, Elm_Notify_Data *sd, Evas_Coord w, Evas_Co
237 237
238 if (!sd->parent && sd->content) 238 if (!sd->parent && sd->content)
239 { 239 {
240 Evas_Coord x, y; 240 Eina_Position2D pos;
241 241
242 efl_gfx_position_get(obj, &x, &y); 242 pos = efl_gfx_position_get(obj);
243 _notify_move_to_orientation(obj, x, y, w, h); 243 _notify_move_to_orientation(obj, pos.x, pos.y, w, h);
244 } 244 }
245} 245}
246 246
247EOLIAN static void 247EOLIAN static void
248_elm_notify_efl_gfx_position_set(Eo *obj, Elm_Notify_Data *sd, Evas_Coord x, Evas_Coord y) 248_elm_notify_efl_gfx_position_set(Eo *obj, Elm_Notify_Data *sd, Eina_Position2D pos)
249{ 249{
250 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 250 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
251 return; 251 return;
252 252
253 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 253 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
254 254
255 if (!sd->parent && sd->content) 255 if (!sd->parent && sd->content)
256 { 256 {
257 Evas_Coord w, h; 257 Evas_Coord w, h;
258 258
259 evas_object_geometry_get(obj, NULL, NULL, &w, &h); 259 evas_object_geometry_get(obj, NULL, NULL, &w, &h);
260 _notify_move_to_orientation(obj, x, y, w, h); 260 _notify_move_to_orientation(obj, pos.x, pos.y, w, h);
261 } 261 }
262} 262}
263 263
diff --git a/src/lib/elementary/elm_panel.c b/src/lib/elementary/elm_panel.c
index 219315f..ba4fa2b 100644
--- a/src/lib/elementary/elm_panel.c
+++ b/src/lib/elementary/elm_panel.c
@@ -934,14 +934,13 @@ _elm_panel_efl_canvas_group_group_del(Eo *obj, Elm_Panel_Data *sd)
934} 934}
935 935
936EOLIAN static void 936EOLIAN static void
937_elm_panel_efl_gfx_position_set(Eo *obj, Elm_Panel_Data *sd, Evas_Coord x, Evas_Coord y) 937_elm_panel_efl_gfx_position_set(Eo *obj, Elm_Panel_Data *sd, Eina_Position2D pos)
938{ 938{
939 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 939 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
940 return; 940 return;
941 941
942 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 942 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
943 943 efl_gfx_position_set(sd->hit_rect, pos);
944 evas_object_move(sd->hit_rect, x, y);
945} 944}
946 945
947static void 946static void
diff --git a/src/lib/elementary/elm_scroller.c b/src/lib/elementary/elm_scroller.c
index 95f2694..002c467 100644
--- a/src/lib/elementary/elm_scroller.c
+++ b/src/lib/elementary/elm_scroller.c
@@ -951,14 +951,13 @@ _elm_scroller_efl_canvas_group_group_add(Eo *obj, Elm_Scroller_Data *priv)
951} 951}
952 952
953EOLIAN static void 953EOLIAN static void
954_elm_scroller_efl_gfx_position_set(Eo *obj, Elm_Scroller_Data *sd, Evas_Coord x, Evas_Coord y) 954_elm_scroller_efl_gfx_position_set(Eo *obj, Elm_Scroller_Data *sd, Eina_Position2D pos)
955{ 955{
956 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 956 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
957 return; 957 return;
958 958
959 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 959 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
960 960 efl_gfx_position_set(sd->hit_rect, pos);
961 evas_object_move(sd->hit_rect, x, y);
962} 961}
963 962
964EOLIAN static void 963EOLIAN static void
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index 91f126c..e43f788 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -2904,14 +2904,13 @@ _elm_toolbar_efl_canvas_group_group_del(Eo *obj, Elm_Toolbar_Data *sd)
2904} 2904}
2905 2905
2906EOLIAN static void 2906EOLIAN static void
2907_elm_toolbar_efl_gfx_position_set(Eo *obj, Elm_Toolbar_Data *sd, Evas_Coord x, Evas_Coord y) 2907_elm_toolbar_efl_gfx_position_set(Eo *obj, Elm_Toolbar_Data *sd, Eina_Position2D pos)
2908{ 2908{
2909 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 2909 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
2910 return; 2910 return;
2911 2911
2912 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 2912 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
2913 2913 efl_gfx_position_set(sd->hit_rect, pos);
2914 evas_object_move(sd->hit_rect, x, y);
2915} 2914}
2916 2915
2917EOLIAN static void 2916EOLIAN static void
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index 4c02e6f..8ea3085 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -832,16 +832,16 @@ _smart_reconfigure(Elm_Widget_Smart_Data *sd)
832} 832}
833 833
834EOLIAN static void 834EOLIAN static void
835_elm_widget_efl_gfx_position_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Evas_Coord x, Evas_Coord y) 835_elm_widget_efl_gfx_position_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Eina_Position2D pos)
836{ 836{
837 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) 837 if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y))
838 return; 838 return;
839 839
840 sd->x = x; 840 sd->x = pos.x;
841 sd->y = y; 841 sd->y = pos.y;
842 _smart_reconfigure(sd); 842 _smart_reconfigure(sd);
843 843
844 efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); 844 efl_gfx_position_set(efl_super(obj, MY_CLASS), pos);
845} 845}
846 846
847EOLIAN static void 847EOLIAN static void