aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkGlyphRun.cpp10
-rw-r--r--src/core/SkGlyphRun.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/core/SkGlyphRun.cpp b/src/core/SkGlyphRun.cpp
index 006a4ba067..f53f90986e 100644
--- a/src/core/SkGlyphRun.cpp
+++ b/src/core/SkGlyphRun.cpp
@@ -534,6 +534,16 @@ void SkGlyphRunBuilder::drawTextBlob(const SkPaint& paint, const SkTextBlob& blo
this->makeGlyphRunList(paint, &blob, origin);
}
+void SkGlyphRunBuilder::drawGlyphPos(
+ const SkPaint& paint, SkSpan<const SkGlyphID> glyphIDs, const SkPoint* pos) {
+ if (!glyphIDs.empty()) {
+ this->initialize(glyphIDs.size());
+ this->simplifyDrawPosText(paint, glyphIDs, pos,
+ fUniqueGlyphIDIndices, fUniqueGlyphIDs);
+ this->makeGlyphRunList(paint, nullptr, SkPoint::Make(0, 0));
+ }
+}
+
const SkGlyphRunList& SkGlyphRunBuilder::useGlyphRunList() {
return fGlyphRunList;
}
diff --git a/src/core/SkGlyphRun.h b/src/core/SkGlyphRun.h
index 003c13c91c..26590c1251 100644
--- a/src/core/SkGlyphRun.h
+++ b/src/core/SkGlyphRun.h
@@ -240,6 +240,8 @@ public:
void drawPosText(
const SkPaint& paint, const void* bytes, size_t byteLength, const SkPoint* pos);
void drawTextBlob(const SkPaint& paint, const SkTextBlob& blob, SkPoint origin);
+ void drawGlyphPos(
+ const SkPaint& paint, SkSpan<const SkGlyphID> glyphIDs, const SkPoint* pos);
const SkGlyphRunList& useGlyphRunList();