diff options
author | nyamatongwe <unknown> | 2013-03-15 19:59:09 +1100 |
---|---|---|
committer | nyamatongwe <unknown> | 2013-03-15 19:59:09 +1100 |
commit | b020d57a6223d6cecdad4718eddbf5b8f9d6e5d8 (patch) | |
tree | 916bda8ac67f87cb2248c7084cd318253e0934fc | |
parent | 3ee697fc002bd2ac942ce40b32e317f431974b46 (diff) | |
download | scintilla-mirror-b020d57a6223d6cecdad4718eddbf5b8f9d6e5d8.tar.gz |
Simplify calculation of visible line for point.
-rw-r--r-- | src/Editor.cxx | 6 |
1 files changed, 2 insertions, 4 deletions
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 <string.h> #include <stdio.h> #include <ctype.h> +#include <math.h> #include <assert.h> #include <string> @@ -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<int>(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); |