/// <summary> /// Moves the cursor to the next marker /// </summary> public static void NextMarker(ScintillaControl sci, Int32 marker, Int32 line) { Int32 next = 0; Int32 lineMask = sci.MarkerGet(line); if ((lineMask & GetMarkerMask(marker)) != 0) { next = sci.MarkerNext(line + 1, GetMarkerMask(marker)); if (next != -1) sci.GotoLineIndent(next); else { next = sci.MarkerNext(0, GetMarkerMask(marker)); if (next != -1) sci.GotoLineIndent(next); } } else { next = sci.MarkerNext(line, GetMarkerMask(marker)); if (next != -1) sci.GotoLineIndent(next); else { next = sci.MarkerNext(0, GetMarkerMask(marker)); if (next != -1) sci.GotoLineIndent(next); } } }
/// <summary> /// Moves the cursor to the previous marker /// </summary> public static void PreviousMarker(ScintillaControl sci, Int32 marker, Int32 line) { Int32 prev = 0; Int32 count = 0; Int32 lineMask = sci.MarkerGet(line); if ((lineMask & GetMarkerMask(marker)) != 0) { prev = sci.MarkerPrevious(line - 1, GetMarkerMask(marker)); if (prev != -1) sci.GotoLineIndent(prev); else { count = sci.LineCount; prev = sci.MarkerPrevious(count, GetMarkerMask(marker)); if (prev != -1) sci.GotoLineIndent(prev); } } else { prev = sci.MarkerPrevious(line, GetMarkerMask(marker)); if (prev != -1) sci.GotoLineIndent(prev); else { count = sci.LineCount; prev = sci.MarkerPrevious(count, GetMarkerMask(marker)); if (prev != -1) sci.GotoLineIndent(prev); } } }