Paint underline for insets too.

Fixes bug 11297.
This commit is contained in:
Jean-Marc Lasgouttes 2018-09-20 11:31:23 +02:00
parent 9792a15141
commit 328ff9df3a
2 changed files with 18 additions and 1 deletions

View File

@ -269,6 +269,21 @@ void RowPainter::paintStringAndSel(Row::Element const & e) const
}
void RowPainter::paintTextDecoration(Row::Element const & e) const
{
// element selected?
bool const sel = (e.pos >= row_.sel_beg && e.endpos <= row_.sel_end)
|| pi_.selected;
FontInfo copy = e.font.fontInfo();
if (sel || e.change.changed()) {
Color const col = e.change.changed() ? e.change.color()
: Color_selectiontext;
copy.setPaintColor(col);
}
pi_.pain.textDecoration(copy, int(x_), yo_, int(e.full_width()));
}
void RowPainter::paintChange(Row::Element const & e) const
{
e.change.paintCue(pi_, x_, yo_, x_ + e.full_width(), e.font.fontInfo());
@ -603,10 +618,11 @@ void RowPainter::paintText()
case Row::INSET:
paintInset(e);
paintTextDecoration(e);
break;
case Row::SPACE:
pi_.pain.textDecoration(e.font.fontInfo(), int(x_), yo_, int(e.full_width()));
paintTextDecoration(e);
}
// The markings of foreign languages

View File

@ -61,6 +61,7 @@ private:
void paintForeignMark(Row::Element const & e) const;
void paintNoSpellingMark(Row::Element const & e) const;
void paintStringAndSel(Row::Element const & e) const;
void paintTextDecoration(Row::Element const & e) const;
void paintMisspelledMark(Row::Element const & e) const;
void paintChange(Row::Element const & e) const;
void paintAppendixStart(int y) const;