Lines Matching defs:start
30 SkDebugf("Run [%zu:%zu)\n", fCurrentRun->fTextRange.start, fCurrentRun->fTextRange.end);
70 resolved.fText.start, resolved.fText.end);
77 SkDebugf("[%zu:%zu) ", resolved.fGlyphs.start, resolved.fGlyphs.end);
79 resolved.fText.start, resolved.fText.end,
86 SkDebugf("[%zu:%zu)\n", unresolved.fText.start, unresolved.fText.end);
95 std::swap(resolvedTextLimits.start, resolvedTextLimits.end);
97 TextIndex resolvedTextStart = resolvedTextLimits.start;
115 TextRange resolvedText(resolvedTextStart, fCurrentRun->leftToRight() ? unresolved.fText.start : unresolved.fText.end);
118 std::swap(resolvedText.start, resolvedText.end);
121 GlyphRange resolvedGlyphs(resolvedGlyphsStart, unresolved.fGlyphs.start);
126 if (unresolved.fText.end <= resolved.fText.start) {
129 if (unresolved.fText.start >= resolved.fText.end) {
130 unresolved.fText.start = resolved.fText.start;
139 : unresolved.fText.start;
145 std::swap(resolvedText.start, resolvedText.end);
175 return a.fText.start < b.fText.start;
179 size_t lastTextEnd = blockText.start;
182 if (resolvedBlock.fText.end <= blockText.start) {
187 fParagraph->fFontSwitches.emplace_back(resolvedBlock.fText.start, resolvedBlock.fRun->fFont);
193 if (lastTextEnd != text.start) {
195 lastTextEnd, text.start, text.end, glyphs.start, glyphs.end);
210 auto runAdvance = SkVector::Make(run->posX(glyphs.end) - run->posX(glyphs.start), run->fAdvance.fY);
216 SkShaper::RunHandler::Range(text.start - run->fClusterStart, text.width())
231 SkPoint zero = {run->fPositions[glyphs.start].fX, 0};
232 for (size_t i = glyphs.start; i <= glyphs.end; ++i) {
234 auto index = i - glyphs.start;
260 return TextRange(clusterIndex(glyphRange.start), clusterIndex(glyphRange.end));
263 glyphRange.start > 0
264 ? clusterIndex(glyphRange.start - 1)
290 if (lastUnresolved.fText.end == unresolved.fText.start) {
303 lastUnresolved.fGlyphs.start = std::min(lastUnresolved.fGlyphs.start, glyphRange.start);
343 if (block.start == EMPTY_INDEX) {
345 block.start = i;
351 if (block.start == EMPTY_INDEX) {
363 if (block.start != EMPTY_INDEX) {
371 size_t start = std::max(block.fRange.start, textRange.start);
378 return BlockRange(start, end);
396 block.fRange.start,
404 SkSetFourByteTag('l', 'i', 'g', 'a'), 0, block.fRange.start, block.fRange.end
414 SkASSERT(combinedBlock.fRange.width() == 0 || combinedBlock.fRange.end == block.fRange.start);
575 auto start = std::max(bidiRegion.start, placeholder.fTextBefore.start);
584 TextRange textRange(start, end);
590 if (!shape(textRange, styleSpan, advanceX, start, bidiRegion.level)) {
632 placeholder.fRange.start,
754 SkRange<size_t> featureRange(feature.start, feature.end);
757 adjustedRange.Shift(-static_cast<std::make_signed_t<size_t>>(unresolvedRange.start));
758 adjustedFeatures.push_back({feature.tag, feature.value, adjustedRange.start, adjustedRange.end});
811 while (index > fCurrentRun->fTextRange.start) {
818 return fCurrentRun->fTextRange.start;
823 textRange.start = findBaseChar(textRange.start, Dir::left);
829 while (glyphs.start > 0 && clusterIndex(glyphs.start) > textRange.start) {
830 glyphs.start--;
836 while (glyphs.start > 0 && clusterIndex(glyphs.start - 1) < textRange.end) {
837 glyphs.start--;
839 while (glyphs.end < fCurrentRun->size() && clusterIndex(glyphs.end) > textRange.start) {
844 return { textRange.start, textRange.end };