OLD | NEW |
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 22 matching lines...) Expand all Loading... |
33 #include "core/frame/animation/CompositeAnimation.h" | 33 #include "core/frame/animation/CompositeAnimation.h" |
34 #include "core/platform/animation/TimingFunction.h" | 34 #include "core/platform/animation/TimingFunction.h" |
35 #include "core/rendering/RenderBox.h" | 35 #include "core/rendering/RenderBox.h" |
36 #include "platform/animation/AnimationUtilities.h" | 36 #include "platform/animation/AnimationUtilities.h" |
37 #include <algorithm> | 37 #include <algorithm> |
38 | 38 |
39 using namespace std; | 39 using namespace std; |
40 | 40 |
41 namespace WebCore { | 41 namespace WebCore { |
42 | 42 |
43 AnimationBase::AnimationBase(const CSSAnimationData* transition, RenderObject* r
enderer, CompositeAnimation* compAnim) | 43 AnimationBase::AnimationBase(const CSSAnimationData* transition, RenderObject& r
enderer, CompositeAnimation* compAnim) |
44 : m_animState(AnimationStateNew) | 44 : m_animState(AnimationStateNew) |
45 , m_isAccelerated(false) | 45 , m_isAccelerated(false) |
46 , m_transformFunctionListValid(false) | 46 , m_transformFunctionListValid(false) |
47 , m_filterFunctionListsMatch(false) | 47 , m_filterFunctionListsMatch(false) |
48 , m_startTime(0) | 48 , m_startTime(0) |
49 , m_pauseTime(-1) | 49 , m_pauseTime(-1) |
50 , m_requestedStartTime(0) | 50 , m_requestedStartTime(0) |
51 , m_totalDuration(-1) | 51 , m_totalDuration(-1) |
52 , m_nextIterationDuration(-1) | 52 , m_nextIterationDuration(-1) |
53 , m_object(renderer) | 53 , m_object(&renderer) |
54 , m_animation(const_cast<CSSAnimationData*>(transition)) | 54 , m_animation(const_cast<CSSAnimationData*>(transition)) |
55 , m_compAnim(compAnim) | 55 , m_compAnim(compAnim) |
56 { | 56 { |
57 // Compute the total duration | 57 // Compute the total duration |
58 if (m_animation->iterationCount() > 0) | 58 if (m_animation->iterationCount() > 0) |
59 m_totalDuration = m_animation->duration() * m_animation->iterationCount(
); | 59 m_totalDuration = m_animation->duration() * m_animation->iterationCount(
); |
60 } | 60 } |
61 | 61 |
62 void AnimationBase::setNeedsStyleRecalc(Node* node) | 62 void AnimationBase::setNeedsStyleRecalc(Node* node) |
63 { | 63 { |
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
576 return 0; | 576 return 0; |
577 | 577 |
578 double elapsedTime = beginAnimationUpdateTime() - m_startTime; | 578 double elapsedTime = beginAnimationUpdateTime() - m_startTime; |
579 // It's possible for the start time to be ahead of the last update time | 579 // It's possible for the start time to be ahead of the last update time |
580 // if the compositor has just sent notification for the start of an | 580 // if the compositor has just sent notification for the start of an |
581 // accelerated animation. | 581 // accelerated animation. |
582 return max(elapsedTime, 0.0); | 582 return max(elapsedTime, 0.0); |
583 } | 583 } |
584 | 584 |
585 } // namespace WebCore | 585 } // namespace WebCore |
OLD | NEW |