summaryrefslogtreecommitdiff
path: root/src/lib/elementary
diff options
context:
space:
mode:
authorJi-Youn Park <jy0703.park@samsung.com>2016-06-17 16:02:38 +0830
committerJi-Youn Park <jy0703.park@samsung.com>2016-06-17 16:06:26 +0830
commit1f127fe45a566aa3f6689bc6c1568930c10c56b9 (patch)
treed26790e64c605f48dc66c8b16a1c09e478eb4d90 /src/lib/elementary
parentd8bc04e76a023cdfc11af4d85b40f6c9b6d05569 (diff)
downloadefl-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.c28
-rw-r--r--src/lib/elementary/efl_ui_win.eo4
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;