Retrieve a list of objects lying over a given rectangular region in a canvas.

This function will traverse all the layers of the given canvas, from top to bottom, querying for objects with areas overlapping with the given rectangular region inside e. The user can remove from the query objects which are hidden and/or which are set to pass events.

This function will skip objects parented by smart objects, acting only on the ones at the "top level", with regard to object parenting.


objects_in_rectangle_get @const @pure_virtual {
    params {
        @in rect: free(Eina.Rect, eina_rectangle_free);
        @in include_pass_events_objects: bool;
        @in include_hidden_objects: bool;
    return: free(iterator<free(Efl.Gfx, efl_del)>, eina_iterator_free) @warn_unused;

C signature

Eina_Iterator *efl_canvas_objects_in_rectangle_get(const Eo *obj, Eina_Rect rect, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects);


  • rect (in) - The rectangular region.
  • include_pass_events_objects (in) - Boolean flag to include or not objects which pass events in this calculation.
  • include_hidden_objects (in) - Boolean flag to include or not hidden objects in this calculation.

Implemented by

  • Efl.Canvas.objects_in_rectangle_get