[skottie] Use a documenting alias for Animator::seek() return type
Change-Id: I46aeddf1e0739cfac9967e29192d542d6222c6ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280343
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
diff --git a/modules/skottie/src/Composition.cpp b/modules/skottie/src/Composition.cpp
index d5e96b2..3e56bc0 100644
--- a/modules/skottie/src/Composition.cpp
+++ b/modules/skottie/src/Composition.cpp
@@ -55,7 +55,7 @@
}
protected:
- bool onSeek(float t) {
+ StateChanged onSeek(float t) {
// TODO: we prolly need more sophisticated timeline mapping for nested animations.
fAnimation->seek(t * fTimeScale);
diff --git a/modules/skottie/src/Layer.cpp b/modules/skottie/src/Layer.cpp
index 5ee839c..68cd916 100644
--- a/modules/skottie/src/Layer.cpp
+++ b/modules/skottie/src/Layer.cpp
@@ -223,13 +223,13 @@
, fOut(out) {}
protected:
- bool onSeek(float t) override {
+ StateChanged onSeek(float t) override {
// in/out may be inverted for time-reversed layers
const auto active = (t >= fIn && t < fOut) || (t > fOut && t <= fIn);
- auto updated = false;
+ bool changed = false;
if (fLayerNode) {
- updated |= (fLayerNode->isVisible() != active);
+ changed |= (fLayerNode->isVisible() != active);
fLayerNode->setVisible(active);
}
@@ -239,10 +239,10 @@
const auto dispatch_count = active ? fLayerAnimators.size()
: fTransformAnimatorsCount;
for (size_t i = 0; i < dispatch_count; ++i) {
- updated |= fLayerAnimators[i]->seek(t);
+ changed |= fLayerAnimators[i]->seek(t);
}
- return updated;
+ return changed;
}
private:
@@ -262,7 +262,7 @@
// When motion blur is present, time ticks are not passed to layer animators
// but to the motion blur effect. The effect then drives the animators/scene-graph
// during reval and render phases.
- bool onSeek(float t) override {
+ StateChanged onSeek(float t) override {
fMotionBlurEffect->setT(t);
return true;
}
diff --git a/modules/skottie/src/animator/Animator.cpp b/modules/skottie/src/animator/Animator.cpp
index 2857ee1..6a6e67a 100644
--- a/modules/skottie/src/animator/Animator.cpp
+++ b/modules/skottie/src/animator/Animator.cpp
@@ -13,20 +13,20 @@
namespace skottie::internal {
-bool AnimatablePropertyContainer::onSeek(float t) {
+Animator::StateChanged AnimatablePropertyContainer::onSeek(float t) {
// The very first seek must trigger a sync, to ensure proper SG setup.
- bool dirty = !fHasSynced;
+ bool changed = !fHasSynced;
for (const auto& animator : fAnimators) {
- dirty |= animator->seek(t);
+ changed |= animator->seek(t);
}
- if (dirty) {
+ if (changed) {
this->onSync();
fHasSynced = true;
}
- return dirty;
+ return changed;
}
void AnimatablePropertyContainer::attachDiscardableAdapter(
diff --git a/modules/skottie/src/animator/Animator.h b/modules/skottie/src/animator/Animator.h
index c8c1f4e..2c1918b 100644
--- a/modules/skottie/src/animator/Animator.h
+++ b/modules/skottie/src/animator/Animator.h
@@ -28,13 +28,13 @@
public:
virtual ~Animator() = default;
- // Returns true if the state has changed.
- bool seek(float t) { return this->onSeek(t); }
+ using StateChanged = bool;
+ StateChanged seek(float t) { return this->onSeek(t); }
protected:
Animator() = default;
- virtual bool onSeek(float t) = 0;
+ virtual StateChanged onSeek(float t) = 0;
private:
Animator(const Animator&) = delete;
@@ -64,7 +64,7 @@
void attachDiscardableAdapter(sk_sp<AnimatablePropertyContainer>);
private:
- bool onSeek(float) final;
+ StateChanged onSeek(float) final;
bool bindImpl(const AnimationBuilder&,
const skjson::ObjectValue*,
diff --git a/modules/skottie/src/animator/Keyframe.cpp b/modules/skottie/src/animator/Keyframe.cpp
index a5dc731..ee40c3a 100644
--- a/modules/skottie/src/animator/Keyframe.cpp
+++ b/modules/skottie/src/animator/Keyframe.cpp
@@ -285,23 +285,23 @@
, fValues(std::move(vs))
, fTarget(target_value) {}
- bool onSeek(float t) override {
+ StateChanged onSeek(float t) override {
const auto& lerp_info = this->getLERPInfo(t);
- bool updated;
+ bool changed;
if (lerp_info.isConstant()) {
- updated = (*fTarget != fValues[SkToSizeT(lerp_info.vrec0.idx)]);
- if (updated) {
+ changed = (*fTarget != fValues[SkToSizeT(lerp_info.vrec0.idx)]);
+ if (changed) {
*fTarget = fValues[SkToSizeT(lerp_info.vrec0.idx)];
}
} else {
- updated = ValueTraits<T>::Lerp(fValues[lerp_info.vrec0.idx],
+ changed = ValueTraits<T>::Lerp(fValues[lerp_info.vrec0.idx],
fValues[lerp_info.vrec1.idx],
lerp_info.weight,
fTarget);
}
- return updated;
+ return changed;
}
const std::vector<T> fValues;
diff --git a/modules/skottie/src/animator/Scalar.cpp b/modules/skottie/src/animator/Scalar.cpp
index 7522c39..7d1266d 100644
--- a/modules/skottie/src/animator/Scalar.cpp
+++ b/modules/skottie/src/animator/Scalar.cpp
@@ -54,7 +54,7 @@
: INHERITED(std::move(kfs), std::move(cms))
, fTarget(target_value) {}
- bool onSeek(float t) override {
+ StateChanged onSeek(float t) override {
const auto& lerp_info = this->getLERPInfo(t);
const auto old_value = *fTarget;
diff --git a/modules/skottie/src/animator/Vec2.cpp b/modules/skottie/src/animator/Vec2.cpp
index 8d57f856..1a14f06 100644
--- a/modules/skottie/src/animator/Vec2.cpp
+++ b/modules/skottie/src/animator/Vec2.cpp
@@ -132,14 +132,14 @@
, fValues(std::move(vs))
, fTarget(target_value) {}
- bool update(const Vec2Value& new_value) {
- const auto updated = (new_value != *fTarget);
+ StateChanged update(const Vec2Value& new_value) {
+ const auto changed = (new_value != *fTarget);
*fTarget = new_value;
- return updated;
+ return changed;
}
- bool onSeek(float t) override {
+ StateChanged onSeek(float t) override {
const auto& lerp_info = this->getLERPInfo(t);
const auto& v0 = fValues[lerp_info.vrec0.idx];
diff --git a/modules/skottie/src/animator/Vector.cpp b/modules/skottie/src/animator/Vector.cpp
index a882e16..88b1229 100644
--- a/modules/skottie/src/animator/Vector.cpp
+++ b/modules/skottie/src/animator/Vector.cpp
@@ -161,7 +161,7 @@
fTarget->resize(fVecLen);
}
- bool onSeek(float t) override {
+ StateChanged onSeek(float t) override {
const auto& lerp_info = this->getLERPInfo(t);
SkASSERT(lerp_info.vrec0.idx + fVecLen <= fStorage.size());
@@ -181,13 +181,13 @@
}
size_t count = fVecLen;
- bool updated = false;
+ bool changed = false;
while (count >= 4) {
const auto old_val = Sk4f::Load(dst),
new_val = Lerp(Sk4f::Load(v0), Sk4f::Load(v1), lerp_info.weight);
- updated |= (new_val != old_val).anyTrue();
+ changed |= (new_val != old_val).anyTrue();
new_val.store(dst);
v0 += 4;
@@ -199,11 +199,11 @@
while (count-- > 0) {
const auto new_val = Lerp(*v0++, *v1++, lerp_info.weight);
- updated |= (new_val != *dst);
+ changed |= (new_val != *dst);
*dst++ = new_val;
}
- return updated;
+ return changed;
}
const std::vector<float> fStorage;
diff --git a/modules/skottie/src/layers/ImageLayer.cpp b/modules/skottie/src/layers/ImageLayer.cpp
index 8d75a26..3aad6df 100644
--- a/modules/skottie/src/layers/ImageLayer.cpp
+++ b/modules/skottie/src/layers/ImageLayer.cpp
@@ -39,7 +39,7 @@
, fTimeScale(time_scale)
, fIsMultiframe(fAsset->isMultiFrame()) {}
- bool onSeek(float t) override {
+ StateChanged onSeek(float t) override {
if (!fIsMultiframe && fImageNode->getImage()) {
// Single frame already resolved.
return false;
diff --git a/modules/skottie/src/layers/PrecompLayer.cpp b/modules/skottie/src/layers/PrecompLayer.cpp
index 3d1fb68..9c37d75 100644
--- a/modules/skottie/src/layers/PrecompLayer.cpp
+++ b/modules/skottie/src/layers/PrecompLayer.cpp
@@ -52,7 +52,7 @@
, fTimeBias(time_bias)
, fTimeScale(time_scale) {}
- bool onSeek(float t) override {
+ StateChanged onSeek(float t) override {
if (fRemapper) {
// When time remapping is active, |t| is fully driven externally.
fRemapper->seek(t);
@@ -61,13 +61,13 @@
t = (t + fTimeBias) * fTimeScale;
}
- bool updated = false;
+ bool changed = false;
for (const auto& anim : fAnimators) {
- updated |= anim->seek(t);
+ changed |= anim->seek(t);
}
- return updated;
+ return changed;
}
private: