c->line_no = 0;
c->align = 0.0;
c->align_auto = EINA_TRUE;
- c->valign = o->valign;
c->ln = NULL;
/* Is this really the place? */
/* Vertically align the textblock */
- if ((o->valign > 0.0) && (c->h > c->hmax))
+ if (o->content_changed)
{
- Evas_Coord adjustment = (c->h - c->hmax) * o->valign;
- Evas_Object_Textblock_Paragraph *par;
- EINA_INLIST_FOREACH(c->paragraphs, par)
+ if ((o->valign > 0.0) && (c->h > c->hmax))
{
- par->y += adjustment;
+ Evas_Coord adjustment = (c->h - c->hmax) * o->valign;
+ printf(" @ adj = %i (%i - %i)\n", adjustment, c->h, c->hmax);
+ Evas_Object_Textblock_Paragraph *par;
+ EINA_INLIST_FOREACH(c->paragraphs, par)
+ {
+ printf(" @ %i + %i\n", par->y, adjustment);
+ par->y += adjustment;
+ }
}
-
}
if ((o->style_pad.l != style_pad_l) || (o->style_pad.r != style_pad_r) ||
y += o->style_pad.t;
EINA_INLIST_FOREACH(o->paragraphs, par)
{
+ printf(" @ in %i %i %ix%i\n", par->x, par->y, par->w, par->h);
if ((par->x <= x) && (par->x + par->w > x) &&
(par->y <= y) && (par->y + par->h > y))
{
(obj->cur.geometry.h != o->last_h))))
{
o->formatted.valid = 0;
+ if ((o->valign != 0.0) || (o->have_ellipsis)) o->content_changed = 1;
_layout(obj,
0,
obj->cur.geometry.w, obj->cur.geometry.h,
(((o->valign != 0.0) || (o->have_ellipsis)) &&
(obj->cur.geometry.h != o->last_h)))
{
+ if ((o->valign != 0.0) || (o->have_ellipsis)) o->content_changed = 1;
o->formatted.valid = 0;
o->changed = 1;
}