summaryrefslogtreecommitdiff
path: root/src/window.cc
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2018-04-06 09:12:17 +1000
committerMaxime Coste <mawww@kakoune.org>2018-04-06 09:16:59 +1000
commit3c03129c460a81defedabbca899f478f575b77c2 (patch)
tree9f14c5982eda9d8dfee000b80141fe8f5ea1387c /src/window.cc
parent21603983c52b6cdca0bf7fd0b200b1061811c789 (diff)
Make compute_display_setup methods const
Diffstat (limited to 'src/window.cc')
-rw-r--r--src/window.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/window.cc b/src/window.cc
index d0e0ff85..db7caebb 100644
--- a/src/window.cc
+++ b/src/window.cc
@@ -179,8 +179,10 @@ void Window::set_dimensions(DisplayCoord dimensions)
}
}
-DisplaySetup Window::compute_display_setup(const Context& context)
+DisplaySetup Window::compute_display_setup(const Context& context) const
{
+ auto win_pos = m_position;
+
DisplayCoord offset = options()["scrolloff"].get<DisplayCoord>();
offset.line = std::min(offset.line, (m_dimensions.line + 1) / 2);
offset.column = std::min(offset.column, (m_dimensions.column + 1) / 2);
@@ -189,16 +191,16 @@ DisplaySetup Window::compute_display_setup(const Context& context)
const auto& cursor = context.selections().main().cursor();
// Ensure cursor line is visible
- if (cursor.line - offset.line < m_position.line)
- m_position.line = std::max(0_line, cursor.line - offset.line);
- if (cursor.line + offset.line >= m_position.line + m_dimensions.line)
- m_position.line = std::min(buffer().line_count()-1, cursor.line + offset.line - m_dimensions.line + 1);
+ if (cursor.line - offset.line < win_pos.line)
+ win_pos.line = std::max(0_line, cursor.line - offset.line);
+ if (cursor.line + offset.line >= win_pos.line + m_dimensions.line)
+ win_pos.line = std::min(buffer().line_count()-1, cursor.line + offset.line - m_dimensions.line + 1);
DisplaySetup setup{
- m_position,
+ win_pos,
m_dimensions,
- {cursor.line - m_position.line,
- get_column(buffer(), tabstop, cursor) - m_position.column},
+ {cursor.line - win_pos.line,
+ get_column(buffer(), tabstop, cursor) - win_pos.column},
offset,
false
};