From b020d57a6223d6cecdad4718eddbf5b8f9d6e5d8 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Fri, 15 Mar 2013 19:59:09 +1100 Subject: Simplify calculation of visible line for point. --- src/Editor.cxx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/Editor.cxx b/src/Editor.cxx index 740162faa..4f00e501a 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -480,10 +481,7 @@ SelectionPosition Editor::SPositionFromLocation(Point pt, bool canReturnInvalid, return SelectionPosition(INVALID_POSITION); } pt.x = pt.x - vs.fixedColumnWidth + xOffset; - int visibleLine = pt.y / vs.lineHeight + topLine; - if (pt.y < 0) { // Division rounds towards 0 - visibleLine = (static_cast(pt.y) - (vs.lineHeight - 1)) / vs.lineHeight + topLine; - } + int visibleLine = floor(pt.y / vs.lineHeight) + topLine; if (!canReturnInvalid && (visibleLine < 0)) visibleLine = 0; int lineDoc = cs.DocFromDisplay(visibleLine); -- cgit v1.2.3