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)
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;
2358
int origEndOffset =
_lineMetrics
[lineIndex - 1].EndOffset;
2368
&&
_lineMetrics
[lineIndex - 2].Length ==
_lineMetrics
[lineIndex - 2].ContentLength)
2370
_lineMetrics
.Clear();
2378
lineOffset =
_lineMetrics
[lineIndex].Offset;
2391
_lineMetrics
[lineIndex] = new LineRecord(lineOffset, line);
2418
if (endOffset >
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset)
2421
endOffset =
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset;
2433
for (int i = lastLineIndex + 1; i <
_lineMetrics
.Count; i++)
2435
_lineMetrics
[i].Offset += delta;
2452
lineOffset =
_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);
2495
int originalEndOffset =
_lineMetrics
[lineIndex].EndOffset;
2496
lineOffset =
_lineMetrics
[lineIndex].Offset;
2502
_lineMetrics
[lineIndex] = new LineRecord(lineOffset, line);
2509
if (originalEndOffset !=
_lineMetrics
[lineIndex].EndOffset)
2526
(lineIndex ==
_lineMetrics
.Count ||
2528
lineOffset !=
_lineMetrics
[lineIndex].Offset))
2530
if (lineIndex <
_lineMetrics
.Count &&
2531
lineOffset >=
_lineMetrics
[lineIndex].EndOffset)
2538
_lineMetrics
.RemoveAt(lineIndex); // does not scale!
2549
if (lineIndex ==
_lineMetrics
.Count ||
2550
lineOffset + line.Length <=
_lineMetrics
[lineIndex].Offset)
2555
_lineMetrics
.Insert(lineIndex, record);
2564
Invariant.Assert(lineOffset <
_lineMetrics
[lineIndex].EndOffset);
2566
var curLine =
_lineMetrics
[lineIndex];
2585
_lineMetrics
[lineIndex] = record;
2602
if (endOfParagraph && lineIndex <
_lineMetrics
.Count)
2604
int count =
_lineMetrics
.Count - lineIndex;
2605
_lineMetrics
.RemoveRange(lineIndex, count);
2616
for (int i = 0; i <
_lineMetrics
.Count; i++)
2618
desiredSize.Width = Math.Max(desiredSize.Width,
_lineMetrics
[i].Width);
2620
desiredSize.Height =
_lineMetrics
.Count * _lineHeight;
2880
_lineMetrics
!= null &&
2881
_lineMetrics
[
_lineMetrics
.Count - 1].EndOffset >= position.Offset;
2942
int viewportStart =
_lineMetrics
[firstLineIndex].Offset;
2943
int viewportEnd =
_lineMetrics
[lastLineIndex].EndOffset;