aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkFontMgr.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-09-25 20:00:31 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-09-25 20:00:41 +0000
commitf40ae1a4b5365620463bd63b5140bd3fc78894a1 (patch)
tree3070160f98d80ea9e2ab53eb8b06035d70582701 /src/core/SkFontMgr.cpp
parenta3ab53b93a40185d7f29409264f91b835ae8929e (diff)
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 <bungeman@google.com> > Reviewed-by: Ben Wagner <bungeman@google.com> 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 <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/core/SkFontMgr.cpp')
-rw-r--r--src/core/SkFontMgr.cpp124
1 files changed, 34 insertions, 90 deletions
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<SkTypeface> onMakeFromData(sk_sp<SkData>, int) const override {
- return nullptr;
- }
- sk_sp<SkTypeface> onMakeFromStreamIndex(std::unique_ptr<SkStreamAsset>, int) const override {
- return nullptr;
- }
- sk_sp<SkTypeface> onMakeFromStreamArgs(std::unique_ptr<SkStreamAsset>,
- const SkFontArguments&) const override {
+ SkTypeface* onCreateFromData(SkData*, int) const override {
return nullptr;
}
- sk_sp<SkTypeface> onMakeFromFontData(std::unique_ptr<SkFontData>) const override {
+ SkTypeface* onCreateFromStream(SkStreamAsset* stream, int) const override {
+ delete stream;
return nullptr;
}
- sk_sp<SkTypeface> onMakeFromFile(const char[], int) const override {
+ SkTypeface* onCreateFromFile(const char[], int) const override {
return nullptr;
}
- sk_sp<SkTypeface> 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<SkTypeface> SkFontMgr::makeFromData(sk_sp<SkData> 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<SkTypeface> SkFontMgr::makeFromStream(std::unique_ptr<SkStreamAsset> 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<SkTypeface> SkFontMgr::makeFromStream(std::unique_ptr<SkStreamAsset> 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<SkTypeface> SkFontMgr::makeFromFontData(std::unique_ptr<SkFontData> data) const {
+SkTypeface* SkFontMgr::createFromFontData(std::unique_ptr<SkFontData> data) const {
if (nullptr == data) {
return nullptr;
}
- return this->onMakeFromFontData(std::move(data));
+ return this->onCreateFromFontData(std::move(data));
}
-sk_sp<SkTypeface> 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<SkTypeface> 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<SkFontData> 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<SkStreamAsset>(strm), ttcIndex).release();
-}
-SkTypeface* SkFontMgr::createFromStream(SkStreamAsset* strm, const SkFontArguments& args) const {
- return this->makeFromStream(std::unique_ptr<SkStreamAsset>(strm), args).release();
-}
-SkTypeface* SkFontMgr::createFromFontData(std::unique_ptr<SkFontData> 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<SkStreamAsset>(stream),
- args.getCollectionIndex()).release();
-}
-SkTypeface* SkFontMgr::onCreateFromFontData(std::unique_ptr<SkFontData> data) const {
- return this->makeFromStream(data->detachStream(), data->getIndex()).release();
+ if (nullptr == path) {
+ return nullptr;
+ }
+ return this->onCreateFromFile(path, ttcIndex);
}
-sk_sp<SkTypeface> SkFontMgr::onMakeFromData(sk_sp<SkData> data, int ttcIndex) const {
- return sk_sp<SkTypeface>(this->onCreateFromData(data.get(), ttcIndex));
-}
-sk_sp<SkTypeface> SkFontMgr::onMakeFromStreamIndex(std::unique_ptr<SkStreamAsset> strm,
- int ttcIndex) const {
- return sk_sp<SkTypeface>(this->onCreateFromStream(strm.release(), ttcIndex));
-}
-sk_sp<SkTypeface> SkFontMgr::onMakeFromStreamArgs(std::unique_ptr<SkStreamAsset> strm,
- const SkFontArguments& args) const {
- return sk_sp<SkTypeface>(onCreateFromStream(strm.release(), args));
-}
-sk_sp<SkTypeface> SkFontMgr::onMakeFromFontData(std::unique_ptr<SkFontData> fd) const {
- return sk_sp<SkTypeface>(this->onCreateFromFontData(std::move(fd)));
-}
-sk_sp<SkTypeface> SkFontMgr::onMakeFromFile(const char path[], int ttcIndex) const {
- return sk_sp<SkTypeface>(this->onCreateFromFile(path, ttcIndex));
-}
-sk_sp<SkTypeface> SkFontMgr::onLegacyMakeTypeface(const char familyName[], SkFontStyle style) const {
- return sk_sp<SkTypeface>(this->onLegacyCreateTypeface(familyName, style));
-}
-#else
-sk_sp<SkTypeface> SkFontMgr::onMakeFromStreamArgs(std::unique_ptr<SkStreamAsset> stream,
- const SkFontArguments& args) const {
- return this->makeFromStream(std::move(stream), args.getCollectionIndex());
-}
-sk_sp<SkTypeface> SkFontMgr::onMakeFromFontData(std::unique_ptr<SkFontData> 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> SkFontMgr::RefDefault() {
static SkOnce once;