Retrieve the object stacked at the top of a given position in a canvas.

This function will traverse all the layers of the given canvas, from top to bottom, querying for objects with areas covering the given position. 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.


object_top_at_xy_get @const @pure_virtual {
    params {
        @in pos: Eina.Position2D;
        @in include_pass_events_objects: bool;
        @in include_hidden_objects: bool;
    return: free(Efl.Gfx, efl_del) @warn_unused;

C signature

Efl_Gfx *efl_canvas_object_top_at_xy_get(const Eo *obj, Eina_Position2D pos, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects);


  • pos (in) - The pixel position.
  • 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.object_top_at_xy_get