aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/PerLine.cxx
diff options
context:
space:
mode:
authornyamatongwe <nyamatongwe@gmail.com>2011-09-23 23:43:39 +1000
committernyamatongwe <nyamatongwe@gmail.com>2011-09-23 23:43:39 +1000
commitc69dc9be33d9913f57d259469e0f1d17253ef063 (patch)
treeed397d7cae93b4cb9dcfe18475f79e4a9fe02bc8 /src/PerLine.cxx
parentf4a284bff6d43ab551bd4b3c4f2b71f9b93191c1 (diff)
downloadscintilla-mirror-c69dc9be33d9913f57d259469e0f1d17253ef063.tar.gz
Optimized MarkerNext so it can be much faster when no marker ever set
and a little faster when markers have been used.
Diffstat (limited to 'src/PerLine.cxx')
-rw-r--r--src/PerLine.cxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/PerLine.cxx b/src/PerLine.cxx
index 7d961a886..c31d4ea9b 100644
--- a/src/PerLine.cxx
+++ b/src/PerLine.cxx
@@ -182,6 +182,17 @@ int LineMarkers::MarkValue(int line) {
return 0;
}
+int LineMarkers::MarkerNext(int lineStart, int mask) const {
+ int length = markers.Length();
+ for (int iLine = lineStart; iLine < length; iLine++) {
+ MarkerHandleSet *onLine = markers[iLine];
+ if (onLine && ((onLine->MarkValue() & mask) != 0))
+ //if ((pdoc->GetMark(iLine) & lParam) != 0)
+ return iLine;
+ }
+ return -1;
+}
+
int LineMarkers::AddMark(int line, int markerNum, int lines) {
handleCurrent++;
if (!markers.Length()) {