| Index: src/core/SkTypeface.cpp
|
| diff --git a/src/core/SkTypeface.cpp b/src/core/SkTypeface.cpp
|
| index 3c15878f737bc5c10a1d38b9d0377487300e8e38..75bb05c2b13cbfac283b36281850603e0206f3c0 100644
|
| --- a/src/core/SkTypeface.cpp
|
| +++ b/src/core/SkTypeface.cpp
|
| @@ -27,9 +27,9 @@
|
| #define SK_TYPEFACE_DELEGATE nullptr
|
| #endif
|
|
|
| -sk_sp<SkTypeface> (*gCreateTypefaceDelegate)(const char [], SkTypeface::Style ) = nullptr;
|
| +SkTypeface* (*gCreateTypefaceDelegate)(const char [], SkTypeface::Style ) = nullptr;
|
| void (*gSerializeTypefaceDelegate)(const SkTypeface*, SkWStream* ) = SK_TYPEFACE_DELEGATE;
|
| -sk_sp<SkTypeface> (*gDeserializeTypefaceDelegate)(SkStream* ) = nullptr;
|
| +SkTypeface* (*gDeserializeTypefaceDelegate)(SkStream* ) = nullptr;
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| @@ -98,8 +98,8 @@
|
| return defaults[style];
|
| }
|
|
|
| -sk_sp<SkTypeface> SkTypeface::MakeDefault(Style style) {
|
| - return sk_ref_sp(GetDefaultTypeface(style));
|
| +SkTypeface* SkTypeface::RefDefault(Style style) {
|
| + return SkRef(GetDefaultTypeface(style));
|
| }
|
|
|
| uint32_t SkTypeface::UniqueID(const SkTypeface* face) {
|
| @@ -115,46 +115,47 @@
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| -sk_sp<SkTypeface> SkTypeface::MakeFromName(const char name[], Style style) {
|
| +SkTypeface* SkTypeface::CreateFromName(const char name[], Style style) {
|
| if (gCreateTypefaceDelegate) {
|
| - sk_sp<SkTypeface> result = (*gCreateTypefaceDelegate)(name, style);
|
| + SkTypeface* result = (*gCreateTypefaceDelegate)(name, style);
|
| if (result) {
|
| return result;
|
| }
|
| }
|
| if (nullptr == name) {
|
| - return MakeDefault(style);
|
| - }
|
| - SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| - return sk_sp<SkTypeface>(fm->legacyCreateTypeface(name, SkFontStyle::FromOldStyle(style)));
|
| -}
|
| -
|
| -sk_sp<SkTypeface> SkTypeface::MakeFromTypeface(SkTypeface* family, Style s) {
|
| + return RefDefault(style);
|
| + }
|
| + SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| + return fm->legacyCreateTypeface(name, SkFontStyle::FromOldStyle(style));
|
| +}
|
| +
|
| +SkTypeface* SkTypeface::CreateFromTypeface(const SkTypeface* family, Style s) {
|
| if (!family) {
|
| - return SkTypeface::MakeDefault(s);
|
| + return SkTypeface::RefDefault(s);
|
| }
|
|
|
| if (family->style() == s) {
|
| - return sk_ref_sp(family);
|
| - }
|
| -
|
| - SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| - return sk_sp<SkTypeface>(fm->matchFaceStyle(family, SkFontStyle::FromOldStyle(s)));
|
| -}
|
| -
|
| -sk_sp<SkTypeface> SkTypeface::MakeFromStream(SkStreamAsset* stream, int index) {
|
| - SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| - return sk_sp<SkTypeface>(fm->createFromStream(stream, index));
|
| -}
|
| -
|
| -sk_sp<SkTypeface> SkTypeface::MakeFromFontData(SkFontData* data) {
|
| - SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| - return sk_sp<SkTypeface>(fm->createFromFontData(data));
|
| -}
|
| -
|
| -sk_sp<SkTypeface> SkTypeface::MakeFromFile(const char path[], int index) {
|
| - SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| - return sk_sp<SkTypeface>(fm->createFromFile(path, index));
|
| + family->ref();
|
| + return const_cast<SkTypeface*>(family);
|
| + }
|
| +
|
| + SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| + return fm->matchFaceStyle(family, SkFontStyle::FromOldStyle(s));
|
| +}
|
| +
|
| +SkTypeface* SkTypeface::CreateFromStream(SkStreamAsset* stream, int index) {
|
| + SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| + return fm->createFromStream(stream, index);
|
| +}
|
| +
|
| +SkTypeface* SkTypeface::CreateFromFontData(SkFontData* data) {
|
| + SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| + return fm->createFromFontData(data);
|
| +}
|
| +
|
| +SkTypeface* SkTypeface::CreateFromFile(const char path[], int index) {
|
| + SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| + return fm->createFromFile(path, index);
|
| }
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
| @@ -175,7 +176,7 @@
|
| desc.serialize(wstream);
|
| }
|
|
|
| -sk_sp<SkTypeface> SkTypeface::MakeDeserialize(SkStream* stream) {
|
| +SkTypeface* SkTypeface::Deserialize(SkStream* stream) {
|
| if (gDeserializeTypefaceDelegate) {
|
| return (*gDeserializeTypefaceDelegate)(stream);
|
| }
|
| @@ -187,12 +188,12 @@
|
|
|
| SkFontData* data = desc.detachFontData();
|
| if (data) {
|
| - sk_sp<SkTypeface> typeface(SkTypeface::MakeFromFontData(data));
|
| + SkTypeface* typeface = SkTypeface::CreateFromFontData(data);
|
| if (typeface) {
|
| return typeface;
|
| }
|
| }
|
| - return SkTypeface::MakeFromName(desc.getFamilyName(), desc.getStyle());
|
| + return SkTypeface::CreateFromName(desc.getFamilyName(), desc.getStyle());
|
| }
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
| @@ -334,7 +335,7 @@
|
| const SkScalar invTextSize = 1 / textSize;
|
|
|
| SkPaint paint;
|
| - paint.setTypeface(sk_ref_sp(const_cast<SkTypeface*>(this)));
|
| + paint.setTypeface(const_cast<SkTypeface*>(this));
|
| paint.setTextSize(textSize);
|
| paint.setLinearText(true);
|
|
|
|
|