1 write to _lineMetrics
PresentationFramework (1)
MS\Internal\Documents\TextBoxView.cs (1)
367
_lineMetrics
= new List<LineRecord>(1);
122 references to _lineMetrics
PresentationFramework (122)
MS\Internal\Documents\TextBoxView.cs (122)
365
if (
_lineMetrics
== null)
391
if (
_lineMetrics
.Count == 0 || constraintschanged)
406
_lineMetrics
.Count == 1 &&
_lineMetrics
[0].EndOffset == 0)
408
_lineMetrics
.Clear();
424
_lineMetrics
.Clear();
433
Invariant.Assert(
_lineMetrics
.Count >= 1);
464
if (
_lineMetrics
== null ||
_lineMetrics
.Count == 0)
646
int startOffset = Math.Min(
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset, startPosition.Offset);
647
int endOffset = Math.Min(
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset, endPosition.Offset);
665
bool firstLinePartiallyCovered =
_lineMetrics
[firstLineIndex].Offset < startOffset ||
666
_lineMetrics
[firstLineIndex].EndOffset > endOffset;
667
bool lastLinePartiallyCovered =
_lineMetrics
[lastLineIndex].Offset < startOffset ||
668
_lineMetrics
[lastLineIndex].EndOffset > endOffset;
690
double contentOffset = GetContentOffset(
_lineMetrics
[lineIndex].Width, alignment);
691
Rect rect = new Rect(contentOffset, lineIndex * _lineHeight,
_lineMetrics
[lineIndex].Width, _lineHeight);
694
ITextPointer endOfLinePosition = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[lineIndex].EndOffset, LogicalDirection.Backward);
724
int nextLineIndex = Math.Max(0, Math.Min(
_lineMetrics
.Count - 1, lineIndex + count));
734
nextLinePosition = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[lineIndex + linesMoved].Offset, LogicalDirection.Forward);
780
if (position.Offset >
_lineMetrics
[lineIndex].Offset)
839
if (nextCharacterHit.FirstCharacterIndex + nextCharacterHit.TrailingLength ==
_lineMetrics
[lineIndex].EndOffset &&
843
if (lineIndex ==
_lineMetrics
.Count - 1)
853
else if (nextCharacterHit.FirstCharacterIndex + nextCharacterHit.TrailingLength ==
_lineMetrics
[lineIndex].Offset &&
902
if (backspaceCharacterHit.FirstCharacterIndex + backspaceCharacterHit.TrailingLength ==
_lineMetrics
[lineIndex].Offset)
935
ITextPointer start = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[lineIndex].Offset, LogicalDirection.Forward);
936
ITextPointer end = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[lineIndex].Offset +
_lineMetrics
[lineIndex].ContentLength, LogicalDirection.Forward);
1056
int lastValidOffset =
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset;
1068
int newLastValidOffset =
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset;
1107
if (
_lineMetrics
!= null)
1109
_lineMetrics
.Clear();
1131
int max =
_lineMetrics
.Count;
1133
Invariant.Assert(
_lineMetrics
.Count >= 1);
1140
LineRecord record =
_lineMetrics
[index];
1152
if (offset == record.EndOffset && index <
_lineMetrics
.Count - 1)
1256
if (
_lineMetrics
!= null)
1258
ITextPointer start = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[0].Offset, LogicalDirection.Backward);
1259
ITextPointer end = _host.TextContainer.CreatePointerAtOffset(
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset, LogicalDirection.Forward);
1487
if (
_lineMetrics
.Count == 0)
1528
LineRecord metrics =
_lineMetrics
[lineIndex];
1596
Invariant.Assert(
_lineMetrics
.Count >= 1);
1604
if (point.Y >= _lineHeight *
_lineMetrics
.Count)
1606
return snapToText ?
_lineMetrics
.Count - 1 : -1;
1613
int max =
_lineMetrics
.Count;
1618
LineRecord record =
_lineMetrics
[index];
1685
LineRecord metrics =
_lineMetrics
[lineIndex];
1838
LineRecord metrics =
_lineMetrics
[lineIndex];
2000
int startOffset = Math.Max(
_lineMetrics
[lineIndex].Offset, unclippedStartOffset);
2001
int endOffset = Math.Min(
_lineMetrics
[lineIndex].EndOffset, unclippedEndOffset);
2008
if (unclippedStartOffset ==
_lineMetrics
[lineIndex].EndOffset)
2034
Invariant.Assert(endOffset ==
_lineMetrics
[lineIndex].Offset ||
2035
endOffset ==
_lineMetrics
[lineIndex].Offset +
_lineMetrics
[lineIndex].ContentLength);
2053
if (unclippedEndOffset >=
_lineMetrics
[lineIndex].EndOffset)
2059
double contentOffset = GetContentOffset(
_lineMetrics
[lineIndex].Width, alignment);
2060
Rect rect = new Rect(contentOffset +
_lineMetrics
[lineIndex].Width, lineIndex * _lineHeight, endOfParaGlyphWidth, _lineHeight);
2086
int lineStartOffset =
_lineMetrics
[lineIndex].Offset;
2087
int lineEndOffset =
_lineMetrics
[lineIndex].EndOffset;
2104
if (unclippedStartOffset ==
_lineMetrics
[lineIndex].EndOffset)
2116
Invariant.Assert(endOffset ==
_lineMetrics
[lineIndex].Offset ||
2117
endOffset ==
_lineMetrics
[lineIndex].Offset +
_lineMetrics
[lineIndex].ContentLength);
2132
if (unclippedEndOffset >=
_lineMetrics
[lineIndex].EndOffset)
2138
double contentOffset = GetContentOffset(
_lineMetrics
[lineIndex].Width, alignment);
2139
Rect rect = new Rect(contentOffset +
_lineMetrics
[lineIndex].Width, 0, endOfParaGlyphWidth, _lineHeight);
2159
firstLineIndex = Math.Max(0, Math.Min(firstLineIndex,
_lineMetrics
.Count - 1));
2160
lastLineIndex = Math.Max(0, Math.Min(lastLineIndex,
_lineMetrics
.Count - 1));
2166
lastLineIndex =
_lineMetrics
.Count - 1;
2186
if (
_lineMetrics
.Count == 0)
2194
lineOffset =
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset;
2228
_lineMetrics
.Add(new LineRecord(lineOffset, line));
2284
if (range.StartIndex >
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset)
2304
if (range.StartIndex >
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset)
2343
for (int i = lineIndex + 1; i <
_lineMetrics
.Count; i++)
2345
_lineMetrics
[i].Offset += delta;
2362
lineOffset =
_lineMetrics
[lineIndex].Offset;
2375
_lineMetrics
[lineIndex] = new LineRecord(lineOffset, line);
2402
if (endOffset >
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset)
2405
endOffset =
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset;
2417
for (int i = lastLineIndex + 1; i <
_lineMetrics
.Count; i++)
2419
_lineMetrics
[i].Offset += delta;
2436
lineOffset =
_lineMetrics
[lineIndex].Offset;
2446
(range.StartIndex > lineOffset || range.StartIndex + -delta <
_lineMetrics
[lineIndex].EndOffset))
2453
_lineMetrics
[lineIndex] = new LineRecord(lineOffset, line);
2464
_lineMetrics
.RemoveRange(lineIndex, lastLineIndex - lineIndex + 1);
2479
int originalEndOffset =
_lineMetrics
[lineIndex].EndOffset;
2480
lineOffset =
_lineMetrics
[lineIndex].Offset;
2486
_lineMetrics
[lineIndex] = new LineRecord(lineOffset, line);
2493
if (originalEndOffset !=
_lineMetrics
[lineIndex].EndOffset)
2510
(lineIndex ==
_lineMetrics
.Count ||
2512
lineOffset !=
_lineMetrics
[lineIndex].Offset))
2514
if (lineIndex <
_lineMetrics
.Count &&
2515
lineOffset >=
_lineMetrics
[lineIndex].EndOffset)
2522
_lineMetrics
.RemoveAt(lineIndex); // does not scale!
2533
if (lineIndex ==
_lineMetrics
.Count ||
2534
lineOffset + line.Length <=
_lineMetrics
[lineIndex].Offset)
2539
_lineMetrics
.Insert(lineIndex, record);
2548
Invariant.Assert(lineOffset <
_lineMetrics
[lineIndex].EndOffset);
2550
var curLine =
_lineMetrics
[lineIndex];
2569
_lineMetrics
[lineIndex] = record;
2586
if (endOfParagraph && lineIndex <
_lineMetrics
.Count)
2588
int count =
_lineMetrics
.Count - lineIndex;
2589
_lineMetrics
.RemoveRange(lineIndex, count);
2600
for (int i = 0; i <
_lineMetrics
.Count; i++)
2602
desiredSize.Width = Math.Max(desiredSize.Width,
_lineMetrics
[i].Width);
2604
desiredSize.Height =
_lineMetrics
.Count * _lineHeight;
2864
_lineMetrics
!= null &&
2865
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset >= position.Offset;
2926
int viewportStart =
_lineMetrics
[firstLineIndex].Offset;
2927
int viewportEnd =
_lineMetrics
[lastLineIndex].EndOffset;