return o->contained;
}
+void
+_evas_object_smart_members_all_del(Evas_Object *obj)
+{
+ Evas_Object_Smart *o = (Evas_Object_Smart *)(obj->object_data);
+ while (o->contained)
+ evas_object_del((Evas_Object *)(o->contained));
+}
+
/**
* Instantiates a new smart object described by @p s.
*
EAPI void
evas_object_smart_move_children_relative(Evas_Object *obj, Evas_Coord dx, Evas_Coord dy)
{
- Eina_List *lst, *itr;
+ const Eina_Inlist *lst;
Evas_Object *child;
if ((dx == 0) && (dy == 0))
return;
- lst = evas_object_smart_members_get(obj);
- EINA_LIST_FOREACH(lst, itr, child)
+ lst = evas_object_smart_members_get_direct(obj);
+ EINA_INLIST_FOREACH(lst, child)
{
Evas_Coord orig_x, orig_y;
orig_y = child->cur.geometry.y;
evas_object_move(child, orig_x + dx, orig_y + dy);
}
-
- eina_list_free(lst);
}
/**
static void
evas_object_smart_clipped_smart_del(Evas_Object *obj)
{
- Eina_List *lst, *itr;
- Evas_Object *data;
-
CSO_DATA_GET_OR_RETURN(obj, cso);
if (cso->clipper)
evas_object_del(clipper);
}
- lst = evas_object_smart_members_get(obj);
- EINA_LIST_FOREACH(lst, itr, data)
- evas_object_del(data);
- eina_list_free(lst);
+ _evas_object_smart_members_all_del(obj);
free(cso);
evas_object_smart_data_set(obj, NULL);
void evas_object_smart_member_stack_above(Evas_Object *member, Evas_Object *other);
void evas_object_smart_member_stack_below(Evas_Object *member, Evas_Object *other);
const Eina_Inlist *evas_object_smart_members_get_direct(const Evas_Object *obj);
+void _evas_object_smart_members_all_del(Evas_Object *obj);
void evas_call_smarts_calculate(Evas *e);
void *evas_mem_calloc(int size);
void _evas_post_event_callback_call(Evas *e);
Eina_Bool evas_map_inside_get(const Evas_Map *m, Evas_Coord x, Evas_Coord y);
Eina_Bool evas_map_coords_get(const Evas_Map *m, Evas_Coord x, Evas_Coord y, Evas_Coord *mx, Evas_Coord *my, int grab);
+
#define EVAS_API_OVERRIDE(func, api, prefix) \
(api)->func = prefix##func