diff options
author | Ji-Youn Park <jy0703.park@samsung.com> | 2016-06-17 16:02:38 +0830 |
---|---|---|
committer | Ji-Youn Park <jy0703.park@samsung.com> | 2016-06-17 16:06:26 +0830 |
commit | 1f127fe45a566aa3f6689bc6c1568930c10c56b9 (patch) | |
tree | d26790e64c605f48dc66c8b16a1c09e478eb4d90 /src/lib/elementary | |
parent | d8bc04e76a023cdfc11af4d85b40f6c9b6d05569 (diff) | |
download | efl-1f127fe45a566aa3f6689bc6c1568930c10c56b9.tar.gz |
efl_ui_win: move some APIs get the object's list in special location to efl_ui_win.
The apis to get the object or object list in special location is useful.
like game app.
so move these APIs from evas canvas to efl_canvas.
Diffstat (limited to 'src/lib/elementary')
-rw-r--r-- | src/lib/elementary/efl_ui_win.c | 28 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_win.eo | 4 |
2 files changed, 32 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 0256465cbb..f68bb88cfe 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -2196,6 +2196,34 @@ _efl_ui_win_efl_canvas_smart_objects_calculate(Eo *obj EINA_UNUSED, Efl_Ui_Win_D evas_smart_objects_calculate(sd->evas); } +EOLIAN static Eina_Iterator * +_efl_ui_win_efl_canvas_objects_at_xy_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, int x, int y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) +{ + Eina_List *objs = NULL; + objs = evas_objects_at_xy_get(sd->evas, x, y, include_pass_events_objects, include_hidden_objects); + return eina_list_iterator_new(objs); +} + +EOLIAN static Efl_Gfx * +_efl_ui_win_efl_canvas_object_top_at_xy_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, int x, int y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) +{ + return evas_object_top_at_xy_get(sd->evas, x, y, include_pass_events_objects, include_hidden_objects); +} + +EOLIAN static Eina_Iterator * +_efl_ui_win_efl_canvas_objects_in_rectangle_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, int x, int y, int w, int h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) +{ + Eina_List *objs = NULL; + objs = evas_objects_in_rectangle_get(sd->evas, x, y, w, h, include_pass_events_objects, include_hidden_objects); + return eina_list_iterator_new(objs); +} + +EOLIAN static Efl_Gfx * +_efl_ui_win_efl_canvas_object_top_in_rectangle_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, int x, int y, int w, int h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) +{ + return evas_object_top_in_rectangle_get(sd->evas, x, y, w, h, include_pass_events_objects, include_hidden_objects); +} + static void _elm_win_on_parent_del(void *data, Evas *e EINA_UNUSED, diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo index 3ed902e1d1..c5497a827c 100644 --- a/src/lib/elementary/efl_ui_win.eo +++ b/src/lib/elementary/efl_ui_win.eo @@ -806,6 +806,10 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Elm.Interface.Atspi.Window, Efl.Canvas.font_cache.get; Efl.Canvas.font_cache.set; Efl.Canvas.smart_objects_calculate; + Efl.Canvas.objects_at_xy_get; + Efl.Canvas.object_top_at_xy_get; + Efl.Canvas.objects_in_rectangle_get; + Efl.Canvas.object_top_in_rectangle_get; } constructors { .name; |