aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports
diff options
context:
space:
mode:
authorGravatar Bruce Wang <brucewang@google.com>2018-06-22 11:16:44 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-06-22 17:49:27 +0000
commit96b1ecc25d00a3d52dcc51a788b0df0acdd1dad9 (patch)
tree96eaf858448d069e19f54ef3d9601cd4873e299a /src/ports
parent418ff4a4e83e1b6234346112b214de0de54660ba (diff)
Implement onMakeClone(const SkFontArguments& args) in class SkTypeface_fontconfig.
Create FontMgrFontConfigTest.cpp file to test the above function. Change-Id: I7716355f702af3d6f25574305914f0b82a4147ce Reviewed-on: https://skia-review.googlesource.com/137133 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
Diffstat (limited to 'src/ports')
-rw-r--r--src/ports/SkFontMgr_fontconfig.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ports/SkFontMgr_fontconfig.cpp b/src/ports/SkFontMgr_fontconfig.cpp
index 3589ae8100..e5aed18c60 100644
--- a/src/ports/SkFontMgr_fontconfig.cpp
+++ b/src/ports/SkFontMgr_fontconfig.cpp
@@ -525,6 +525,21 @@ public:
return info;
}
+ sk_sp<SkTypeface> onMakeClone(const SkFontArguments& args) const override {
+ std::unique_ptr<SkFontData> data = this->cloneFontData(args);
+ if (!data) {
+ return nullptr;
+ }
+
+ SkString fFamilyName;
+ this->getFamilyName(&fFamilyName);
+
+ return sk_make_sp<SkTypeface_stream>(std::move(data),
+ fFamilyName,
+ this->fontStyle(),
+ this->isFixedPitch());
+ }
+
~SkTypeface_fontconfig() override {
// Hold the lock while unrefing the pattern.
FCLocker lock;