public bool MoveNext() { if (_index < _line.Runs.Count) { Line.Run run = _line.Runs[_index]; _agent.offset = run.offset; _agent.length = run.length; _agent.level = run.level; ++_index; return(true); } Reset(); return(false); }
public bool MoveNext() { int runCount = _line.Runs.Count; for (; _runIndex < runCount; _runIndex++) { Line.Run run = _line.Runs[_runIndex]; if ((run.level & 1) != 0) { int index = _charIndex; int limit = run.offset + run.length; if (index == -1) { index = run.offset; } for (; index < limit; index++) { int mirror = PairingLookup.DetermineMirror(_line.Text[index]); if (mirror != 0) { _charIndex = index + 1; _agent.index = index; _agent.mirror = mirror; return(true); } } } _charIndex = -1; } Reset(); return(false); }