Lines Matching refs:end
16 static inline SkUnichar nextUtf8Unit(const char** ptr, const char* end) {
17 SkUnichar val = SkUTF::NextUTF8(ptr, end);
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);
101 auto end = fUnresolvedBlocks.end();
104 for (; begin != end; ++begin) {
115 TextRange resolvedText(resolvedTextStart, fCurrentRun->leftToRight() ? unresolved.fText.start : unresolved.fText.end);
118 std::swap(resolvedText.start, resolvedText.end);
126 if (unresolved.fText.end <= resolved.fText.start) {
127 unresolved.fText.end = resolved.fText.end;
129 if (unresolved.fText.start >= resolved.fText.end) {
136 resolvedGlyphsStart = unresolved.fGlyphs.end;
138 ? unresolved.fText.end
142 TextRange resolvedText(resolvedTextStart,resolvedTextLimits.end);
145 std::swap(resolvedText.start, resolvedText.end);
173 std::sort(fResolvedBlocks.begin(), fResolvedBlocks.end(),
182 if (resolvedBlock.fText.end <= blockText.start) {
195 lastTextEnd, text.start, text.end, glyphs.start, glyphs.end);
198 lastTextEnd = text.end;
210 auto runAdvance = SkVector::Make(run->posX(glyphs.end) - run->posX(glyphs.start), run->fAdvance.fY);
232 for (size_t i = glyphs.start; i <= glyphs.end; ++i) {
235 if (i < glyphs.end) {
250 if (lastTextEnd != blockText.end) {
251 SkDEBUGF("Last range mismatch: %zu - %zu\n", lastTextEnd, blockText.end);
260 return TextRange(clusterIndex(glyphRange.start), clusterIndex(glyphRange.end));
262 return TextRange(clusterIndex(glyphRange.end - 1),
265 : fCurrentRun->fTextRange.end);
290 if (lastUnresolved.fText.end == unresolved.fText.start) {
292 lastUnresolved.fText.end = unresolved.fText.end;
293 lastUnresolved.fGlyphs.end = glyphRange.end;
304 lastUnresolved.fGlyphs.end = std::max(lastUnresolved.fGlyphs.end, glyphRange.end);
346 block.end = EMPTY_INDEX;
354 // This is the end of unresolved block
355 block.end = i;
364 block.end = fCurrentRun->size();
372 size_t end = std::min(block.fRange.end, textRange.end);
376 end = fParagraph->fText.size();
378 return BlockRange(start, end);
397 block.fRange.end
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);
471 if (ch == unresolvedText.end()) {
480 while (ch != unresolvedText.end()) {
481 unicode = nextUtf8Unit(&ch, unresolvedText.end());
501 if (found != fFallbackFonts.end()) {
576 auto end = std::min(bidiRegion.end, placeholder.fTextBefore.end);
580 end = fParagraph->fText.size();
584 TextRange textRange(start, end);
595 if (end == bidiRegion.end) {
597 } else /*if (end == placeholder.fTextBefore.end)*/ {
754 SkRange<size_t> featureRange(feature.start, feature.end);
758 adjustedFeatures.push_back({feature.tag, feature.value, adjustedRange.start, adjustedRange.end});
802 while (index < fCurrentRun->fTextRange.end) {
809 return fCurrentRun->fTextRange.end;
824 textRange.end = findBaseChar(textRange.end, Dir::right);
832 while (glyphs.end < fCurrentRun->size() && clusterIndex(glyphs.end) < textRange.end) {
833 glyphs.end++;
836 while (glyphs.start > 0 && clusterIndex(glyphs.start - 1) < textRange.end) {
839 while (glyphs.end < fCurrentRun->size() && clusterIndex(glyphs.end) > textRange.start) {
840 glyphs.end++;
844 return { textRange.start, textRange.end };