summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiep Ha <thiepha@gmail.com>2017-12-15 17:52:00 +0900
committerThiep Ha <thiepha@gmail.com>2017-12-15 17:52:00 +0900
commitba8fe9ea3cda76f1327b0c494c95e1f63769ff2e (patch)
treefead0fbdc0d97b54a9cf649ebf639da42d46bda4
parent103bdc0d5b9ee94621affac6e40d33b856ff223d (diff)
downloadefl-ba8fe9ea3cda76f1327b0c494c95e1f63769ff2e.tar.gz
add drag_obj to icon_func
-rw-r--r--src/bin/elementary/test_efl_dnd.c7
-rw-r--r--src/lib/elementary/efl_selection_manager.c6
-rw-r--r--src/lib/elementary/efl_ui_dnd_types.eot4
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 {