From 445cc61d3c5dead15aeca9c363ccbbe57018d744 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Wed, 16 Nov 2011 10:43:52 +1100 Subject: Bug #3283519. CountCharacters added to count the number of characters between two positions. From Andrey Moskalyov. --- src/Document.cxx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/Document.cxx') diff --git a/src/Document.cxx b/src/Document.cxx index 86d5c6077..c721c88ff 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -1094,6 +1094,20 @@ int Document::GetColumn(int pos) { return column; } +int Document::CountCharacters(int startPos, int endPos) { + startPos = MovePositionOutsideChar(startPos, 1, false); + endPos = MovePositionOutsideChar(endPos, -1, false); + int count = 0; + int i = startPos; + while (i < endPos) { + count++; + if (IsCrLf(i)) + i++; + i = NextPosition(i, 1); + } + return count; +} + int Document::FindColumn(int line, int column) { int position = LineStart(line); if ((line >= 0) && (line < LinesTotal())) { -- cgit v1.2.3