summaryrefslogtreecommitdiff
path: root/src/buffer.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2011-09-05 19:06:31 +0000
committerMaxime Coste <frrrwww@gmail.com>2011-09-05 19:06:31 +0000
commit6668151c780ac774f59fcd6aa60ddd00015cfeb7 (patch)
treed713db764c85d3e84d3180aea7da3082c87befa8 /src/buffer.cc
parentd5012c93795945c5ba36ba2fab10e67bfddc386d (diff)
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.
Diffstat (limited to 'src/buffer.cc')
-rw-r--r--src/buffer.cc12
1 files changed, 6 insertions, 6 deletions
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<int>(0, m_lines.size() - 1, result.line);
result.column = Kakoune::clamp<int>(0, line_length(result.line), result.column);
return result;