1 write to _lineMetrics
PresentationFramework (1)
MS\Internal\Documents\TextBoxView.cs (1)
367_lineMetrics = new List<LineRecord>(1);
126 references to _lineMetrics
PresentationFramework (126)
MS\Internal\Documents\TextBoxView.cs (126)
365if (_lineMetrics == null) 391if (_lineMetrics.Count == 0 || constraintschanged) 406_lineMetrics.Count == 1 && _lineMetrics[0].EndOffset == 0) 408_lineMetrics.Clear(); 424_lineMetrics.Clear(); 433Invariant.Assert(_lineMetrics.Count >= 1); 464if (_lineMetrics == null || _lineMetrics.Count == 0) 646int startOffset = Math.Min(_lineMetrics[_lineMetrics.Count - 1].EndOffset, startPosition.Offset); 647int endOffset = Math.Min(_lineMetrics[_lineMetrics.Count - 1].EndOffset, endPosition.Offset); 665bool firstLinePartiallyCovered = _lineMetrics[firstLineIndex].Offset < startOffset || 666_lineMetrics[firstLineIndex].EndOffset > endOffset; 667bool lastLinePartiallyCovered = _lineMetrics[lastLineIndex].Offset < startOffset || 668_lineMetrics[lastLineIndex].EndOffset > endOffset; 690double contentOffset = GetContentOffset(_lineMetrics[lineIndex].Width, alignment); 691Rect rect = new Rect(contentOffset, lineIndex * _lineHeight, _lineMetrics[lineIndex].Width, _lineHeight); 694ITextPointer endOfLinePosition = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[lineIndex].EndOffset, LogicalDirection.Backward); 724int nextLineIndex = Math.Max(0, Math.Min(_lineMetrics.Count - 1, lineIndex + count)); 734nextLinePosition = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[lineIndex + linesMoved].Offset, LogicalDirection.Forward); 780if (position.Offset > _lineMetrics[lineIndex].Offset) 839if (nextCharacterHit.FirstCharacterIndex + nextCharacterHit.TrailingLength == _lineMetrics[lineIndex].EndOffset && 843if (lineIndex == _lineMetrics.Count - 1) 853else if (nextCharacterHit.FirstCharacterIndex + nextCharacterHit.TrailingLength == _lineMetrics[lineIndex].Offset && 902if (backspaceCharacterHit.FirstCharacterIndex + backspaceCharacterHit.TrailingLength == _lineMetrics[lineIndex].Offset) 935ITextPointer start = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[lineIndex].Offset, LogicalDirection.Forward); 936ITextPointer end = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[lineIndex].Offset + _lineMetrics[lineIndex].ContentLength, LogicalDirection.Forward); 1056int lastValidOffset = _lineMetrics[_lineMetrics.Count - 1].EndOffset; 1068int newLastValidOffset = _lineMetrics[_lineMetrics.Count - 1].EndOffset; 1107if (_lineMetrics != null) 1109_lineMetrics.Clear(); 1131int max = _lineMetrics.Count; 1133Invariant.Assert(_lineMetrics.Count >= 1); 1140LineRecord record = _lineMetrics[index]; 1152if (offset == record.EndOffset && index < _lineMetrics.Count - 1) 1256if (_lineMetrics != null) 1258ITextPointer start = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[0].Offset, LogicalDirection.Backward); 1259ITextPointer end = _host.TextContainer.CreatePointerAtOffset(_lineMetrics[_lineMetrics.Count - 1].EndOffset, LogicalDirection.Forward); 1487if (_lineMetrics.Count == 0) 1528LineRecord metrics = _lineMetrics[lineIndex]; 1596Invariant.Assert(_lineMetrics.Count >= 1); 1604if (point.Y >= _lineHeight * _lineMetrics.Count) 1606return snapToText ? _lineMetrics.Count - 1 : -1; 1613int max = _lineMetrics.Count; 1618LineRecord record = _lineMetrics[index]; 1685LineRecord metrics = _lineMetrics[lineIndex]; 1838LineRecord metrics = _lineMetrics[lineIndex]; 2000int startOffset = Math.Max(_lineMetrics[lineIndex].Offset, unclippedStartOffset); 2001int endOffset = Math.Min(_lineMetrics[lineIndex].EndOffset, unclippedEndOffset); 2008if (unclippedStartOffset == _lineMetrics[lineIndex].EndOffset) 2034Invariant.Assert(endOffset == _lineMetrics[lineIndex].Offset || 2035endOffset == _lineMetrics[lineIndex].Offset + _lineMetrics[lineIndex].ContentLength); 2053if (unclippedEndOffset >= _lineMetrics[lineIndex].EndOffset) 2059double contentOffset = GetContentOffset(_lineMetrics[lineIndex].Width, alignment); 2060Rect rect = new Rect(contentOffset + _lineMetrics[lineIndex].Width, lineIndex * _lineHeight, endOfParaGlyphWidth, _lineHeight); 2086int lineStartOffset = _lineMetrics[lineIndex].Offset; 2087int lineEndOffset = _lineMetrics[lineIndex].EndOffset; 2104if (unclippedStartOffset == _lineMetrics[lineIndex].EndOffset) 2116Invariant.Assert(endOffset == _lineMetrics[lineIndex].Offset || 2117endOffset == _lineMetrics[lineIndex].Offset + _lineMetrics[lineIndex].ContentLength); 2132if (unclippedEndOffset >= _lineMetrics[lineIndex].EndOffset) 2138double contentOffset = GetContentOffset(_lineMetrics[lineIndex].Width, alignment); 2139Rect rect = new Rect(contentOffset + _lineMetrics[lineIndex].Width, 0, endOfParaGlyphWidth, _lineHeight); 2159firstLineIndex = Math.Max(0, Math.Min(firstLineIndex, _lineMetrics.Count - 1)); 2160lastLineIndex = Math.Max(0, Math.Min(lastLineIndex, _lineMetrics.Count - 1)); 2166lastLineIndex = _lineMetrics.Count - 1; 2186if (_lineMetrics.Count == 0) 2194lineOffset = _lineMetrics[_lineMetrics.Count - 1].EndOffset; 2228_lineMetrics.Add(new LineRecord(lineOffset, line)); 2284if (range.StartIndex > _lineMetrics[_lineMetrics.Count - 1].EndOffset) 2304if (range.StartIndex > _lineMetrics[_lineMetrics.Count - 1].EndOffset) 2343for (int i = lineIndex + 1; i < _lineMetrics.Count; i++) 2345_lineMetrics[i].Offset += delta; 2358int origEndOffset = _lineMetrics[lineIndex - 1].EndOffset; 2368&& _lineMetrics[lineIndex - 2].Length == _lineMetrics[lineIndex - 2].ContentLength) 2370_lineMetrics.Clear(); 2378lineOffset = _lineMetrics[lineIndex].Offset; 2391_lineMetrics[lineIndex] = new LineRecord(lineOffset, line); 2418if (endOffset > _lineMetrics[_lineMetrics.Count - 1].EndOffset) 2421endOffset = _lineMetrics[_lineMetrics.Count - 1].EndOffset; 2433for (int i = lastLineIndex + 1; i < _lineMetrics.Count; i++) 2435_lineMetrics[i].Offset += delta; 2452lineOffset = _lineMetrics[lineIndex].Offset; 2462(range.StartIndex > lineOffset || range.StartIndex + -delta < _lineMetrics[lineIndex].EndOffset)) 2469_lineMetrics[lineIndex] = new LineRecord(lineOffset, line); 2480_lineMetrics.RemoveRange(lineIndex, lastLineIndex - lineIndex + 1); 2495int originalEndOffset = _lineMetrics[lineIndex].EndOffset; 2496lineOffset = _lineMetrics[lineIndex].Offset; 2502_lineMetrics[lineIndex] = new LineRecord(lineOffset, line); 2509if (originalEndOffset != _lineMetrics[lineIndex].EndOffset) 2526(lineIndex == _lineMetrics.Count || 2528lineOffset != _lineMetrics[lineIndex].Offset)) 2530if (lineIndex < _lineMetrics.Count && 2531lineOffset >= _lineMetrics[lineIndex].EndOffset) 2538_lineMetrics.RemoveAt(lineIndex); // does not scale! 2549if (lineIndex == _lineMetrics.Count || 2550lineOffset + line.Length <= _lineMetrics[lineIndex].Offset) 2555_lineMetrics.Insert(lineIndex, record); 2564Invariant.Assert(lineOffset < _lineMetrics[lineIndex].EndOffset); 2566var curLine = _lineMetrics[lineIndex]; 2585_lineMetrics[lineIndex] = record; 2602if (endOfParagraph && lineIndex < _lineMetrics.Count) 2604int count = _lineMetrics.Count - lineIndex; 2605_lineMetrics.RemoveRange(lineIndex, count); 2616for (int i = 0; i < _lineMetrics.Count; i++) 2618desiredSize.Width = Math.Max(desiredSize.Width, _lineMetrics[i].Width); 2620desiredSize.Height = _lineMetrics.Count * _lineHeight; 2880_lineMetrics != null && 2881_lineMetrics[_lineMetrics.Count - 1].EndOffset >= position.Offset; 2942int viewportStart = _lineMetrics[firstLineIndex].Offset; 2943int viewportEnd = _lineMetrics[lastLineIndex].EndOffset;