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 | 168aeec3b49a2eb97161dabcc6b9553024707647 (patch) | |
tree | c5827724e797df59c800355b8ae95f527c400f5e /src/PerLine.cxx | |
parent | 554c74012aab4802c77a6346c20d11ae7d7b7d32 (diff) | |
download | scintilla-mirror-168aeec3b49a2eb97161dabcc6b9553024707647.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()) { |