From 6668151c780ac774f59fcd6aa60ddd00015cfeb7 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Mon, 5 Sep 2011 19:06:31 +0000 Subject: LineAndColumn: segregate into WindowCoord and BufferCoord Having the same type to specify coordinates in window space or buffer space is error prone, now the compiler will tell if we use one for another. --- src/buffer.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/buffer.cc') diff --git a/src/buffer.cc b/src/buffer.cc index f6409cbb..b7034b5c 100644 --- a/src/buffer.cc +++ b/src/buffer.cc @@ -135,7 +135,7 @@ void Buffer::insert(const BufferIterator& position, const BufferString& string) compute_lines(); } -BufferIterator Buffer::iterator_at(const LineAndColumn& line_and_column) const +BufferIterator Buffer::iterator_at(const BufferCoord& line_and_column) const { if (m_lines.empty()) return begin(); @@ -145,9 +145,9 @@ BufferIterator Buffer::iterator_at(const LineAndColumn& line_and_column) const return BufferIterator(*this, m_lines[line] + column); } -LineAndColumn Buffer::line_and_column_at(const BufferIterator& iterator) const +BufferCoord Buffer::line_and_column_at(const BufferIterator& iterator) const { - LineAndColumn result; + BufferCoord result; if (not m_lines.empty()) { result.line = line_at(iterator); @@ -174,12 +174,12 @@ BufferSize Buffer::line_length(BufferPos line) const return end - m_lines[line]; } -LineAndColumn Buffer::clamp(const LineAndColumn& line_and_column) const +BufferCoord Buffer::clamp(const BufferCoord& line_and_column) const { if (m_lines.empty()) - return LineAndColumn(); + return BufferCoord(); - LineAndColumn result(line_and_column.line, line_and_column.column); + BufferCoord result(line_and_column.line, line_and_column.column); result.line = Kakoune::clamp(0, m_lines.size() - 1, result.line); result.column = Kakoune::clamp(0, line_length(result.line), result.column); return result; -- cgit v1.2.3