MS\Internal\Annotations\TextAnchor.cs (46)
53_segments.Add(new TextSegment(segment.Start, segment.End));
122for (int i = 0; i < _segments.Count; i++)
124if (_segments[i].Contains(textPointer))
170if (other._segments.Count != this._segments.Count)
173for (int i = 0; i < _segments.Count; i++)
175if ((_segments[i].Start.CompareTo(other._segments[i].Start) != 0) ||
176(_segments[i].End.CompareTo(other._segments[i].End) != 0))
196IEnumerator<TextSegment> ourEnumerator = _segments.GetEnumerator();
290while (currentIndex < anchor._segments.Count && hasMore)
294current = anchor._segments[currentIndex];
311anchor._segments.RemoveAt(currentIndex);
318anchor._segments[currentIndex] = CreateNormalizedSegment(otherSegment.End, current.End);
331anchor._segments[currentIndex] = CreateNormalizedSegment(current.Start, otherSegment.Start);
337anchor._segments.Insert(currentIndex + 1, CreateNormalizedSegment(otherSegment.End, current.End));
348if (anchor._segments.Count > 0)
392while (current < anchor._segments.Count && hasMore)
396currentSegment = anchor._segments[current];
409anchor._segments.RemoveAt(current);
420anchor._segments[current] = CreateNormalizedSegment(otherSegment.Start, currentSegment.End);
429anchor._segments[current] = CreateNormalizedSegment(currentSegment.Start, otherSegment.End);
431anchor._segments.Insert(current + 1, CreateNormalizedSegment(otherSegment.End, currentSegment.End));
447if (!hasMore && current < anchor._segments.Count)
449anchor._segments.RemoveRange(current, anchor._segments.Count - current);
452if (anchor._segments.Count == 0)
508return _segments.Count > 0 ? _segments[0].Start : null;
519return _segments.Count > 0 ? _segments[_segments.Count - 1].End : null;
531return (_segments.Count == 1 && (object)_segments[0].Start == (object)_segments[0].End);
546for (int i = 0; i < _segments.Count; i++)
548textBuffer.Append(TextRangeBase.GetTextInternal(_segments[i].Start, _segments[i].End));
562return _segments.AsReadOnly();
628for (; i < _segments.Count; i++)
630if (newSegment.Start.CompareTo(_segments[i].Start) < 0)
635if (i > 0 && newSegment.Start.CompareTo(_segments[i - 1].End) < 0)
639if (i < _segments.Count && newSegment.End.CompareTo(_segments[i].Start) > 0)
642_segments.Insert(i, newSegment);