Index: include/ports/SkFontMgr.h |
diff --git a/include/ports/SkFontMgr.h b/include/ports/SkFontMgr.h |
index a5b78c624178aa6ec60cf7c24533882c1aa3a589..28e374f753b8c0ba4873d0648ca5f99fee4f910f 100644 |
--- a/include/ports/SkFontMgr.h |
+++ b/include/ports/SkFontMgr.h |
@@ -150,11 +150,10 @@ public: |
/** |
* Create a typeface from the specified font data. |
- * Takes ownership of the font data, so the caller should not reference it again. |
* Will return NULL if the typeface could not be created. |
* The caller must call unref() on the returned object if it is not null. |
*/ |
- SkTypeface* createFromFontData(SkFontData*) const; |
+ SkTypeface* createFromFontData(std::unique_ptr<SkFontData>) const; |
/** |
* Create a typeface for the specified fileName and TTC index |
@@ -192,7 +191,10 @@ protected: |
virtual SkTypeface* onCreateFromStream(SkStreamAsset*, int ttcIndex) const = 0; |
// TODO: make pure virtual. |
virtual SkTypeface* onCreateFromStream(SkStreamAsset*, const FontParameters&) const; |
- virtual SkTypeface* onCreateFromFontData(SkFontData*) const; |
+ virtual SkTypeface* onCreateFromFontData(std::unique_ptr<SkFontData>) const; |
+#ifdef SK_DECLARE_LEGACY_CREATE_FROM_FONTDATA |
+ virtual SkTypeface* onCreateFromFontData(SkFontData*) const { return nullptr; }; |
+#endif |
virtual SkTypeface* onCreateFromFile(const char path[], int ttcIndex) const = 0; |
virtual SkTypeface* onLegacyCreateTypeface(const char familyName[], SkFontStyle) const = 0; |