AnimationPlayer* AnimationTimeline::play(AnimationNode* child) { if (!m_document) return 0; AnimationPlayer* player = createAnimationPlayer(child); player->setStartTimeInternal(effectiveTime()); m_document->compositorPendingAnimations().add(player); return player; }
double Player::currentTimeBeforeDrift() const { if (isNull(m_startTime)) return 0; return (effectiveTime(m_timeline.currentTime()) - startTime()) * m_playbackRate; }