diff options
Diffstat (limited to 'src/core/SkGlyphCache.cpp')
-rw-r--r-- | src/core/SkGlyphCache.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/SkGlyphCache.cpp b/src/core/SkGlyphCache.cpp index bf5f77c817..3734b96ee2 100644 --- a/src/core/SkGlyphCache.cpp +++ b/src/core/SkGlyphCache.cpp @@ -130,6 +130,13 @@ const SkGlyph& SkGlyphCache::getGlyphIDMetrics(uint16_t glyphID, SkFixed x, SkFi return *this->lookupByPackedGlyphID(packedGlyphID, kFull_MetricsType); } +void SkGlyphCache::getAdvances(SkSpan<SkGlyphID> glyphIDs, SkPoint advances[]) { + for (ptrdiff_t i = 0; i < glyphIDs.size(); i++) { + auto glyph = this->getGlyphIDAdvance(glyphIDs[i]); + advances[i] = SkPoint::Make(glyph.fAdvanceX, glyph.fAdvanceY); + } +} + SkGlyph* SkGlyphCache::lookupByChar(SkUnichar charCode, MetricsType type, SkFixed x, SkFixed y) { SkPackedUnicharID id(charCode, x, y); CharGlyphRec* rec = this->getCharGlyphRec(id); |