From f40ae1a4b5365620463bd63b5140bd3fc78894a1 Mon Sep 17 00:00:00 2001 From: Mike Reed Date: Mon, 25 Sep 2017 20:00:31 +0000 Subject: Revert "migrate to sk_sp for SkFontMgr API" This reverts commit 4bf296be2821d2bdd0afabae9fdfe18e7e9b59cb. Reason for revert: need guard for flutter Original change's description: > migrate to sk_sp for SkFontMgr API > > Bug: skia: > Change-Id: I1bf2a13537f67938cdc9956080065d10ea0bd1d8 > Reviewed-on: https://skia-review.googlesource.com/48740 > Commit-Queue: Ben Wagner > Reviewed-by: Ben Wagner TBR=bungeman@google.com,reed@google.com Change-Id: Ib0b2d00fcbcdb6131444f94d1046df6dae24f551 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/50940 Reviewed-by: Mike Reed Commit-Queue: Mike Reed --- src/core/SkFontMgr.cpp | 124 ++++++++++++++----------------------------------- 1 file changed, 34 insertions(+), 90 deletions(-) (limited to 'src/core/SkFontMgr.cpp') diff --git a/src/core/SkFontMgr.cpp b/src/core/SkFontMgr.cpp index 4f18dd25f4..8ce0b39682 100644 --- a/src/core/SkFontMgr.cpp +++ b/src/core/SkFontMgr.cpp @@ -49,37 +49,32 @@ protected: return SkFontStyleSet::CreateEmpty(); } - SkTypeface* onMatchFamilyStyle(const char[], const SkFontStyle&) const override { + virtual SkTypeface* onMatchFamilyStyle(const char[], + const SkFontStyle&) const override { return nullptr; } - SkTypeface* onMatchFamilyStyleCharacter(const char familyName[], - const SkFontStyle& style, - const char* bcp47[], - int bcp47Count, - SkUnichar character) const override { + virtual SkTypeface* onMatchFamilyStyleCharacter(const char familyName[], + const SkFontStyle& style, + const char* bcp47[], + int bcp47Count, + SkUnichar character) const override { return nullptr; } - SkTypeface* onMatchFaceStyle(const SkTypeface*, const SkFontStyle&) const override { + virtual SkTypeface* onMatchFaceStyle(const SkTypeface*, + const SkFontStyle&) const override { return nullptr; } - - sk_sp onMakeFromData(sk_sp, int) const override { - return nullptr; - } - sk_sp onMakeFromStreamIndex(std::unique_ptr, int) const override { - return nullptr; - } - sk_sp onMakeFromStreamArgs(std::unique_ptr, - const SkFontArguments&) const override { + SkTypeface* onCreateFromData(SkData*, int) const override { return nullptr; } - sk_sp onMakeFromFontData(std::unique_ptr) const override { + SkTypeface* onCreateFromStream(SkStreamAsset* stream, int) const override { + delete stream; return nullptr; } - sk_sp onMakeFromFile(const char[], int) const override { + SkTypeface* onCreateFromFile(const char[], int) const override { return nullptr; } - sk_sp onLegacyMakeTypeface(const char [], SkFontStyle) const override { + SkTypeface* onLegacyCreateTypeface(const char [], SkFontStyle) const override { return nullptr; } }; @@ -123,105 +118,54 @@ SkTypeface* SkFontMgr::matchFaceStyle(const SkTypeface* face, return this->onMatchFaceStyle(face, fs); } -sk_sp SkFontMgr::makeFromData(sk_sp data, int ttcIndex) const { +SkTypeface* SkFontMgr::createFromData(SkData* data, int ttcIndex) const { if (nullptr == data) { return nullptr; } - return this->onMakeFromData(std::move(data), ttcIndex); + return this->onCreateFromData(data, ttcIndex); } -sk_sp SkFontMgr::makeFromStream(std::unique_ptr stream, - int ttcIndex) const { +SkTypeface* SkFontMgr::createFromStream(SkStreamAsset* stream, int ttcIndex) const { if (nullptr == stream) { return nullptr; } - return this->onMakeFromStreamIndex(std::move(stream), ttcIndex); + return this->onCreateFromStream(stream, ttcIndex); } -sk_sp SkFontMgr::makeFromStream(std::unique_ptr stream, - const SkFontArguments& args) const { +SkTypeface* SkFontMgr::createFromStream(SkStreamAsset* stream, const SkFontArguments& args) const { if (nullptr == stream) { return nullptr; } - return this->onMakeFromStreamArgs(std::move(stream), args); + return this->onCreateFromStream(stream, args); } -sk_sp SkFontMgr::makeFromFontData(std::unique_ptr data) const { +SkTypeface* SkFontMgr::createFromFontData(std::unique_ptr data) const { if (nullptr == data) { return nullptr; } - return this->onMakeFromFontData(std::move(data)); + return this->onCreateFromFontData(std::move(data)); } -sk_sp SkFontMgr::makeFromFile(const char path[], int ttcIndex) const { - if (nullptr == path) { - return nullptr; - } - return this->onMakeFromFile(path, ttcIndex); +// This implementation is temporary until it can be made pure virtual. +SkTypeface* SkFontMgr::onCreateFromStream(SkStreamAsset* stream, const SkFontArguments& args) const{ + return this->createFromStream(stream, args.getCollectionIndex()); } -sk_sp SkFontMgr::legacyMakeTypeface(const char familyName[], SkFontStyle style) const { - return this->onLegacyMakeTypeface(familyName, style); +// This implementation is temporary until it can be made pure virtual. +SkTypeface* SkFontMgr::onCreateFromFontData(std::unique_ptr data) const { + return this->createFromStream(data->detachStream().release(), data->getIndex()); } -#ifdef SK_SUPPORT_LEGACY_FONTMGR_API -SkTypeface* SkFontMgr::createFromData(SkData* data, int ttcIndex) const { - return this->makeFromData(sk_ref_sp(data), ttcIndex).release(); -} -SkTypeface* SkFontMgr::createFromStream(SkStreamAsset* strm, int ttcIndex) const { - return this->makeFromStream(std::unique_ptr(strm), ttcIndex).release(); -} -SkTypeface* SkFontMgr::createFromStream(SkStreamAsset* strm, const SkFontArguments& args) const { - return this->makeFromStream(std::unique_ptr(strm), args).release(); -} -SkTypeface* SkFontMgr::createFromFontData(std::unique_ptr fd) const { - return this->makeFromFontData(std::move(fd)).release(); -} SkTypeface* SkFontMgr::createFromFile(const char path[], int ttcIndex) const { - return this->makeFromFile(path, ttcIndex).release(); -} -SkTypeface* SkFontMgr::legacyCreateTypeface(const char familyName[], SkFontStyle style) const { - return this->legacyMakeTypeface(familyName, style).release(); -} - -// These implementations are temporary until they can be made pure virtual. -SkTypeface* SkFontMgr::onCreateFromStream(SkStreamAsset* stream, const SkFontArguments& args) const { - return this->makeFromStream(std::unique_ptr(stream), - args.getCollectionIndex()).release(); -} -SkTypeface* SkFontMgr::onCreateFromFontData(std::unique_ptr data) const { - return this->makeFromStream(data->detachStream(), data->getIndex()).release(); + if (nullptr == path) { + return nullptr; + } + return this->onCreateFromFile(path, ttcIndex); } -sk_sp SkFontMgr::onMakeFromData(sk_sp data, int ttcIndex) const { - return sk_sp(this->onCreateFromData(data.get(), ttcIndex)); -} -sk_sp SkFontMgr::onMakeFromStreamIndex(std::unique_ptr strm, - int ttcIndex) const { - return sk_sp(this->onCreateFromStream(strm.release(), ttcIndex)); -} -sk_sp SkFontMgr::onMakeFromStreamArgs(std::unique_ptr strm, - const SkFontArguments& args) const { - return sk_sp(onCreateFromStream(strm.release(), args)); -} -sk_sp SkFontMgr::onMakeFromFontData(std::unique_ptr fd) const { - return sk_sp(this->onCreateFromFontData(std::move(fd))); -} -sk_sp SkFontMgr::onMakeFromFile(const char path[], int ttcIndex) const { - return sk_sp(this->onCreateFromFile(path, ttcIndex)); -} -sk_sp SkFontMgr::onLegacyMakeTypeface(const char familyName[], SkFontStyle style) const { - return sk_sp(this->onLegacyCreateTypeface(familyName, style)); -} -#else -sk_sp SkFontMgr::onMakeFromStreamArgs(std::unique_ptr stream, - const SkFontArguments& args) const { - return this->makeFromStream(std::move(stream), args.getCollectionIndex()); -} -sk_sp SkFontMgr::onMakeFromFontData(std::unique_ptr data) const { - return this->makeFromStream(data->detachStream(), data->getIndex()); +SkTypeface* SkFontMgr::legacyCreateTypeface(const char familyName[], SkFontStyle style) const { + return this->onLegacyCreateTypeface(familyName, style); } -#endif sk_sp SkFontMgr::RefDefault() { static SkOnce once; -- cgit v1.2.3