diff options
author | Mike Reed <reed@google.com> | 2017-09-26 09:46:08 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-26 14:05:18 +0000 |
commit | 592273965a7fc7fc403252e420d15f6555b8f25d (patch) | |
tree | 9d5f6fa74228b81278bc97af1dc78d9587d63c08 /src/ports/SkFontMgr_FontConfigInterface.cpp | |
parent | f6f7cf60985d8e109cc136f25e2a3c3383ca05ea (diff) |
Revert "Revert "migrate to sk_sp for SkFontMgr API""
This reverts commit f40ae1a4b5365620463bd63b5140bd3fc78894a1.
Bug: skia:
Change-Id: I752606de92ea405d6e50219c98030409b00a2841
Reviewed-on: https://skia-review.googlesource.com/51160
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/ports/SkFontMgr_FontConfigInterface.cpp')
-rw-r--r-- | src/ports/SkFontMgr_FontConfigInterface.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/ports/SkFontMgr_FontConfigInterface.cpp b/src/ports/SkFontMgr_FontConfigInterface.cpp index bfc600e74e..c60e3efff2 100644 --- a/src/ports/SkFontMgr_FontConfigInterface.cpp +++ b/src/ports/SkFontMgr_FontConfigInterface.cpp @@ -198,10 +198,10 @@ protected: SkTypeface* onMatchFaceStyle(const SkTypeface*, const SkFontStyle&) const override { return nullptr; } - SkTypeface* onCreateFromData(SkData*, int ttcIndex) const override { return nullptr; } + sk_sp<SkTypeface> onMakeFromData(sk_sp<SkData>, int ttcIndex) const override { return nullptr; } - SkTypeface* onCreateFromStream(SkStreamAsset* bareStream, int ttcIndex) const override { - std::unique_ptr<SkStreamAsset> stream(bareStream); + sk_sp<SkTypeface> onMakeFromStreamIndex(std::unique_ptr<SkStreamAsset> stream, + int ttcIndex) const override { const size_t length = stream->getLength(); if (!length) { return nullptr; @@ -219,12 +219,13 @@ protected: } auto fontData = skstd::make_unique<SkFontData>(std::move(stream), ttcIndex, nullptr, 0); - return SkTypeface_FCI::Create(std::move(fontData), std::move(name), style, isFixedPitch); + return sk_sp<SkTypeface>(SkTypeface_FCI::Create(std::move(fontData), std::move(name), + style, isFixedPitch)); } - SkTypeface* onCreateFromStream(SkStreamAsset* s, const SkFontArguments& args) const override { + sk_sp<SkTypeface> onMakeFromStreamArgs(std::unique_ptr<SkStreamAsset> stream, + const SkFontArguments& args) const override { using Scanner = SkTypeface_FreeType::Scanner; - std::unique_ptr<SkStreamAsset> stream(s); const size_t length = stream->getLength(); if (!length) { return nullptr; @@ -251,16 +252,17 @@ protected: args.getCollectionIndex(), axisValues.get(), axisDefinitions.count()); - return SkTypeface_FCI::Create(std::move(fontData), std::move(name), style, isFixedPitch); + return sk_sp<SkTypeface>(SkTypeface_FCI::Create(std::move(fontData), std::move(name), + style, isFixedPitch)); } - SkTypeface* onCreateFromFile(const char path[], int ttcIndex) const override { + sk_sp<SkTypeface> onMakeFromFile(const char path[], int ttcIndex) const override { std::unique_ptr<SkStreamAsset> stream = SkStream::MakeFromFile(path); - return stream.get() ? this->createFromStream(stream.release(), ttcIndex) : nullptr; + return stream ? this->makeFromStream(std::move(stream), ttcIndex) : nullptr; } - SkTypeface* onLegacyCreateTypeface(const char requestedFamilyName[], - SkFontStyle requestedStyle) const override + sk_sp<SkTypeface> onLegacyMakeTypeface(const char requestedFamilyName[], + SkFontStyle requestedStyle) const override { SkAutoMutexAcquire ama(fMutex); @@ -269,7 +271,7 @@ protected: std::unique_ptr<Request> request(Request::Create(requestedFamilyName, requestedStyle)); SkTypeface* face = fCache.findAndRef(request.get()); if (face) { - return face; + return sk_sp<SkTypeface>(face); } SkFontConfigInterface::FontIdentity identity; @@ -291,7 +293,7 @@ protected: // Add this request to the request cache. fCache.add(face, request.release()); - return face; + return sk_sp<SkTypeface>(face); } }; |