1 write to _lineMetrics
PresentationFramework (1)
MS\Internal\Documents\TextBoxView.cs (1)
373
_lineMetrics
= new List<LineRecord>(1);
122 references to _lineMetrics
PresentationFramework (122)
MS\Internal\Documents\TextBoxView.cs (122)
371
if (
_lineMetrics
== null)
397
if (
_lineMetrics
.Count == 0 || constraintschanged)
412
_lineMetrics
.Count == 1 &&
_lineMetrics
[0].EndOffset == 0)
414
_lineMetrics
.Clear();
430
_lineMetrics
.Clear();
439
Invariant.Assert(
_lineMetrics
.Count >= 1);
470
if (
_lineMetrics
== null ||
_lineMetrics
.Count == 0)
652
int startOffset = Math.Min(
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset, startPosition.Offset);
653
int endOffset = Math.Min(
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset, endPosition.Offset);
671
bool firstLinePartiallyCovered =
_lineMetrics
[firstLineIndex].Offset < startOffset ||
672
_lineMetrics
[firstLineIndex].EndOffset > endOffset;
673
bool lastLinePartiallyCovered =
_lineMetrics
[lastLineIndex].Offset < startOffset ||
674
_lineMetrics
[lastLineIndex].EndOffset > endOffset;
696
double contentOffset = GetContentOffset(
_lineMetrics
[lineIndex].Width, alignment);
697
Rect rect = new Rect(contentOffset, lineIndex * _lineHeight,
_lineMetrics
[lineIndex].Width, _lineHeight);
700
ITextPointer endOfLinePosition = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[lineIndex].EndOffset, LogicalDirection.Backward);
730
int nextLineIndex = Math.Max(0, Math.Min(
_lineMetrics
.Count - 1, lineIndex + count));
740
nextLinePosition = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[lineIndex + linesMoved].Offset, LogicalDirection.Forward);
786
if (position.Offset >
_lineMetrics
[lineIndex].Offset)
845
if (nextCharacterHit.FirstCharacterIndex + nextCharacterHit.TrailingLength ==
_lineMetrics
[lineIndex].EndOffset &&
849
if (lineIndex ==
_lineMetrics
.Count - 1)
859
else if (nextCharacterHit.FirstCharacterIndex + nextCharacterHit.TrailingLength ==
_lineMetrics
[lineIndex].Offset &&
908
if (backspaceCharacterHit.FirstCharacterIndex + backspaceCharacterHit.TrailingLength ==
_lineMetrics
[lineIndex].Offset)
941
ITextPointer start = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[lineIndex].Offset, LogicalDirection.Forward);
942
ITextPointer end = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[lineIndex].Offset +
_lineMetrics
[lineIndex].ContentLength, LogicalDirection.Forward);
1062
int lastValidOffset =
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset;
1074
int newLastValidOffset =
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset;
1113
if (
_lineMetrics
!= null)
1115
_lineMetrics
.Clear();
1137
int max =
_lineMetrics
.Count;
1139
Invariant.Assert(
_lineMetrics
.Count >= 1);
1146
LineRecord record =
_lineMetrics
[index];
1158
if (offset == record.EndOffset && index <
_lineMetrics
.Count - 1)
1262
if (
_lineMetrics
!= null)
1264
ITextPointer start = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[0].Offset, LogicalDirection.Backward);
1265
ITextPointer end = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset, LogicalDirection.Forward);
1493
if (
_lineMetrics
.Count == 0)
1534
LineRecord metrics =
_lineMetrics
[lineIndex];
1602
Invariant.Assert(
_lineMetrics
.Count >= 1);
1610
if (point.Y >= _lineHeight *
_lineMetrics
.Count)
1612
return snapToText ?
_lineMetrics
.Count - 1 : -1;
1619
int max =
_lineMetrics
.Count;
1624
LineRecord record =
_lineMetrics
[index];
1691
LineRecord metrics =
_lineMetrics
[lineIndex];
1844
LineRecord metrics =
_lineMetrics
[lineIndex];
2006
int startOffset = Math.Max(
_lineMetrics
[lineIndex].Offset, unclippedStartOffset);
2007
int endOffset = Math.Min(
_lineMetrics
[lineIndex].EndOffset, unclippedEndOffset);
2014
if (unclippedStartOffset ==
_lineMetrics
[lineIndex].EndOffset)
2040
Invariant.Assert(endOffset ==
_lineMetrics
[lineIndex].Offset ||
2041
endOffset ==
_lineMetrics
[lineIndex].Offset +
_lineMetrics
[lineIndex].ContentLength);
2059
if (unclippedEndOffset >=
_lineMetrics
[lineIndex].EndOffset)
2065
double contentOffset = GetContentOffset(
_lineMetrics
[lineIndex].Width, alignment);
2066
Rect rect = new Rect(contentOffset +
_lineMetrics
[lineIndex].Width, lineIndex * _lineHeight, endOfParaGlyphWidth, _lineHeight);
2092
int lineStartOffset =
_lineMetrics
[lineIndex].Offset;
2093
int lineEndOffset =
_lineMetrics
[lineIndex].EndOffset;
2110
if (unclippedStartOffset ==
_lineMetrics
[lineIndex].EndOffset)
2122
Invariant.Assert(endOffset ==
_lineMetrics
[lineIndex].Offset ||
2123
endOffset ==
_lineMetrics
[lineIndex].Offset +
_lineMetrics
[lineIndex].ContentLength);
2138
if (unclippedEndOffset >=
_lineMetrics
[lineIndex].EndOffset)
2144
double contentOffset = GetContentOffset(
_lineMetrics
[lineIndex].Width, alignment);
2145
Rect rect = new Rect(contentOffset +
_lineMetrics
[lineIndex].Width, 0, endOfParaGlyphWidth, _lineHeight);
2165
firstLineIndex = Math.Max(0, Math.Min(firstLineIndex,
_lineMetrics
.Count - 1));
2166
lastLineIndex = Math.Max(0, Math.Min(lastLineIndex,
_lineMetrics
.Count - 1));
2172
lastLineIndex =
_lineMetrics
.Count - 1;
2192
if (
_lineMetrics
.Count == 0)
2200
lineOffset =
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset;
2234
_lineMetrics
.Add(new LineRecord(lineOffset, line));
2290
if (range.StartIndex >
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset)
2310
if (range.StartIndex >
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset)
2349
for (int i = lineIndex + 1; i <
_lineMetrics
.Count; i++)
2351
_lineMetrics
[i].Offset += delta;
2368
lineOffset =
_lineMetrics
[lineIndex].Offset;
2381
_lineMetrics
[lineIndex] = new LineRecord(lineOffset, line);
2408
if (endOffset >
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset)
2411
endOffset =
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset;
2423
for (int i = lastLineIndex + 1; i <
_lineMetrics
.Count; i++)
2425
_lineMetrics
[i].Offset += delta;
2442
lineOffset =
_lineMetrics
[lineIndex].Offset;
2452
(range.StartIndex > lineOffset || range.StartIndex + -delta <
_lineMetrics
[lineIndex].EndOffset))
2459
_lineMetrics
[lineIndex] = new LineRecord(lineOffset, line);
2470
_lineMetrics
.RemoveRange(lineIndex, lastLineIndex - lineIndex + 1);
2485
int originalEndOffset =
_lineMetrics
[lineIndex].EndOffset;
2486
lineOffset =
_lineMetrics
[lineIndex].Offset;
2492
_lineMetrics
[lineIndex] = new LineRecord(lineOffset, line);
2499
if (originalEndOffset !=
_lineMetrics
[lineIndex].EndOffset)
2516
(lineIndex ==
_lineMetrics
.Count ||
2518
lineOffset !=
_lineMetrics
[lineIndex].Offset))
2520
if (lineIndex <
_lineMetrics
.Count &&
2521
lineOffset >=
_lineMetrics
[lineIndex].EndOffset)
2528
_lineMetrics
.RemoveAt(lineIndex); // does not scale!
2539
if (lineIndex ==
_lineMetrics
.Count ||
2540
lineOffset + line.Length <=
_lineMetrics
[lineIndex].Offset)
2545
_lineMetrics
.Insert(lineIndex, record);
2554
Invariant.Assert(lineOffset <
_lineMetrics
[lineIndex].EndOffset);
2556
var curLine =
_lineMetrics
[lineIndex];
2575
_lineMetrics
[lineIndex] = record;
2592
if (endOfParagraph && lineIndex <
_lineMetrics
.Count)
2594
int count =
_lineMetrics
.Count - lineIndex;
2595
_lineMetrics
.RemoveRange(lineIndex, count);
2606
for (int i = 0; i <
_lineMetrics
.Count; i++)
2608
desiredSize.Width = Math.Max(desiredSize.Width,
_lineMetrics
[i].Width);
2610
desiredSize.Height =
_lineMetrics
.Count * _lineHeight;
2882
_lineMetrics
!= null &&
2883
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset >= position.Offset;
2944
int viewportStart =
_lineMetrics
[firstLineIndex].Offset;
2945
int viewportEnd =
_lineMetrics
[lastLineIndex].EndOffset;