Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: include/core/SkTypeface.h

Issue 2339273002: SkFontData to use smart pointers. (Closed)
Patch Set: Add trivial bodies to the trivial implementations. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/core/SkStream.h ('k') | include/ports/SkFontMgr.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « include/core/SkStream.h ('k') | include/ports/SkFontMgr.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698