diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2011-09-28 20:54:11 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2011-09-28 20:54:11 +0000 |
| commit | ba2800ddacf69f3f9cc8389b1f1aa415cdd3fac1 (patch) | |
| tree | 784dcba32110ed847fe9291dea8da04aed134a7b /src/display_buffer.hh | |
| parent | 7746c78cccef6cb35e193c85182a496b33bb0c7a (diff) | |
Window: refactor DisplayBuffer generation
Diffstat (limited to 'src/display_buffer.hh')
| -rw-r--r-- | src/display_buffer.hh | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/display_buffer.hh b/src/display_buffer.hh index fd609134..d1a1eebb 100644 --- a/src/display_buffer.hh +++ b/src/display_buffer.hh @@ -4,6 +4,8 @@ #include <string> #include <vector> +#include "buffer.hh" + namespace Kakoune { @@ -33,13 +35,19 @@ enum class Color struct DisplayAtom { - std::string content; - Color fg_color; - Color bg_color; - Attribute attribute; + std::string content; + BufferIterator begin; + BufferIterator end; + Color fg_color; + Color bg_color; + Attribute attribute; - DisplayAtom() - : fg_color(Color::Default), + DisplayAtom(BufferIterator begin, BufferIterator end, + const std::string& content) + : content(content), + begin(begin), + end(end), + fg_color(Color::Default), bg_color(Color::Default), attribute(Attributes::Normal) {} @@ -48,7 +56,7 @@ struct DisplayAtom class DisplayBuffer { public: - typedef std::vector<DisplayAtom> AtomList; + typedef std::vector<DisplayAtom> AtomList; typedef AtomList::iterator iterator; typedef AtomList::const_iterator const_iterator; @@ -56,6 +64,7 @@ public: void clear() { m_atoms.clear(); } void append(const DisplayAtom& atom) { m_atoms.push_back(atom); } + iterator insert(iterator where, const DisplayAtom& atom) { return m_atoms.insert(where, atom); } iterator begin() { return m_atoms.begin(); } iterator end() { return m_atoms.end(); } |
