Fix underline for centered text

The position of the text itself is always floored, since the glyph
contains the subpixel antialiasing. Since no antialiasing is applied
to the underline, its position also has to be floored, otherwise
it will sometimes appear one pixel to the right of the text it's
underlining.

[ChangeLog][Text] Fixed position of underline on centered text when
the text layout's width is an even number.

Task-number: QTBUG-39286
Change-Id: Ib1704ac5b09289f5b3f5a6580443f234d6d868fc
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
bb10
Eskil Abrahamsen Blomfeldt 2015-02-25 12:54:15 +01:00
parent bf16940d33
commit 1cf99d7cfe
1 changed files with 1 additions and 1 deletions

View File

@ -6215,7 +6215,7 @@ static void drawTextItemDecoration(QPainter *painter, const QPointF &pos, const
pen.setWidthF(fe->lineThickness().toReal());
pen.setCapStyle(Qt::FlatCap);
QLineF line(pos.x(), pos.y(), pos.x() + width, pos.y());
QLineF line(qFloor(pos.x()), pos.y(), qFloor(pos.x() + width), pos.y());
bool wasCompatiblePainting = painter->renderHints()
& QPainter::Qt4CompatiblePainting;