PassOwnPtr<AnimationEffect::CompositableValueList> InertAnimation::sample() { updateInheritedTime(0); if (!isInEffect()) return nullptr; double iteration = currentIteration(); ASSERT(iteration >= 0); // FIXME: Handle iteration values which overflow int. return m_effect->sample(static_cast<int>(iteration), timeFraction()); }
PassOwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > InertAnimation::sample(double inheritedTime) { updateInheritedTime(inheritedTime, TimingUpdateOnDemand); if (!isInEffect()) return nullptr; double iteration = currentIteration(); ASSERT(iteration >= 0); // FIXME: Handle iteration values which overflow int. return m_effect->sample(static_cast<int>(iteration), timeFraction(), iterationDuration()); }
void InertEffect::sample(Vector<RefPtr<Interpolation>>& result) { updateInheritedTime(m_inheritedTime, TimingUpdateOnDemand); if (!isInEffect()) { result.clear(); return; } double iteration = currentIteration(); ASSERT(iteration >= 0); m_model->sample(clampTo<int>(iteration, 0), timeFraction(), iterationDuration(), result); }
void InertEffect::sample(OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>>& result) { updateInheritedTime(m_inheritedTime, TimingUpdateOnDemand); if (!isInEffect()) { result.clear(); return; } double iteration = currentIteration(); ASSERT(iteration >= 0); // FIXME: Handle iteration values which overflow int. return m_model->sample(static_cast<int>(iteration), timeFraction(), iterationDuration(), result); }
void updateInheritedTime(double time) { updateInheritedTime(time, TimingUpdateForAnimationFrame); }