diff options
author | bungeman <bungeman@google.com> | 2016-05-12 10:09:30 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-05-12 10:09:31 -0700 |
commit | 13b9c95295f4c5732e34574789e721a6bc08f7b4 (patch) | |
tree | c3ef0aa2af9890c03cb79968f32166af39fba9ba /src/fonts | |
parent | 40d21de8b6620d724f34bdc85af1dcb593d33fe0 (diff) |
Move SkTypeface to sk_sp.
Committed: https://skia.googlesource.com/skia/+/6296da736fbf40aae881650c239420f64e576c3f
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1933393002
Review-Url: https://codereview.chromium.org/1933393002
Diffstat (limited to 'src/fonts')
-rw-r--r-- | src/fonts/SkGScalerContext.cpp | 11 | ||||
-rw-r--r-- | src/fonts/SkGScalerContext.h | 9 | ||||
-rw-r--r-- | src/fonts/SkRandomScalerContext.cpp | 8 | ||||
-rw-r--r-- | src/fonts/SkRandomScalerContext.h | 11 |
4 files changed, 15 insertions, 24 deletions
diff --git a/src/fonts/SkGScalerContext.cpp b/src/fonts/SkGScalerContext.cpp index 0a9601bd7e..1d34536cbe 100644 --- a/src/fonts/SkGScalerContext.cpp +++ b/src/fonts/SkGScalerContext.cpp @@ -151,14 +151,11 @@ void SkGScalerContext::generateFontMetrics(SkPaint::FontMetrics* metrics) { #include "SkTypefaceCache.h" -SkGTypeface::SkGTypeface(SkTypeface* proxy, const SkPaint& paint) +SkGTypeface::SkGTypeface(sk_sp<SkTypeface> proxy, const SkPaint& paint) : SkTypeface(proxy->fontStyle(), SkTypefaceCache::NewFontID(), false) - , fProxy(SkRef(proxy)) - , fPaint(paint) {} - -SkGTypeface::~SkGTypeface() { - fProxy->unref(); -} + , fProxy(std::move(proxy)) + , fPaint(paint) +{} SkScalerContext* SkGTypeface::onCreateScalerContext(const SkScalerContextEffects& effects, const SkDescriptor* desc) const { diff --git a/src/fonts/SkGScalerContext.h b/src/fonts/SkGScalerContext.h index 69d02ddf11..3eb25a81da 100644 --- a/src/fonts/SkGScalerContext.h +++ b/src/fonts/SkGScalerContext.h @@ -13,10 +13,9 @@ class SkGTypeface : public SkTypeface { public: - SkGTypeface(SkTypeface* proxy, const SkPaint&); - virtual ~SkGTypeface(); + SkGTypeface(sk_sp<SkTypeface> proxy, const SkPaint&); - SkTypeface* proxy() const { return fProxy; } + SkTypeface* proxy() const { return fProxy.get(); } const SkPaint& paint() const { return fPaint; } protected: @@ -43,8 +42,8 @@ protected: size_t length, void* data) const override; private: - SkTypeface* fProxy; - SkPaint fPaint; + sk_sp<SkTypeface> fProxy; + SkPaint fPaint; }; #endif diff --git a/src/fonts/SkRandomScalerContext.cpp b/src/fonts/SkRandomScalerContext.cpp index 245052053e..6d3718cbef 100644 --- a/src/fonts/SkRandomScalerContext.cpp +++ b/src/fonts/SkRandomScalerContext.cpp @@ -190,16 +190,12 @@ void SkRandomScalerContext::generateFontMetrics(SkPaint::FontMetrics* metrics) { #include "SkTypefaceCache.h" -SkRandomTypeface::SkRandomTypeface(SkTypeface* proxy, const SkPaint& paint, bool fakeIt) +SkRandomTypeface::SkRandomTypeface(sk_sp<SkTypeface> proxy, const SkPaint& paint, bool fakeIt) : SkTypeface(proxy->fontStyle(), SkTypefaceCache::NewFontID(), false) - , fProxy(SkRef(proxy)) + , fProxy(std::move(proxy)) , fPaint(paint) , fFakeIt(fakeIt) {} -SkRandomTypeface::~SkRandomTypeface() { - fProxy->unref(); -} - SkScalerContext* SkRandomTypeface::onCreateScalerContext(const SkScalerContextEffects& effects, const SkDescriptor* desc) const { return new SkRandomScalerContext(const_cast<SkRandomTypeface*>(this), effects, desc, fFakeIt); diff --git a/src/fonts/SkRandomScalerContext.h b/src/fonts/SkRandomScalerContext.h index 0e08f4b1ae..076689d93a 100644 --- a/src/fonts/SkRandomScalerContext.h +++ b/src/fonts/SkRandomScalerContext.h @@ -18,10 +18,9 @@ class SkRandomTypeface : public SkTypeface { public: - SkRandomTypeface(SkTypeface* proxy, const SkPaint&, bool fakeit); - virtual ~SkRandomTypeface(); + SkRandomTypeface(sk_sp<SkTypeface> proxy, const SkPaint&, bool fakeit); - SkTypeface* proxy() const { return fProxy; } + SkTypeface* proxy() const { return fProxy.get(); } const SkPaint& paint() const { return fPaint; } protected: @@ -48,9 +47,9 @@ protected: size_t length, void* data) const override; private: - SkTypeface* fProxy; - SkPaint fPaint; - bool fFakeIt; + sk_sp<SkTypeface> fProxy; + SkPaint fPaint; + bool fFakeIt; }; #endif |