aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Herb Derby <herb@google.com>2018-07-27 16:23:27 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-30 14:06:55 +0000
commit13449ce2439044c06847c5f9487352d98931d11d (patch)
treef60163a7ba6794677aa9bd995a9b2b0cf615960d /src/core
parent160e4dcc4ec8c17578b3800c8683981834b903cb (diff)
Make SkInternalAtlasTextTarget use glyph runs
Change-Id: I14f296c9d394288d2c28ab7f09b17c1a4d1ef49d Reviewed-on: https://skia-review.googlesource.com/144125 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Auto-Submit: Herb Derby <herb@google.com>
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();