aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorFlorin Malita <fmalita@chromium.org>2019-01-02 09:26:13 -0500
committerSkia Commit-Bot <skia-commit-bot@chromium.org>2019-01-02 14:50:52 +0000
commit9356393f5b483263922f39a8600da1cddc670915 (patch)
treea8742cf449b3bfd0c862aad7c631d88ab6c3f345 /modules
parent7f4735bdb5d618151a670bf3d739a4bf5e0d4ca9 (diff)
downloadskqp-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.cpp10
-rw-r--r--modules/skottie/src/SkottieAdapter.h27
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