Lines Matching defs:text
111 ParagraphImpl::ParagraphImpl(const SkString& text,
120 , fText(text)
303 // end = 0 means the text does not exceed the width limit
523 // Most common case: one line of text (and one line is never justified, so no cluster shifts)
539 // Check if we have the text in the cache and don't need to shape it again
542 // This only happens once at the first layout; the text is immutable
607 // text breaking did not go to fast path and we did not have cached layout
854 SkSpan<const char> text,
859 , fTextRange(text.begin() - fOwner->text().begin(), text.end() - fOwner->text().begin())
870 const char* ch = text.begin();
871 if (text.end() - ch == 1 && *(unsigned char*)ch <= 0x7F) {
929 // Check all text styles to see what we have to do (if anything)
963 // The complex case: many text styles with spacing (possibly not adjusted to glyphs)
966 // Walk through all the clusters in the direction of shaped text
1037 // Clusters in the order of the input text
1054 // Walk through all the run in the direction of input text
1059 // Add info to cluster indexes table (text -> cluster)
1064 fClusters.emplace_back(this, runIndex, 0ul, 1ul, this->text(run.textRange()), run.advance().fX, run.advance().fY);
1068 // Walk through the glyph in the direction of input text
1076 // Add info to cluster indexes table (text -> cluster)
1082 SkSpan<const char> text(fText.c_str() + charStart, charEnd - charStart);
1083 fClusters.emplace_back(this, runIndex, glyphStart, glyphEnd, text, width, height);
1093 fClusters.emplace_back(this, EMPTY_RUN, 0, 0, this->text({fText.size(), fText.size()}), 0, 0);
1137 // 1. We have only one line of text
1140 // 4. There are no linebreaks (which will format text into multiple lines)
1147 auto textRange = TextRange(0, this->text().size());
1203 TextRange text,
1217 auto& line = this->addLine(offset, advance, textExcludingSpaces, text, textWithNewlines, clusters, clustersWithGhosts, widthWithSpaces, metrics);
1242 // 1. We have only one line of text
1245 // 4. There are no linebreaks (which will format text into multiple lines)
1252 auto textRange = TextRange(0, this->text().size());
1304 TextRange text,
1316 auto& line = this->addLine(offset, advance, textExcludingSpaces, text, textWithNewlines, clusters, clustersWithGhosts, widthWithSpaces, metrics);
1342 // Special case: clean all text in case of maxWidth == INF & align != left
1429 // It's possible if some text is not covered with any text style
1440 TextRange text,
1449 textExcludingSpaces, text, textIncludingNewLines,
1456 // get textStyle to calculate text box when text is empty(reference to ParagraphImpl::computeEmptyMetrics())
1463 // calculate text box(reference to TextLine::getRectsForRange(), switch(rectHeightStyle))
1498 // Returns a vector of bounding boxes that enclose all text between
1508 // On account of implied "\n" that is always at the end of the text
1525 // Adjust the text to grapheme edges
1526 // Apparently, text editor CAN move inside graphemes but CANNOT select a part of it.
1533 TextRange text(fText.size(), fText.size());
1543 text.start = this->findNextGraphemeBoundary(utf8);
1547 text.end = utf8;
1549 //SkDebugf("getRectsForRange(%d,%d) -> (%d:%d)\n", start, end, text.start, text.end);
1553 auto intersect = lineText * text;
1554 if (intersect.empty() && lineText.start != text.start) {
1664 SkSpan<const char> ParagraphImpl::text(TextRange textRange) {
1708 // The text is immutable and so are all the text indexing properties
1740 // 1. An empty line inside the text
1743 // In the second case it should take it from the current text style
1784 // For an empty text we apply both TextHeightBehaviour flags
1786 // We have to do it here because we skip wrapping for an empty text
1972 this->text(),
2025 if (line.text().contains({codeUnitIndex, codeUnitIndex + 1})) {
2048 return includeSpaces ? line.text() : line.trimmedText();
2054 if (!line.text().contains({codeUnitIndex, codeUnitIndex})) {
2129 auto firstStr = text(fRuns.front().textRange());
2145 auto str = text(run.textRange());
2170 auto firstStr = text(fRuns.front().textRange());
2186 auto str = text(run.textRange());