Lines Matching defs:run
179 Run& targetRun = this->run(runIndex);
911 // clip |= end == size(); // Clip at the end of the run?
952 auto& run = fRuns[0];
956 run.iterateThroughClusters([this, &run, &shift, &style](Cluster* cluster) {
957 run.shift(cluster, shift);
958 shift += run.addSpacesEvenly(style.getLetterSpacing(), cluster);
969 for (auto& run : fRuns) {
972 if (run.isPlaceholder()) {
978 run.iterateThroughClusters([this, &run, &shift, &soFarWhitespacesOnly, &wordSpacingPending, &lastSpaceCluster](Cluster* cluster) {
980 run.shift(cluster, shift);
1000 run.addSpacesAtTheEnd(spacing, lastSpaceCluster);
1001 run.shift(cluster, spacing);
1008 shift += run.addSpacesEvenly(currentStyle->fStyle.getLetterSpacing(), cluster);
1043 for (auto& run : fRuns) {
1044 cluster_count += run.isPlaceholder() ? 1 : run.size();
1045 fCodeUnitProperties[run.fTextRange.start] |= SkUnicode::CodeUnitFlags::kGraphemeStart;
1046 fCodeUnitProperties[run.fTextRange.start] |= SkUnicode::CodeUnitFlags::kGlyphClusterStart;
1054 // Walk through all the run in the direction of input text
1055 for (auto& run : fRuns) {
1056 auto runIndex = run.index();
1058 if (run.isPlaceholder()) {
1060 for (auto i = run.textRange().start; i < run.textRange().end; ++i) {
1064 fClusters.emplace_back(this, runIndex, 0ul, 1ul, this->text(run.textRange()), run.advance().fX, run.advance().fY);
1065 fCodeUnitProperties[run.textRange().start] |= SkUnicode::CodeUnitFlags::kSoftLineBreakBefore;
1066 fCodeUnitProperties[run.textRange().end] |= SkUnicode::CodeUnitFlags::kSoftLineBreakBefore;
1069 run.iterateThroughClustersInTextOrder([&run, runIndex, this](size_t glyphStart,
1081 middleEllipsisAddText(charStart, charEnd, allTextWidth, width, run.leftToRight());
1087 fCodeUnitProperties[run.textRange().start] |= SkUnicode::CodeUnitFlags::kGlyphClusterStart;
1089 run.setClusterRange(runStart, fClusters.size());
1090 fMaxIntrinsicWidth += run.advance().fX;
1138 // 2. It's shaped into a single run
1145 auto& run = this->fRuns[0];
1146 auto advance = run.advance();
1150 metrics.add(&run);
1181 clusterRange, clusterRangeWithGhosts, run.advance().x(),
1184 auto longestLine = std::max(run.advance().fX, advance.fX) + spacing;
1187 setIntrinsicSize(run.advance().fX, advance.fX,
1243 // 2. It's shaped into a single run
1250 auto& run = this->fRuns[0];
1251 auto advance = run.advance();
1255 metrics.add(&run);
1285 clusterRange, clusterRangeWithGhosts, run.advance().x(),
1288 fLongestLine = nearlyZero(advance.fX) ? run.advance().fX : advance.fX;
1291 fMaxIntrinsicWidth = run.advance().fX;
1683 return this->run(start.fRunIndex);
1985 SkTextBlob::Iter::ExperimentalRun run;
2001 while (iter.experimentalNext(&run)) {
2003 run.font,
2006 run.count,
2007 run.glyphs,
2008 run.positions,
2013 clusterPtr += run.count;
2093 for (auto& run : fRuns) {
2094 if (run.textRange().contains({codeUnitIndex, codeUnitIndex})) {
2095 return run.font();
2103 for (auto& run : fRuns) {
2104 if (run.textRange().contains({codeUnitIndex, codeUnitIndex})) {
2105 return run.font();
2114 for (auto& run : fRuns) {
2115 results.emplace_back(run.font(), run.textRange());
2142 auto run = fRuns[i];
2143 const auto& font = run.font();
2145 auto str = text(run.textRange());
2183 auto run = fRuns[i];
2184 auto& font = const_cast<RSFont&>(run.font());
2186 auto str = text(run.textRange());
2359 for (auto& run : paragraph->fRuns) {
2360 run.setOwner(paragraph.get());