From 9356393f5b483263922f39a8600da1cddc670915 Mon Sep 17 00:00:00 2001 From: Florin Malita Date: Wed, 2 Jan 2019 09:26:13 -0500 Subject: [skottie] Derive most adapters from SkNVRefCnt Bug: skia: Change-Id: I6355a3802090a8da2c29486bd769d6a6b12af10f Reviewed-on: https://skia-review.googlesource.com/c/180368 Reviewed-by: Mike Klein Commit-Queue: Florin Malita --- modules/skottie/src/SkottieAdapter.cpp | 10 ++++++++++ modules/skottie/src/SkottieAdapter.h | 27 ++++++++++----------------- 2 files changed, 20 insertions(+), 17 deletions(-) (limited to 'modules') diff --git a/modules/skottie/src/SkottieAdapter.cpp b/modules/skottie/src/SkottieAdapter.cpp index 4ee8750056..0dd51bbfa3 100644 --- a/modules/skottie/src/SkottieAdapter.cpp +++ b/modules/skottie/src/SkottieAdapter.cpp @@ -34,6 +34,8 @@ namespace skottie { RRectAdapter::RRectAdapter(sk_sp wrapped_node) : fRRectNode(std::move(wrapped_node)) {} +RRectAdapter::~RRectAdapter() = default; + void RRectAdapter::apply() { // BM "position" == "center position" auto rr = SkRRect::MakeRectXY(SkRect::MakeXYWH(fPosition.x() - fSize.width() / 2, @@ -47,6 +49,8 @@ void RRectAdapter::apply() { TransformAdapter::TransformAdapter(sk_sp matrix) : fMatrixNode(std::move(matrix)) {} +TransformAdapter::~TransformAdapter() = default; + SkMatrix TransformAdapter::totalMatrix() const { SkMatrix t = SkMatrix::MakeTrans(-fAnchorPoint.x(), -fAnchorPoint.y()); @@ -66,6 +70,8 @@ PolyStarAdapter::PolyStarAdapter(sk_sp wrapped_node, Type t) : fPathNode(std::move(wrapped_node)) , fType(t) {} +PolyStarAdapter::~PolyStarAdapter() = default; + void PolyStarAdapter::apply() { static constexpr int kMaxPointCount = 100000; const auto count = SkToUInt(SkTPin(SkScalarRoundToInt(fPointCount), 0, kMaxPointCount)); @@ -152,6 +158,8 @@ TrimEffectAdapter::TrimEffectAdapter(sk_sp trimEffect) SkASSERT(fTrimEffect); } +TrimEffectAdapter::~TrimEffectAdapter() = default; + void TrimEffectAdapter::apply() { // BM semantics: start/end are percentages, offset is "degrees" (?!). const auto start = fStart / 100, @@ -207,6 +215,8 @@ TextAdapter::TextAdapter(sk_sp root) fStrokeColor->setStyle(SkPaint::kStroke_Style); } +TextAdapter::~TextAdapter() = default; + sk_sp TextAdapter::makeBlob() const { SkFont font(fText.fTypeface, fText.fTextSize); font.setHinting(kNo_SkFontHinting); diff --git a/modules/skottie/src/SkottieAdapter.h b/modules/skottie/src/SkottieAdapter.h index a162e06f81..13b74f2555 100644 --- a/modules/skottie/src/SkottieAdapter.h +++ b/modules/skottie/src/SkottieAdapter.h @@ -44,9 +44,10 @@ namespace skottie { p_type f##p_name = p_default; \ public: -class RRectAdapter final : public SkRefCnt { +class RRectAdapter final : public SkNVRefCnt { public: explicit RRectAdapter(sk_sp); + ~RRectAdapter(); ADAPTER_PROPERTY(Position, SkPoint , SkPoint::Make(0, 0)) ADAPTER_PROPERTY(Size , SkSize , SkSize::Make(0, 0)) @@ -56,17 +57,16 @@ private: void apply(); sk_sp fRRectNode; - - using INHERITED = SkRefCnt; }; -class PolyStarAdapter final : public SkRefCnt { +class PolyStarAdapter final : public SkNVRefCnt { public: enum class Type { kStar, kPoly, }; PolyStarAdapter(sk_sp, Type); + ~PolyStarAdapter(); ADAPTER_PROPERTY(Position , SkPoint , SkPoint::Make(0, 0)) ADAPTER_PROPERTY(PointCount , SkScalar, 0) @@ -81,13 +81,12 @@ private: sk_sp fPathNode; Type fType; - - using INHERITED = SkRefCnt; }; -class TransformAdapter final : public SkRefCnt { +class TransformAdapter final : public SkNVRefCnt { public: explicit TransformAdapter(sk_sp); + ~TransformAdapter(); ADAPTER_PROPERTY(AnchorPoint, SkPoint , SkPoint::Make(0, 0)) ADAPTER_PROPERTY(Position , SkPoint , SkPoint::Make(0, 0)) @@ -102,8 +101,6 @@ private: void apply(); sk_sp fMatrixNode; - - using INHERITED = SkRefCnt; }; class GradientAdapter : public SkRefCnt { @@ -125,8 +122,6 @@ protected: private: void apply(); - - using INHERITED = SkRefCnt; }; class LinearGradientAdapter final : public GradientAdapter { @@ -149,9 +144,10 @@ private: using INHERITED = GradientAdapter; }; -class TrimEffectAdapter final : public SkRefCnt { +class TrimEffectAdapter final : public SkNVRefCnt { public: explicit TrimEffectAdapter(sk_sp); + ~TrimEffectAdapter(); ADAPTER_PROPERTY(Start , SkScalar, 0) ADAPTER_PROPERTY(End , SkScalar, 100) @@ -161,13 +157,12 @@ private: void apply(); sk_sp fTrimEffect; - - using INHERITED = SkRefCnt; }; -class TextAdapter final : public SkRefCnt { +class TextAdapter final : public SkNVRefCnt { public: explicit TextAdapter(sk_sp root); + ~TextAdapter(); ADAPTER_PROPERTY(Text, TextValue, TextValue()) @@ -186,8 +181,6 @@ private: bool fHadFill : 1, // - state cached from the prev apply() fHadStroke : 1; // / - - using INHERITED = SkRefCnt; }; #undef ADAPTER_PROPERTY -- cgit v1.2.3