plugins: label-freetype: Fix font alignment

label->width is used to calculate wrapping of lines and it is by
default -1. We need to use label->area.width instead when aligning a
line, as label->width might not have been set.
This commit is contained in:
Alfonso Sánchez-Beato 2022-10-20 11:37:14 +01:00
parent 770ef251a6
commit dbf0fa7fc7

View file

@ -314,9 +314,9 @@ draw_control (ply_label_plugin_control_t *label,
/* Start at start position (alignment) */
if (label->alignment == PLY_LABEL_ALIGN_CENTER)
pen.x += (label->width - width_of_line (label, cur_c)) << 5;
pen.x += (label->area.width - width_of_line (label, cur_c)) << 5;
else if (label->alignment == PLY_LABEL_ALIGN_RIGHT)
pen.x += (label->width - width_of_line (label, cur_c)) << 6;
pen.x += (label->area.width - width_of_line (label, cur_c)) << 6;
while (*cur_c && *cur_c != '\n') {
/* TODO: Unicode support. */