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