diff options
author | Florin Malita <fmalita@chromium.org> | 2019-01-02 09:26:13 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2019-01-02 14:50:52 +0000 |
commit | 9356393f5b483263922f39a8600da1cddc670915 (patch) | |
tree | a8742cf449b3bfd0c862aad7c631d88ab6c3f345 /modules | |
parent | 7f4735bdb5d618151a670bf3d739a4bf5e0d4ca9 (diff) | |
download | skqp-9356393f5b483263922f39a8600da1cddc670915.tar.gz |
[skottie] Derive most adapters from SkNVRefCnt
Bug: skia:
Change-Id: I6355a3802090a8da2c29486bd769d6a6b12af10f
Reviewed-on: https://skia-review.googlesource.com/c/180368
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'modules')
-rw-r--r-- | modules/skottie/src/SkottieAdapter.cpp | 10 | ||||
-rw-r--r-- | modules/skottie/src/SkottieAdapter.h | 27 |
2 files changed, 20 insertions, 17 deletions
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<sksg::RRect> 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<sksg::Matrix> 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<sksg::Path> 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<sksg::TrimEffect> 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<sksg::Group> root) fStrokeColor->setStyle(SkPaint::kStroke_Style); } +TextAdapter::~TextAdapter() = default; + sk_sp<SkTextBlob> 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<RRectAdapter> { public: explicit RRectAdapter(sk_sp<sksg::RRect>); + ~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<sksg::RRect> fRRectNode; - - using INHERITED = SkRefCnt; }; -class PolyStarAdapter final : public SkRefCnt { +class PolyStarAdapter final : public SkNVRefCnt<PolyStarAdapter> { public: enum class Type { kStar, kPoly, }; PolyStarAdapter(sk_sp<sksg::Path>, Type); + ~PolyStarAdapter(); ADAPTER_PROPERTY(Position , SkPoint , SkPoint::Make(0, 0)) ADAPTER_PROPERTY(PointCount , SkScalar, 0) @@ -81,13 +81,12 @@ private: sk_sp<sksg::Path> fPathNode; Type fType; - - using INHERITED = SkRefCnt; }; -class TransformAdapter final : public SkRefCnt { +class TransformAdapter final : public SkNVRefCnt<TransformAdapter> { public: explicit TransformAdapter(sk_sp<sksg::Matrix>); + ~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<sksg::Matrix> 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<TrimEffectAdapter> { public: explicit TrimEffectAdapter(sk_sp<sksg::TrimEffect>); + ~TrimEffectAdapter(); ADAPTER_PROPERTY(Start , SkScalar, 0) ADAPTER_PROPERTY(End , SkScalar, 100) @@ -161,13 +157,12 @@ private: void apply(); sk_sp<sksg::TrimEffect> fTrimEffect; - - using INHERITED = SkRefCnt; }; -class TextAdapter final : public SkRefCnt { +class TextAdapter final : public SkNVRefCnt<TextAdapter> { public: explicit TextAdapter(sk_sp<sksg::Group> 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 |