forked from enlightenment/enlightenment
added e_layout function for getting top object at coordinates
SVN revision: 83751
This commit is contained in:
parent
46277e5312
commit
f49dd52cd3
|
@ -266,6 +266,24 @@ e_layout_children_get(Evas_Object *obj)
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI Evas_Object *
|
||||||
|
e_layout_top_child_at_xy_get(Evas_Object *obj, Evas_Coord x, Evas_Coord y, const Eina_List *ignore)
|
||||||
|
{
|
||||||
|
E_Smart_Data *sd;
|
||||||
|
E_Layout_Item *li;
|
||||||
|
|
||||||
|
if (evas_object_smart_smart_get(obj) != _e_smart) SMARTERRNR() NULL;
|
||||||
|
sd = evas_object_smart_data_get(obj);
|
||||||
|
if (!sd->items) return NULL;
|
||||||
|
EINA_INLIST_REVERSE_FOREACH(sd->items, li)
|
||||||
|
if (E_INSIDE(x, y, li->x, li->y, li->w, li->h))
|
||||||
|
{
|
||||||
|
if (eina_list_data_find(ignore, li->obj)) continue;
|
||||||
|
return li->obj;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
static E_Layout_Item *
|
static E_Layout_Item *
|
||||||
_e_layout_smart_adopt(E_Smart_Data *sd, Evas_Object *obj)
|
_e_layout_smart_adopt(E_Smart_Data *sd, Evas_Object *obj)
|
||||||
|
|
|
@ -23,6 +23,7 @@ EAPI void e_layout_child_geometry_get(Evas_Object *obj, Evas_Coord *x, E
|
||||||
EAPI void e_layout_unpack (Evas_Object *obj);
|
EAPI void e_layout_unpack (Evas_Object *obj);
|
||||||
|
|
||||||
EAPI Eina_List *e_layout_children_get(Evas_Object *obj);
|
EAPI Eina_List *e_layout_children_get(Evas_Object *obj);
|
||||||
|
EAPI Evas_Object *e_layout_top_child_at_xy_get(Evas_Object *obj, Evas_Coord x, Evas_Coord y, const Eina_List *ignore);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue