| Index: include/core/SkTypeface.h
|
| diff --git a/include/core/SkTypeface.h b/include/core/SkTypeface.h
|
| index b2c288ebcdd0a543e8e4711c4f77913aa1003ae7..deaa7140e6c9b95695b4e58b99736d1ff01551bd 100644
|
| --- a/include/core/SkTypeface.h
|
| +++ b/include/core/SkTypeface.h
|
| @@ -150,10 +150,9 @@ public:
|
| #endif
|
|
|
| /** Return a new typeface given font data and configuration. If the data
|
| - is not valid font data, returns nullptr. Ownership of the font data is
|
| - transferred, so the caller must not reference it again.
|
| + is not valid font data, returns nullptr.
|
| */
|
| - static sk_sp<SkTypeface> MakeFromFontData(SkFontData*);
|
| + static sk_sp<SkTypeface> MakeFromFontData(std::unique_ptr<SkFontData>);
|
|
|
| /** Write a unique signature to a stream, sufficient to reconstruct a
|
| typeface referencing the same font when Deserialize is called.
|
| @@ -300,10 +299,9 @@ public:
|
| SkStreamAsset* openStream(int* ttcIndex) const;
|
|
|
| /**
|
| - * Return the font data, or NULL on failure.
|
| - * The caller is responsible for deleting the font data.
|
| + * Return the font data, or nullptr on failure.
|
| */
|
| - SkFontData* createFontData() const;
|
| + std::unique_ptr<SkFontData> makeFontData() const;
|
|
|
| /**
|
| * Return a scalercontext for the given descriptor. If this fails, then
|
| @@ -361,7 +359,10 @@ protected:
|
|
|
| virtual SkStreamAsset* onOpenStream(int* ttcIndex) const = 0;
|
| // TODO: make pure virtual.
|
| - virtual SkFontData* onCreateFontData() const;
|
| + virtual std::unique_ptr<SkFontData> onMakeFontData() const;
|
| +#ifdef SK_DECLARE_LEGACY_CREATE_FROM_FONTDATA
|
| + virtual SkFontData* onCreateFontData() const { return nullptr; };
|
| +#endif
|
|
|
| virtual void onGetFontDescriptor(SkFontDescriptor*, bool* isLocal) const = 0;
|
|
|
|
|