From dd5541fefc2763368627d8e6e39e93eeead36000 Mon Sep 17 00:00:00 2001 From: Sergey Bugaev Date: Sat, 21 Sep 2019 00:45:00 +0300 Subject: [PATCH] Terminal: Add underline support --- Applications/Terminal/TerminalWidget.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Applications/Terminal/TerminalWidget.cpp b/Applications/Terminal/TerminalWidget.cpp index 4ab16c15205..2a3216af620 100644 --- a/Applications/Terminal/TerminalWidget.cpp +++ b/Applications/Terminal/TerminalWidget.cpp @@ -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 == ' ')