diff options
author | nyamatongwe <nyamatongwe@gmail.com> | 2011-09-23 23:43:39 +1000 |
---|---|---|
committer | nyamatongwe <nyamatongwe@gmail.com> | 2011-09-23 23:43:39 +1000 |
commit | c69dc9be33d9913f57d259469e0f1d17253ef063 (patch) | |
tree | ed397d7cae93b4cb9dcfe18475f79e4a9fe02bc8 /src/PerLine.cxx | |
parent | f4a284bff6d43ab551bd4b3c4f2b71f9b93191c1 (diff) | |
download | scintilla-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.cxx | 11 |
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()) { |