diff options
author | Bruce Wang <brucewang@google.com> | 2018-06-22 11:16:44 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-06-22 17:49:27 +0000 |
commit | 96b1ecc25d00a3d52dcc51a788b0df0acdd1dad9 (patch) | |
tree | 96eaf858448d069e19f54ef3d9601cd4873e299a /src/ports | |
parent | 418ff4a4e83e1b6234346112b214de0de54660ba (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.cpp | 15 |
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; |