From ba2800ddacf69f3f9cc8389b1f1aa415cdd3fac1 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Wed, 28 Sep 2011 20:54:11 +0000 Subject: Window: refactor DisplayBuffer generation --- src/display_buffer.hh | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'src/display_buffer.hh') 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 #include +#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 AtomList; + typedef std::vector 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(); } -- cgit v1.2.3