Lines Matching defs:start

53     if (a.start == b.start && a.end == b.end) return a;
54 auto begin = std::max(a.start, b.start);
65 if (a.start == b.start && a.end == b.end) return a;
66 auto begin = std::max(a.start, b.start);
146 auto& start = owner->cluster(fGhostClusterRange.start);
148 size_t numRuns = end.runIndex() - start.runIndex() + 1;
150 for (BlockIndex index = fBlockRange.start; index < fBlockRange.end; ++index) {
179 for (auto runIndex = start.runIndex(); runIndex <= end.runIndex(); ++runIndex) {
194 auto firstRunIndex = start.runIndex();
409 const auto& style = fOwner->block(fBlockRange.start).fStyle;
415 auto& start = fOwner->cluster(fClusterRange.start);
417 SkASSERT(start.runIndex() == end.runIndex());
420 glyphs = GlyphRange(start.startPos(),
424 start.isHardBreak() ? start.startPos() : start.endPos());
427 /*pos=*/glyphs.start,
429 /*fTextShift=*/-run.positionX(glyphs.start), // starting position
509 auto prevCluster = fOwner->cluster(fClusterRange.start);
510 for (auto clusterIndex = fClusterRange.start + 1; clusterIndex < fClusterRange.end; ++clusterIndex) {
874 auto start = cluster->startPos();
887 for (size_t pos = start; pos < end; ++pos) {
894 auto start = cluster->startPos();
906 for (size_t pos = start; pos < end; ++pos) {
912 for (auto clusterIndex = fGhostClusterRange.start; clusterIndex < fGhostClusterRange.end; ++clusterIndex) {
931 fClusterRange.end = fClusterRange.start;
932 fGhostClusterRange.end = fClusterRange.start;
933 fText.end = fText.start;
934 fTextIncludingNewlines.end = fTextIncludingNewlines.start;
935 fTextExcludingSpaces.end = fTextExcludingSpaces.start;
939 fClusterRange.start = fClusterRange.end;
940 fGhostClusterRange.start = fClusterRange.end;
941 fText.start = fText.end;
942 fTextIncludingNewlines.start = fTextIncludingNewlines.end;
943 fTextExcludingSpaces.start = fTextExcludingSpaces.end;
965 for (auto clusterIndex = fGhostClusterRange.end; clusterIndex > fGhostClusterRange.start; --clusterIndex) {
1017 fEllipsis->fClusterStart = cluster.textRange().start;
1043 for (auto clusterIndex = fGhostClusterRange.start; clusterIndex < fGhostClusterRange.end; ++clusterIndex) {
1068 fTextRangeReplacedByEllipsis = TextRange(0, cluster.textRange().start);
1069 fClusterRange.start = clusterIndex;
1070 fGhostClusterRange.start = fClusterRange.start;
1072 fText.start = cluster.textRange().start;
1073 fTextIncludingNewlines.start = cluster.textRange().start;
1074 fTextExcludingSpaces.start = cluster.textRange().start;
1128 for (auto i = fBlockRange.start; i < fBlockRange.end; ++i) {
1133 } else if (!run.leftToRight() && cluster->textRange().start <= block.fRange.end) {
1268 // Find [start:end] clusters for the text
1270 // Update textRange by cluster edges (shift start up to the edge of the cluster)
1274 std::tie(found, updatedTextRange.start, updatedTextRange.end) =
1285 // Update text range by grapheme edges (shift start up to the edge of the grapheme)
1286 std::tie(found, updatedTextRange.start, updatedTextRange.end) =
1293 //SkDebugf("Correct range: [%d:%d) -> [%d:%d)\n", textRange.start, textRange.end, startIndex, endIndex);
1296 // Move the start until it's on the grapheme edge (and glypheme, too)
1298 Cluster* start = &fOwner->cluster(fOwner->clusterIndex(textRange.start));
1302 std::swap(start, end);
1304 result.pos = start->startPos();
1305 result.size = (end->isHardBreak() ? end->startPos() : end->endPos()) - start->startPos();
1306 auto textStartInRun = run->positionX(start->startPos());
1309 std::swap(start, end);
1313 SkDebugf("Justification for [%d:%d)\n", textRange.start, textRange.end);
1335 auto leftCorrection = start->sizeToChar(originalTextRange.start);
1339 originalTextRange.start, originalTextRange.end, textRange.start, textRange.end,
1397 SkASSERT(trimmedRange.start == trailedRange.start);
1425 if (intersect == EMPTY_TEXT || (intersect.start != curGlyphRange.start && intersect.end != curGlyphRange.end)) {
1428 if (intersect.start == curGlyphRange.start) {
1431 curGlyphRange = TextRange(curGlyphRange.start, intersect.start);
1434 context.pos = curGlyphRange.start;
1462 for (BlockIndex index = fBlockRange.start; index < fBlockRange.end; ++index) {
1466 TextRange(fEllipsis->textRange().start - 1, fEllipsis->textRange().end));
1472 if (block->fRange.start >= run->fClusterStart && block->fRange.end < run->fClusterStart) {
1496 TextIndex start = EMPTY_INDEX;
1503 const BlockIndex blockRangeSize = fBlockRange.end - fBlockRange.start;
1510 (run->leftToRight() ? fBlockRange.start + index : fBlockRange.end - index - 1);
1515 if (start == EMPTY_INDEX) {
1521 intersect = TextRange(start, start + size);
1527 if (start != EMPTY_INDEX && style->matchOneAttribute(styleType, *prevStyle)) {
1530 start = std::min(intersect.start, start);
1532 } else if (start == EMPTY_INDEX ) {
1536 start = intersect.start;
1547 auto runStyleTextRange = TextRange(start, start + size);
1576 start = intersect.start;
1650 // that RTL run could start before the line (trailing spaces)
1703 // that RTL run could start before the line (trailing spaces)
1746 result.fStartIndex = fOwner->getUTF16Index(fTextExcludingSpaces.start);
1795 result.fLineMetrics.emplace(textRange.start, styleMetrics);
1920 this->trimmedText().end > intersect.start) // Range has more than just spaces
2235 size_t pos = fClusterRange.start;
2278 for (auto clusterIndex = range.end - 1; clusterIndex >= range.start; clusterIndex--) {
2284 if (clusterIndex == range.start) {
2335 auto clusterIndex = range.start - 1;
2337 if (prevRunIndex != owner->cluster(range.start).runIndex()) {
2376 if (range.start > 0) {
2380 for (auto clusterIndex = range.start; clusterIndex < range.end; clusterIndex++) {
2413 if (endWhitespaceCount == (fGhostClusterRange.end - fGhostClusterRange.start)) {
2422 for (auto clusterIndex = fGhostClusterRange.start; clusterIndex < fGhostClusterRange.end; clusterIndex++) {
2464 int32_t index = fGhostClusterRange.start;
2470 for (auto clusterIndex = fGhostClusterRange.start; clusterIndex < fGhostClusterRange.end; ++clusterIndex) {
2492 } else if (index > fGhostClusterRange.start) {
2493 size_t clusterIndex = fGhostClusterRange.start;
2509 for (auto clusterIndex = fGhostClusterRange.start; clusterIndex < fGhostClusterRange.end; ++clusterIndex) {