_on_child_resize(void *data, Evas *evas, Evas_Object *o, void *einfo)
{
Evas_Object *box = data;
- Evas_Object_Box_Data *priv;
- priv = evas_object_smart_data_get(box);
- if (priv->in_calc) return;
evas_object_smart_changed(box);
}
{
EVAS_OBJECT_BOX_DATA_GET_OR_RETURN(o, priv);
if (priv->layout.cb)
- {
- priv->in_calc = 1;
- priv->layout.cb(o, priv, priv->layout.data);
- priv->in_calc = 0;
- }
+ priv->layout.cb(o, priv, priv->layout.data);
else
fprintf(stderr, "ERROR: no layout function set for %p box.\n", o);
}
_layout_set_offset_and_expand_dimension_space_max_bounded
(child_h, &new_h, h, max_h, &off_y, align_y, padding_t, padding_b);
- evas_object_resize(opt->obj, child_w, new_h);
+ if (new_h != child_h)
+ evas_object_resize(opt->obj, child_w, new_h);
evas_object_move(opt->obj, x + off_x, y + off_y);
x += child_w + padding_l + padding_r + global_pad;
_layout_set_offset_and_expand_dimension_space_max_bounded
(child_w, &new_w, w, max_w, &off_x, align_x, padding_l, padding_r);
- evas_object_resize(opt->obj, new_w, child_h);
+ if (new_w != child_w)
+ evas_object_resize(opt->obj, new_w, child_h);
evas_object_move(opt->obj, x + off_x, y + off_y);
y += child_h + padding_t + padding_b + global_pad;
(child_w, &new_w, min_w, max_w, cell_sz, &off_x, align_x,
padding_l, padding_r);
- evas_object_resize(opt->obj, new_w, new_h);
+ if ((new_w != child_w) || (new_h != child_h))
+ evas_object_resize(opt->obj, new_w, new_h);
evas_object_move(opt->obj, x + off_x, y + off_y);
x += cell_sz + priv->pad.h;
(child_h, &new_h, min_h, max_h, cell_sz, &off_y, align_y,
padding_t, padding_b);
- evas_object_resize(opt->obj, new_w, new_h);
+ if ((new_w != child_w) || (new_h != child_h))
+ evas_object_resize(opt->obj, new_w, new_h);
evas_object_move(opt->obj, x + off_x, y + off_y);
y += cell_sz + priv->pad.v;
(child_w, &new_w, min_w, max_w, cell_sz, &off_x, align_x,
padding_l, padding_r);
- evas_object_resize(opt->obj, new_w, new_h);
+ if ((new_w != child_w) || (new_h != child_h))
+ evas_object_resize(opt->obj, new_w, new_h);
evas_object_move(opt->obj, x + off_x, y + off_y);
x += cell_sz + global_pad;
(child_h, &new_h, min_h, max_h, cell_sz, &off_y, align_y,
padding_t, padding_b);
- evas_object_resize(opt->obj, new_w, new_h);
+ if ((new_w != child_w) || (new_h != child_h))
+ evas_object_resize(opt->obj, new_w, new_h);
evas_object_move(opt->obj, x + off_x, y + off_y);
y += cell_sz + global_pad;
_layout_set_offset_and_change_dimension_min_max_cell_bounded
(child_h, &new_h, min_h, max_h, oh, &off_y, align_y, pad_t, pad_b);
- evas_object_resize(child, new_w, new_h);
+ if ((new_w != child_w) || (new_h != child_h))
+ evas_object_resize(child, new_w, new_h);
evas_object_move(child, ox + off_x, oy + off_y);
if (old_child)