public int Find(string str, int start, int end, RichTextBoxFinds options) { Document.Marker start_mark; Document.Marker end_mark; Document.Marker result; if (start == -1) { document.GetMarker(out start_mark, true); } else { Line line; LineTag tag; int pos; start_mark = new Document.Marker(); document.CharIndexToLineTag(start, out line, out tag, out pos); start_mark.line = line; start_mark.tag = tag; start_mark.pos = pos; } if (end == -1) { document.GetMarker(out end_mark, false); } else { Line line; LineTag tag; int pos; end_mark = new Document.Marker(); document.CharIndexToLineTag(end, out line, out tag, out pos); end_mark.line = line; end_mark.tag = tag; end_mark.pos = pos; } if (document.Find(str, start_mark, end_mark, out result, options)) { return document.LineTagToCharIndex(result.line, result.pos); } return -1; }
public int Find(char[] characterSet, int start, int end) { Document.Marker start_mark; Document.Marker end_mark; Document.Marker result; if (start == -1) { document.GetMarker(out start_mark, true); } else { Line line; LineTag tag; int pos; start_mark = new Document.Marker(); document.CharIndexToLineTag(start, out line, out tag, out pos); start_mark.line = line; start_mark.tag = tag; start_mark.pos = pos; } if (end == -1) { document.GetMarker(out end_mark, false); } else { Line line; LineTag tag; int pos; end_mark = new Document.Marker(); document.CharIndexToLineTag(end, out line, out tag, out pos); end_mark.line = line; end_mark.tag = tag; end_mark.pos = pos; } if (document.FindChars(characterSet, start_mark, end_mark, out result)) { return document.LineTagToCharIndex(result.line, result.pos); } return -1; }