Lines Matching defs:glyphs
233 // Calculate the matrix that maps the path glyphs from their size in the strike to
314 GlyphVector(sk_sp<SkStrike>&& strike, SkSpan<Variant> glyphs);
317 sk_sp<SkStrike>&& strike, SkSpan<SkGlyphVariant> glyphs, GrSubRunAllocator* alloc);
318 SkSpan<const GrGlyph*> glyphs() const;
341 GlyphVector::GlyphVector(sk_sp<SkStrike>&& strike, SkSpan<Variant> glyphs)
343 , fGlyphs{glyphs} {
348 sk_sp<SkStrike>&& strike, SkSpan<SkGlyphVariant> glyphs, GrSubRunAllocator* alloc) {
349 Variant* variants = alloc->makePODArray<Variant>(glyphs.size());
350 for (auto [i, gv] : SkMakeEnumerate(glyphs)) {
354 return GlyphVector{std::move(strike), SkMakeSpan(variants, glyphs.size())};
357 SkSpan<const GrGlyph*> GlyphVector::glyphs() const {
397 auto glyphs = fGlyphs.subspan(begin, end - begin);
400 for (const Variant& variant : glyphs) {
428 // Update atlas generation if there are no more glyphs to put in the atlas.
458 GlyphVector&& glyphs,
518 GlyphVector&& glyphs,
525 , fGlyphs{std::move(glyphs)} {}
547 // cull all the glyphs that can't appear on the screen.
559 // Wow! no glyphs are in bounds and had non-empty bounds.
564 // If some glyphs were excluded by the bounds, then this subrun can't be generally be used
576 // If glyphs were excluded because of position bounds, then this subrun can only be reused if
594 return SkCount(fGlyphs.glyphs());
772 // TODO: omit generating any vertex data for fully clipped glyphs ?
791 fGlyphs.glyphs().subspan(offset, count),
843 // The rectangle of the glyphs in strike space. But, for kDirectMask this also implies a
853 GlyphVector&& glyphs);
901 // The bounds in source space. The bounds are the joined rectangles of all the glyphs.
915 GlyphVector&& glyphs)
921 , fGlyphs{std::move(glyphs)} { }
997 // If we are not scaling the cache entry to be larger, than a cache with smaller glyphs may be
1022 fGlyphs.glyphs().subspan(offset, count),
1101 // The rectangle of the glyphs in strike space.
1110 GlyphVector&& glyphs,
1160 // The bounds in source space. The bounds are the joined rectangles of all the glyphs.
1177 GlyphVector&& glyphs,
1185 , fGlyphs{std::move(glyphs)}
1347 fGlyphs.glyphs().subspan(offset, count),
1556 // A singular matrix will create a GrTextBlob with no SubRuns, but unknown glyphs can
1557 // also cause empty runs. If there are no subRuns or some glyphs were excluded or perspective,
1678 GlyphVector&& glyphs);
1708 // The vertex bounds in device space. The bounds are the joined rectangles of all the glyphs.
1723 GlyphVector&& glyphs)
1727 , fGlyphs{std::move(glyphs)} { }
1750 // cull all the glyphs that can't appear on the screen.
1762 // Wow! no glyphs are in bounds and had non-empty bounds.
1782 return SkCount(fGlyphs.glyphs());
1877 fGlyphs.glyphs().subspan(offset, count),
1909 // The rectangle of the glyphs in strike space. But, for kDirectMask this also implies a
1918 GlyphVector&& glyphs);
1954 // The bounds in source space. The bounds are the joined rectangles of all the glyphs.
1970 GlyphVector&& glyphs)
1975 , fGlyphs{std::move(glyphs)} {}
2020 // transformed glyphs, and we have an axis-aligned rectangular non-AA clip.
2058 fGlyphs.glyphs().subspan(offset, count),
2134 // The rectangle of the glyphs in strike space.
2142 GlyphVector&& glyphs,
2180 // The bounds in source space. The bounds are the joined rectangles of all the glyphs.
2199 GlyphVector&& glyphs,
2206 , fGlyphs{std::move(glyphs)}
2308 fGlyphs.glyphs().subspan(offset, count),
2411 // Calculate the matrix that maps the path glyphs from their size in the strike to