From 168aeec3b49a2eb97161dabcc6b9553024707647 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Fri, 23 Sep 2011 23:43:39 +1000 Subject: Optimized MarkerNext so it can be much faster when no marker ever set and a little faster when markers have been used. --- src/PerLine.cxx | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/PerLine.cxx') 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()) { -- cgit v1.2.3