Terminal: Add underline support

This commit is contained in:
Sergey Bugaev 2019-09-21 00:45:00 +03:00 committed by Andreas Kling
parent 3652bec746
commit dd5541fefc
Notes: sideshowbarker 2024-07-19 11:57:49 +09:00

View file

@ -266,10 +266,12 @@ void TerminalWidget::paint_event(GPaintEvent& event)
should_reverse_fill_for_cursor_or_selection |= selection_contains({ row, column });
attribute = line.attributes[column];
auto character_rect = glyph_rect(row, column);
auto cell_rect = character_rect.inflated(0, m_line_spacing);
if (!has_only_one_background_color || should_reverse_fill_for_cursor_or_selection) {
auto cell_rect = character_rect.inflated(0, m_line_spacing);
painter.fill_rect(cell_rect, lookup_color(should_reverse_fill_for_cursor_or_selection ? attribute.foreground_color : attribute.background_color).with_alpha(m_opacity));
}
if (attribute.flags & VT::Attribute::Underline)
painter.draw_line(cell_rect.bottom_left(), cell_rect.bottom_right(), lookup_color(should_reverse_fill_for_cursor_or_selection ? attribute.background_color : attribute.foreground_color));
}
if (codepoint == ' ')