summaryrefslogtreecommitdiff
path: root/src/display_buffer.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-04-04 18:50:00 +0200
committerMaxime Coste <frrrwww@gmail.com>2013-04-04 18:50:00 +0200
commitf540566b1b4565f9306101c67fa51776ff7dc0dc (patch)
tree32a3ea1e476cfb8b8572a6460645b5c7f937681a /src/display_buffer.hh
parent6ffdfd77353748f855b1528cdc6ca44b7154bfe3 (diff)
UserInterface: status line messages are now DisplayLines
This add color support for the status line
Diffstat (limited to 'src/display_buffer.hh')
-rw-r--r--src/display_buffer.hh13
1 files changed, 9 insertions, 4 deletions
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);