aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ContractionState.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/ContractionState.cxx')
-rw-r--r--src/ContractionState.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ContractionState.cxx b/src/ContractionState.cxx
index b36e1ebd8..8f0f795e2 100644
--- a/src/ContractionState.cxx
+++ b/src/ContractionState.cxx
@@ -65,6 +65,7 @@ public:
Sci::Line LinesInDoc() const noexcept override;
Sci::Line LinesDisplayed() const noexcept override;
Sci::Line DisplayFromDoc(Sci::Line lineDoc) const noexcept override;
+ Sci::Line DisplayFromDocSub(Sci::Line lineDoc, Sci::Line lineSub) const noexcept override;
Sci::Line DisplayLastFromDoc(Sci::Line lineDoc) const noexcept override;
Sci::Line DocFromDisplay(Sci::Line lineDisplay) const noexcept override;
@@ -184,6 +185,12 @@ Sci::Line ContractionState<LINE>::DisplayFromDoc(Sci::Line lineDoc) const noexce
}
template <typename LINE>
+Sci::Line ContractionState<LINE>::DisplayFromDocSub(Sci::Line lineDoc, Sci::Line lineSub) const noexcept {
+ return DisplayFromDoc(lineDoc) +
+ std::min(lineSub, static_cast<Sci::Line>(GetHeight(lineDoc) - 1));
+}
+
+template <typename LINE>
Sci::Line ContractionState<LINE>::DisplayLastFromDoc(Sci::Line lineDoc) const noexcept {
return DisplayFromDoc(lineDoc) + GetHeight(lineDoc) - 1;
}