Evas textblock: fix ascent/descent calc
This is a follow-up to 4d4401f3a6
.
The format line adjustment (e.g. linegap) should calculate the current
item's ascent/descent, and then update c->ascent/c->descent.
Otherwise we accumulate calculations like linegap values
ref D5217
This commit is contained in:
parent
d567faa778
commit
bfa7d2a3b2
|
@ -3032,25 +3032,22 @@ _layout_item_ascent_descent_adjust(Evas_Object_Protected_Data *obj,
|
|||
}
|
||||
}
|
||||
|
||||
if (fmt)
|
||||
{
|
||||
asc = ENFN->font_ascent_get(ENC, fmt->font.font);
|
||||
desc = ENFN->font_descent_get(ENC, fmt->font.font);
|
||||
|
||||
if (asc > *ascent) *ascent = asc;
|
||||
if (desc > *descent) *descent = desc;
|
||||
}
|
||||
|
||||
if (fi)
|
||||
{
|
||||
asc = evas_common_font_instance_ascent_get(fi);
|
||||
desc = evas_common_font_instance_descent_get(fi);
|
||||
|
||||
if (asc > *ascent) *ascent = asc;
|
||||
if (desc > *descent) *descent = desc;
|
||||
}
|
||||
|
||||
if (fmt) _layout_format_ascent_descent_adjust(obj, ascent, descent, fmt);
|
||||
else if (fmt)
|
||||
{
|
||||
asc = ENFN->font_ascent_get(ENC, fmt->font.font);
|
||||
desc = ENFN->font_descent_get(ENC, fmt->font.font);
|
||||
}
|
||||
|
||||
if (fmt) _layout_format_ascent_descent_adjust(obj, &asc, &desc, fmt);
|
||||
|
||||
if (asc > *ascent) *ascent = asc;
|
||||
if (desc > *descent) *descent = desc;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue