Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Side by Side Diff: Source/core/page/animation/AnimationBase.cpp

Issue 14391005: Rename Animation -> PrimitiveAnimation (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 return bezier.solve(t, solveEpsilon(duration)); 61 return bezier.solve(t, solveEpsilon(duration));
62 } 62 }
63 63
64 static inline double solveStepsFunction(int numSteps, bool stepAtStart, double t ) 64 static inline double solveStepsFunction(int numSteps, bool stepAtStart, double t )
65 { 65 {
66 if (stepAtStart) 66 if (stepAtStart)
67 return min(1.0, (floor(numSteps * t) + 1) / numSteps); 67 return min(1.0, (floor(numSteps * t) + 1) / numSteps);
68 return floor(numSteps * t) / numSteps; 68 return floor(numSteps * t) / numSteps;
69 } 69 }
70 70
71 AnimationBase::AnimationBase(const Animation* transition, RenderObject* renderer , CompositeAnimation* compAnim) 71 AnimationBase::AnimationBase(const PrimitiveAnimation* transition, RenderObject* renderer, CompositeAnimation* compAnim)
72 : m_animState(AnimationStateNew) 72 : m_animState(AnimationStateNew)
73 , m_isAccelerated(false) 73 , m_isAccelerated(false)
74 , m_transformFunctionListValid(false) 74 , m_transformFunctionListValid(false)
75 , m_filterFunctionListsMatch(false) 75 , m_filterFunctionListsMatch(false)
76 , m_startTime(0) 76 , m_startTime(0)
77 , m_pauseTime(-1) 77 , m_pauseTime(-1)
78 , m_requestedStartTime(0) 78 , m_requestedStartTime(0)
79 , m_totalDuration(-1) 79 , m_totalDuration(-1)
80 , m_nextIterationDuration(-1) 80 , m_nextIterationDuration(-1)
81 , m_object(renderer) 81 , m_object(renderer)
82 , m_animation(const_cast<Animation*>(transition)) 82 , m_animation(const_cast<PrimitiveAnimation*>(transition))
83 , m_compAnim(compAnim) 83 , m_compAnim(compAnim)
84 { 84 {
85 // Compute the total duration 85 // Compute the total duration
86 if (m_animation->iterationCount() > 0) 86 if (m_animation->iterationCount() > 0)
87 m_totalDuration = m_animation->duration() * m_animation->iterationCount( ); 87 m_totalDuration = m_animation->duration() * m_animation->iterationCount( );
88 } 88 }
89 89
90 void AnimationBase::setNeedsStyleRecalc(Node* node) 90 void AnimationBase::setNeedsStyleRecalc(Node* node)
91 { 91 {
92 ASSERT(!node || (node->document() && !node->document()->inPageCache())); 92 ASSERT(!node || (node->document() && !node->document()->inPageCache()));
93 if (node) 93 if (node)
94 node->setNeedsStyleRecalc(SyntheticStyleChange); 94 node->setNeedsStyleRecalc(SyntheticStyleChange);
95 } 95 }
96 96
97 double AnimationBase::duration() const 97 double AnimationBase::duration() const
98 { 98 {
99 return m_animation->duration(); 99 return m_animation->duration();
100 } 100 }
101 101
102 bool AnimationBase::playStatePlaying() const 102 bool AnimationBase::playStatePlaying() const
103 { 103 {
104 return m_animation->playState() == AnimPlayStatePlaying; 104 return m_animation->playState() == AnimPlayStatePlaying;
105 } 105 }
106 106
107 bool AnimationBase::animationsMatch(const Animation* anim) const 107 bool AnimationBase::animationsMatch(const PrimitiveAnimation* anim) const
108 { 108 {
109 return m_animation->animationsMatch(anim); 109 return m_animation->animationsMatch(anim);
110 } 110 }
111 111
112 void AnimationBase::updateStateMachine(AnimStateInput input, double param) 112 void AnimationBase::updateStateMachine(AnimStateInput input, double param)
113 { 113 {
114 if (!m_compAnim) 114 if (!m_compAnim)
115 return; 115 return;
116 116
117 // If we get AnimationStateInputRestartAnimation then we force a new animati on, regardless of state. 117 // If we get AnimationStateInputRestartAnimation then we force a new animati on, regardless of state.
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 // concept in AnimationTimeController. So we need to somehow sync the two. U ntil then, the possible 484 // concept in AnimationTimeController. So we need to somehow sync the two. U ntil then, the possible
485 // error is small and will probably not be noticeable. Until we fix this, re move the assert. 485 // error is small and will probably not be noticeable. Until we fix this, re move the assert.
486 // https://bugs.webkit.org/show_bug.cgi?id=52037 486 // https://bugs.webkit.org/show_bug.cgi?id=52037
487 // ASSERT(fractionalTime >= 0); 487 // ASSERT(fractionalTime >= 0);
488 if (fractionalTime < 0) 488 if (fractionalTime < 0)
489 fractionalTime = 0; 489 fractionalTime = 0;
490 490
491 int integralTime = static_cast<int>(fractionalTime); 491 int integralTime = static_cast<int>(fractionalTime);
492 const int integralIterationCount = static_cast<int>(m_animation->iterationCo unt()); 492 const int integralIterationCount = static_cast<int>(m_animation->iterationCo unt());
493 const bool iterationCountHasFractional = m_animation->iterationCount() - int egralIterationCount; 493 const bool iterationCountHasFractional = m_animation->iterationCount() - int egralIterationCount;
494 if (m_animation->iterationCount() != Animation::IterationCountInfinite && !i terationCountHasFractional) 494 if (m_animation->iterationCount() != PrimitiveAnimation::IterationCountInfin ite && !iterationCountHasFractional)
495 integralTime = min(integralTime, integralIterationCount - 1); 495 integralTime = min(integralTime, integralIterationCount - 1);
496 496
497 fractionalTime -= integralTime; 497 fractionalTime -= integralTime;
498 498
499 if (((m_animation->direction() == Animation::AnimationDirectionAlternate) && (integralTime & 1)) 499 if (((m_animation->direction() == PrimitiveAnimation::AnimationDirectionAlte rnate) && (integralTime & 1))
500 || ((m_animation->direction() == Animation::AnimationDirectionAlternateR everse) && !(integralTime & 1)) 500 || ((m_animation->direction() == PrimitiveAnimation::AnimationDirectionA lternateReverse) && !(integralTime & 1))
501 || m_animation->direction() == Animation::AnimationDirectionReverse) 501 || m_animation->direction() == PrimitiveAnimation::AnimationDirectionRev erse)
502 fractionalTime = 1 - fractionalTime; 502 fractionalTime = 1 - fractionalTime;
503 503
504 if (scale != 1 || offset) 504 if (scale != 1 || offset)
505 fractionalTime = (fractionalTime - offset) * scale; 505 fractionalTime = (fractionalTime - offset) * scale;
506 506
507 return fractionalTime; 507 return fractionalTime;
508 } 508 }
509 509
510 double AnimationBase::progress(double scale, double offset, const TimingFunction * tf) const 510 double AnimationBase::progress(double scale, double offset, const TimingFunction * tf) const
511 { 511 {
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 return m_pauseTime - m_startTime; 612 return m_pauseTime - m_startTime;
613 if (m_startTime <= 0) 613 if (m_startTime <= 0)
614 return 0; 614 return 0;
615 if (postActive()) 615 if (postActive())
616 return 1; 616 return 1;
617 617
618 return beginAnimationUpdateTime() - m_startTime; 618 return beginAnimationUpdateTime() - m_startTime;
619 } 619 }
620 620
621 } // namespace WebCore 621 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698