From: Jean-Philippe Andre Date: Mon, 18 Sep 2017 08:55:50 +0000 (+0900) Subject: evas: Use Eina.Rect for object list functions X-Git-Tag: submit/sandbox/upgrade/efl120/20180319.053334~2598 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=686366a03b2352f81d6ea4a79c6608d1bd5e1590;p=platform%2Fupstream%2Fefl.git evas: Use Eina.Rect for object list functions - objects_at_xy_get - object_top_at_xy_get - objects_in_rectangle_get - object_top_in_rectangle_get --- diff --git a/src/lib/efl/interfaces/efl_canvas.eo b/src/lib/efl/interfaces/efl_canvas.eo index 15cb2ef..10776b7 100644 --- a/src/lib/efl/interfaces/efl_canvas.eo +++ b/src/lib/efl/interfaces/efl_canvas.eo @@ -45,8 +45,7 @@ interface Efl.Canvas () The list of objects that are over the given position in $e. ]] params { - @in x: int; [[The horizontal coordinate of the position.]] - @in y: int; [[The vertical coordinate of the position.]] + @in pos: Eina.Position2D; [[The pixel position.]] @in include_pass_events_objects: bool; [[ Boolean flag to include or not objects which pass events in this calculation. @@ -72,8 +71,7 @@ interface Efl.Canvas () ]] return: Efl.Gfx @warn_unused; [[The Evas object that is over all other objects at the given position.]] params { - @in x: int; [[The horizontal coordinate of the position.]] - @in y: int; [[The vertical coordinate of the position.]] + @in pos: Eina.Position2D; [[The pixel position.]] @in include_pass_events_objects: bool; [[ Boolean flag to include or not objects which pass events in this calculation. @@ -100,16 +98,7 @@ interface Efl.Canvas () ]] return: iterator @owned @warn_unused; [[Iterator to objects]] params { - @in x: int; [[ - The top left corner's horizontal coordinate for the - rectangular region. - ]] - @in y: int; [[ - The top left corner's vertical coordinate for the - rectangular region. - ]] - @in w: int; [[The width of the rectangular region.]] - @in h: int; [[The height of the rectangular region.]] + @in rect: Eina.Rect; [[The rectangular region.]] @in include_pass_events_objects: bool; [[ Boolean flag to include or not objects which pass events in this calculation. @@ -139,16 +128,7 @@ interface Efl.Canvas () rectangular region. ]] params { - @in x: int; [[ - The top left corner's horizontal coordinate for the - rectangular region. - ]] - @in y: int; [[ - The top left corner's vertical coordinate for the - rectangular region. - ]] - @in w: int; [[The width of the rectangular region.]] - @in h: int; [[The height of the rectangular region.]] + @in rect: Eina.Rect; [[The rectangular region.]] @in include_pass_events_objects: bool; [[ Boolean flag to include or not objects which pass events in this calculation. diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 967a3ed..7cf004a 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -2489,31 +2489,31 @@ _efl_ui_win_efl_canvas_smart_objects_calculate(Eo *obj EINA_UNUSED, Efl_Ui_Win_D } 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) +_efl_ui_win_efl_canvas_objects_at_xy_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, Eina_Position2D pos, 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); + objs = evas_objects_at_xy_get(sd->evas, pos.x, pos.y, include_pass_events_objects, include_hidden_objects); + return eina_list_iterator_new(objs); // FIXME: This leaks the list! } 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) +_efl_ui_win_efl_canvas_object_top_at_xy_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, Eina_Position2D pos, 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); + return evas_object_top_at_xy_get(sd->evas, pos.x, pos.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) +_efl_ui_win_efl_canvas_objects_in_rectangle_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, Eina_Rect r, 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); + objs = evas_objects_in_rectangle_get(sd->evas, r.x, r.y, r.w, r.h, include_pass_events_objects, include_hidden_objects); + return eina_list_iterator_new(objs); // FIXME: This leaks the list! } 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) +_efl_ui_win_efl_canvas_object_top_in_rectangle_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, Eina_Rect r, 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); + return evas_object_top_in_rectangle_get(sd->evas, r.x, r.y, r.w, r.h, include_pass_events_objects, include_hidden_objects); } EOLIAN static Efl_Input_Device *