1 write to _lineMetrics
PresentationFramework (1)
MS\Internal\Documents\TextBoxView.cs (1)
374_lineMetrics = new List<LineRecord>(1);
122 references to _lineMetrics
PresentationFramework (122)
MS\Internal\Documents\TextBoxView.cs (122)
372if (_lineMetrics == null) 398if (_lineMetrics.Count == 0 || constraintschanged) 413_lineMetrics.Count == 1 && _lineMetrics[0].EndOffset == 0) 415_lineMetrics.Clear(); 431_lineMetrics.Clear(); 440Invariant.Assert(_lineMetrics.Count >= 1); 471if (_lineMetrics == null || _lineMetrics.Count == 0) 653int startOffset = Math.Min(_lineMetrics[_lineMetrics.Count - 1].EndOffset, startPosition.Offset); 654int endOffset = Math.Min(_lineMetrics[_lineMetrics.Count - 1].EndOffset, endPosition.Offset); 672bool firstLinePartiallyCovered = _lineMetrics[firstLineIndex].Offset < startOffset || 673_lineMetrics[firstLineIndex].EndOffset > endOffset; 674bool lastLinePartiallyCovered = _lineMetrics[lastLineIndex].Offset < startOffset || 675_lineMetrics[lastLineIndex].EndOffset > endOffset; 697double contentOffset = GetContentOffset(_lineMetrics[lineIndex].Width, alignment); 698Rect rect = new Rect(contentOffset, lineIndex * _lineHeight, _lineMetrics[lineIndex].Width, _lineHeight); 701ITextPointer endOfLinePosition = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[lineIndex].EndOffset, LogicalDirection.Backward); 731int nextLineIndex = Math.Max(0, Math.Min(_lineMetrics.Count - 1, lineIndex + count)); 741nextLinePosition = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[lineIndex + linesMoved].Offset, LogicalDirection.Forward); 787if (position.Offset > _lineMetrics[lineIndex].Offset) 846if (nextCharacterHit.FirstCharacterIndex + nextCharacterHit.TrailingLength == _lineMetrics[lineIndex].EndOffset && 850if (lineIndex == _lineMetrics.Count - 1) 860else if (nextCharacterHit.FirstCharacterIndex + nextCharacterHit.TrailingLength == _lineMetrics[lineIndex].Offset && 909if (backspaceCharacterHit.FirstCharacterIndex + backspaceCharacterHit.TrailingLength == _lineMetrics[lineIndex].Offset) 942ITextPointer start = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[lineIndex].Offset, LogicalDirection.Forward); 943ITextPointer end = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[lineIndex].Offset + _lineMetrics[lineIndex].ContentLength, LogicalDirection.Forward); 1063int lastValidOffset = _lineMetrics[_lineMetrics.Count - 1].EndOffset; 1075int newLastValidOffset = _lineMetrics[_lineMetrics.Count - 1].EndOffset; 1114if (_lineMetrics != null) 1116_lineMetrics.Clear(); 1138int max = _lineMetrics.Count; 1140Invariant.Assert(_lineMetrics.Count >= 1); 1147LineRecord record = _lineMetrics[index]; 1159if (offset == record.EndOffset && index < _lineMetrics.Count - 1) 1263if (_lineMetrics != null) 1265ITextPointer start = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[0].Offset, LogicalDirection.Backward); 1266ITextPointer end = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[_lineMetrics.Count - 1].EndOffset, LogicalDirection.Forward); 1494if (_lineMetrics.Count == 0) 1535LineRecord metrics = _lineMetrics[lineIndex]; 1603Invariant.Assert(_lineMetrics.Count >= 1); 1611if (point.Y >= _lineHeight * _lineMetrics.Count) 1613return snapToText ? _lineMetrics.Count - 1 : -1; 1620int max = _lineMetrics.Count; 1625LineRecord record = _lineMetrics[index]; 1692LineRecord metrics = _lineMetrics[lineIndex]; 1845LineRecord metrics = _lineMetrics[lineIndex]; 2007int startOffset = Math.Max(_lineMetrics[lineIndex].Offset, unclippedStartOffset); 2008int endOffset = Math.Min(_lineMetrics[lineIndex].EndOffset, unclippedEndOffset); 2015if (unclippedStartOffset == _lineMetrics[lineIndex].EndOffset) 2041Invariant.Assert(endOffset == _lineMetrics[lineIndex].Offset || 2042endOffset == _lineMetrics[lineIndex].Offset + _lineMetrics[lineIndex].ContentLength); 2060if (unclippedEndOffset >= _lineMetrics[lineIndex].EndOffset) 2066double contentOffset = GetContentOffset(_lineMetrics[lineIndex].Width, alignment); 2067Rect rect = new Rect(contentOffset + _lineMetrics[lineIndex].Width, lineIndex * _lineHeight, endOfParaGlyphWidth, _lineHeight); 2093int lineStartOffset = _lineMetrics[lineIndex].Offset; 2094int lineEndOffset = _lineMetrics[lineIndex].EndOffset; 2111if (unclippedStartOffset == _lineMetrics[lineIndex].EndOffset) 2123Invariant.Assert(endOffset == _lineMetrics[lineIndex].Offset || 2124endOffset == _lineMetrics[lineIndex].Offset + _lineMetrics[lineIndex].ContentLength); 2139if (unclippedEndOffset >= _lineMetrics[lineIndex].EndOffset) 2145double contentOffset = GetContentOffset(_lineMetrics[lineIndex].Width, alignment); 2146Rect rect = new Rect(contentOffset + _lineMetrics[lineIndex].Width, 0, endOfParaGlyphWidth, _lineHeight); 2166firstLineIndex = Math.Max(0, Math.Min(firstLineIndex, _lineMetrics.Count - 1)); 2167lastLineIndex = Math.Max(0, Math.Min(lastLineIndex, _lineMetrics.Count - 1)); 2173lastLineIndex = _lineMetrics.Count - 1; 2193if (_lineMetrics.Count == 0) 2201lineOffset = _lineMetrics[_lineMetrics.Count - 1].EndOffset; 2235_lineMetrics.Add(new LineRecord(lineOffset, line)); 2291if (range.StartIndex > _lineMetrics[_lineMetrics.Count - 1].EndOffset) 2311if (range.StartIndex > _lineMetrics[_lineMetrics.Count - 1].EndOffset) 2350for (int i = lineIndex + 1; i < _lineMetrics.Count; i++) 2352_lineMetrics[i].Offset += delta; 2369lineOffset = _lineMetrics[lineIndex].Offset; 2382_lineMetrics[lineIndex] = new LineRecord(lineOffset, line); 2409if (endOffset > _lineMetrics[_lineMetrics.Count - 1].EndOffset) 2412endOffset = _lineMetrics[_lineMetrics.Count - 1].EndOffset; 2424for (int i = lastLineIndex + 1; i < _lineMetrics.Count; i++) 2426_lineMetrics[i].Offset += delta; 2443lineOffset = _lineMetrics[lineIndex].Offset; 2453(range.StartIndex > lineOffset || range.StartIndex + -delta < _lineMetrics[lineIndex].EndOffset)) 2460_lineMetrics[lineIndex] = new LineRecord(lineOffset, line); 2471_lineMetrics.RemoveRange(lineIndex, lastLineIndex - lineIndex + 1); 2486int originalEndOffset = _lineMetrics[lineIndex].EndOffset; 2487lineOffset = _lineMetrics[lineIndex].Offset; 2493_lineMetrics[lineIndex] = new LineRecord(lineOffset, line); 2500if (originalEndOffset != _lineMetrics[lineIndex].EndOffset) 2517(lineIndex == _lineMetrics.Count || 2519lineOffset != _lineMetrics[lineIndex].Offset)) 2521if (lineIndex < _lineMetrics.Count && 2522lineOffset >= _lineMetrics[lineIndex].EndOffset) 2529_lineMetrics.RemoveAt(lineIndex); // does not scale! 2540if (lineIndex == _lineMetrics.Count || 2541lineOffset + line.Length <= _lineMetrics[lineIndex].Offset) 2546_lineMetrics.Insert(lineIndex, record); 2555Invariant.Assert(lineOffset < _lineMetrics[lineIndex].EndOffset); 2557var curLine = _lineMetrics[lineIndex]; 2576_lineMetrics[lineIndex] = record; 2593if (endOfParagraph && lineIndex < _lineMetrics.Count) 2595int count = _lineMetrics.Count - lineIndex; 2596_lineMetrics.RemoveRange(lineIndex, count); 2607for (int i = 0; i < _lineMetrics.Count; i++) 2609desiredSize.Width = Math.Max(desiredSize.Width, _lineMetrics[i].Width); 2611desiredSize.Height = _lineMetrics.Count * _lineHeight; 2883_lineMetrics != null && 2884_lineMetrics[_lineMetrics.Count - 1].EndOffset >= position.Offset; 2945int viewportStart = _lineMetrics[firstLineIndex].Offset; 2946int viewportEnd = _lineMetrics[lastLineIndex].EndOffset;