diff options
author | Thiep Ha <thiepha@gmail.com> | 2017-12-15 17:52:00 +0900 |
---|---|---|
committer | Thiep Ha <thiepha@gmail.com> | 2017-12-15 17:52:00 +0900 |
commit | ba8fe9ea3cda76f1327b0c494c95e1f63769ff2e (patch) | |
tree | fead0fbdc0d97b54a9cf649ebf639da42d46bda4 | |
parent | 103bdc0d5b9ee94621affac6e40d33b856ff223d (diff) | |
download | efl-ba8fe9ea3cda76f1327b0c494c95e1f63769ff2e.tar.gz |
add drag_obj to icon_func
-rw-r--r-- | src/bin/elementary/test_efl_dnd.c | 7 | ||||
-rw-r--r-- | src/lib/elementary/efl_selection_manager.c | 6 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_dnd_types.eot | 4 |
3 files changed, 8 insertions, 9 deletions
diff --git a/src/bin/elementary/test_efl_dnd.c b/src/bin/elementary/test_efl_dnd.c index 9255c33050..cdfbc08c4e 100644 --- a/src/bin/elementary/test_efl_dnd.c +++ b/src/bin/elementary/test_efl_dnd.c @@ -119,9 +119,8 @@ _canvas_focus_in_cb(void *data EINA_UNUSED, const Efl_Event *event) } static Efl_Gfx * -_drag_icon_cb(void *data, Eo *win, Eina_Position2D *off) +_drag_icon_cb(void *data, Efl_Object *win, Efl_Object *drag_obj, Eina_Position2D *off) { - Evas_Object *lb = data; Evas_Object *icon; Evas_Coord x, y, w, h; int xm, ym; @@ -129,13 +128,13 @@ _drag_icon_cb(void *data, Eo *win, Eina_Position2D *off) icon = elm_label_add(win); elm_object_text_set(icon, "dnd text"); - evas_object_geometry_get(lb, &x, &y, &w, &h); + evas_object_geometry_get(drag_obj, &x, &y, &w, &h); evas_object_move(icon, x, y); evas_object_resize(icon, w, h); evas_object_show(icon); printf("icon: %d %d\n", w, h); - evas_pointer_canvas_xy_get(evas_object_evas_get(lb), &xm, &ym); + evas_pointer_canvas_xy_get(evas_object_evas_get(drag_obj), &xm, &ym); if (off) { off->x = xm - (w / 2); diff --git a/src/lib/elementary/efl_selection_manager.c b/src/lib/elementary/efl_selection_manager.c index 03cba6c7bd..40e1e63cb7 100644 --- a/src/lib/elementary/efl_selection_manager.c +++ b/src/lib/elementary/efl_selection_manager.c @@ -1289,7 +1289,7 @@ _x11_efl_sel_manager_drag_start(Eo *obj, Efl_Selection_Manager_Data *pd, { Eina_Position2D off; - icon = icon_func(icon_func_data, seat_sel->drag_win, &off); + icon = icon_func(icon_func_data, seat_sel->drag_win, drag_obj, &off); if (icon) { x2 = off.x; @@ -1993,7 +1993,7 @@ _wl_efl_sel_manager_drag_start(Eo *obj, Efl_Selection_Manager_Data *pd, Efl_Obje { Eina_Position2D off; - icon = icon_func(icon_func_data, seat_sel->drag_win, &off); + icon = icon_func(icon_func_data, seat_sel->drag_win, drag_obj, &off); if (icon) { x2 = off.x; @@ -4066,7 +4066,7 @@ _drag_anim_start(Sel_Manager_Drag_Container *dc) if (dc->icon_func) { Evas_Object *temp_win = elm_win_add(NULL, "Temp", ELM_WIN_DND); - Evas_Object *final_icon = dc->icon_func(dc->icon_func_data, temp_win, NULL); + Evas_Object *final_icon = dc->icon_func(dc->icon_func_data, temp_win, dc->cont, NULL); evas_object_geometry_get(final_icon, NULL, NULL, &dc->final_icon.w, &dc->final_icon.h); evas_object_del(final_icon); evas_object_del(temp_win); diff --git a/src/lib/elementary/efl_ui_dnd_types.eot b/src/lib/elementary/efl_ui_dnd_types.eot index 91c97f1e23..54d589333f 100644 --- a/src/lib/elementary/efl_ui_dnd_types.eot +++ b/src/lib/elementary/efl_ui_dnd_types.eot @@ -4,10 +4,10 @@ function Efl.Dnd.Drag_Icon_Create { [[Function pointer for creating icon at the drag side.]] params { @in win: Efl.Canvas.Object; [[The window to create the objects relative to]] - //@in drag_obj: Efl.Gfx; + @in drag_obj: Efl.Canvas.Object; [[The drag object]] @out off: Eina.Position2D; } - return: Efl.Canvas.Object; [[The drag icon object]] //Efl.Canvas.Object + return: Efl.Canvas.Object; [[The drag icon object]] }; function Efl.Dnd.Drag_Data_Get { |