From f540566b1b4565f9306101c67fa51776ff7dc0dc Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Thu, 4 Apr 2013 18:50:00 +0200 Subject: UserInterface: status line messages are now DisplayLines This add color support for the status line --- src/display_buffer.hh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/display_buffer.hh') diff --git a/src/display_buffer.hh b/src/display_buffer.hh index 3879a31e..49bf67cb 100644 --- a/src/display_buffer.hh +++ b/src/display_buffer.hh @@ -112,12 +112,13 @@ struct DisplayAtom { ColorPair colors; Attribute attribute; - AtomContent content; - DisplayAtom(AtomContent content) - : content{std::move(content)}, attribute{Normal}, - colors{Color::Default, Color::Default} {} + DisplayAtom(AtomContent content, + ColorPair colors = {Color::Default, Color::Default}, + Attribute attribute = Normal) + : content{std::move(content)}, colors{colors}, attribute{attribute} + {} }; class DisplayLine @@ -130,6 +131,8 @@ public: explicit DisplayLine(LineCount buffer_line) : m_buffer_line(buffer_line) {} DisplayLine(LineCount buffer_line, AtomList atoms) : m_buffer_line(buffer_line), m_atoms(std::move(atoms)) {} + DisplayLine(String str, ColorPair color) + : m_buffer_line(-1), m_atoms{ { std::move(str), color } } {} LineCount buffer_line() const { return m_buffer_line; } @@ -141,6 +144,8 @@ public: const AtomList& atoms() const { return m_atoms; } + CharCount length() const; + // Split atom pointed by it at pos, returns an iterator to the first atom iterator split(iterator it, BufferIterator pos); -- cgit v1.2.3