EAPI void e_layout_pack(Evas_Object *obj, Evas_Object *child) { E_Smart_Data *sd; E_Layout_Item *li; sd = evas_object_smart_data_get(obj); _e_layout_smart_adopt(sd, child); sd->items = eina_list_append(sd->items, child); li = evas_object_data_get(child, "e_layout_data"); _e_layout_smart_move_resize_item(li); }
EAPI void e_layout_child_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y) { E_Layout_Item *li; li = evas_object_data_get(obj, "e_layout_data"); if (!li) return; if ((li->x == x) && (li->y == y)) return; li->x = x; li->y = y; _e_layout_smart_move_resize_item(li); }
EAPI void e_layout_child_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h) { E_Layout_Item *li; li = evas_object_data_get(obj, "e_layout_data"); if (!li) return; if (w < 0) w = 0; if (h < 0) h = 0; if ((li->w == w) && (li->h == h)) return; li->w = w; li->h = h; _e_layout_smart_move_resize_item(li); }
static void _e_layout_smart_reconfigure(E_Smart_Data *sd) { Evas_Coord x, y, w, h; Eina_List *l; if (!sd->changed) return; x = sd->x; y = sd->y; w = sd->w; h = sd->h; for (l = sd->items; l; l = l->next) { E_Layout_Item *li; Evas_Object *obj; obj = l->data; li = evas_object_data_get(obj, "e_layout_data"); _e_layout_smart_move_resize_item(li); } sd->changed = 0; }