Lines Matching refs:animator

30 static void detach(sp<BaseRenderNodeAnimator>& animator) {
31 animator->detach();
44 void AnimatorManager::addAnimator(const sp<BaseRenderNodeAnimator>& animator) {
45 RenderNode* stagingTarget = animator->stagingTarget();
49 mNewAnimators.emplace_back(animator.get());
50 // If the animator is already attached to other RenderNode, remove it from that RenderNode's
51 // new animator list. This ensures one animator only ends up in one newAnimatorList during one
54 stagingTarget->removeAnimator(animator);
56 animator->attach(&mParent);
59 void AnimatorManager::removeAnimator(const sp<BaseRenderNodeAnimator>& animator) {
60 mNewAnimators.erase(std::remove(mNewAnimators.begin(), mNewAnimators.end(), animator),
86 for (auto& animator : mAnimators) {
87 animator->pushStaging(mAnimationHandle->context());
91 void AnimatorManager::onAnimatorTargetChanged(BaseRenderNodeAnimator* animator) {
92 LOG_ALWAYS_FATAL_IF(animator->target() == &mParent, "Target has not been changed");
93 mAnimators.erase(std::remove(mAnimators.begin(), mAnimators.end(), animator), mAnimators.end());
101 bool operator() (sp<BaseRenderNodeAnimator>& animator) {
102 *mDirtyMask |= animator->dirtyMask();
103 bool remove = animator->animate(mContext);
105 animator->detach();
107 if (animator->isRunning()) {
110 if (CC_UNLIKELY(!animator->mayRunAsync())) {
154 static void endStagingAnimator(sp<BaseRenderNodeAnimator>& animator) {
155 animator->cancel();
156 if (animator->listener()) {
157 animator->listener()->onAnimationFinished(animator.get());
173 void operator() (sp<BaseRenderNodeAnimator>& animator) {
174 animator->forceEndNow(mContext);