OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google 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 are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 computedTiming.setCurrentIteration(ensureCalculated().currentIteration); | 105 computedTiming.setCurrentIteration(ensureCalculated().currentIteration); |
106 } else { | 106 } else { |
107 computedTiming.setLocalTimeToNull(); | 107 computedTiming.setLocalTimeToNull(); |
108 computedTiming.setProgressToNull(); | 108 computedTiming.setProgressToNull(); |
109 computedTiming.setCurrentIterationToNull(); | 109 computedTiming.setCurrentIterationToNull(); |
110 } | 110 } |
111 | 111 |
112 // KeyframeEffectOptions members. | 112 // KeyframeEffectOptions members. |
113 computedTiming.setDelay(specifiedTiming().startDelay * 1000); | 113 computedTiming.setDelay(specifiedTiming().startDelay * 1000); |
114 computedTiming.setEndDelay(specifiedTiming().endDelay * 1000); | 114 computedTiming.setEndDelay(specifiedTiming().endDelay * 1000); |
115 computedTiming.setFill(Timing::fillModeString( | 115 computedTiming.setFill(Timing::fillModeString(resolvedFillMode( |
116 resolvedFillMode(specifiedTiming().fillMode, isKeyframeEffect()))); | 116 specifiedTiming().fillMode, isKeyframeEffectReadOnly()))); |
117 computedTiming.setIterationStart(specifiedTiming().iterationStart); | 117 computedTiming.setIterationStart(specifiedTiming().iterationStart); |
118 computedTiming.setIterations(specifiedTiming().iterationCount); | 118 computedTiming.setIterations(specifiedTiming().iterationCount); |
119 | 119 |
120 UnrestrictedDoubleOrString duration; | 120 UnrestrictedDoubleOrString duration; |
121 duration.setUnrestrictedDouble(iterationDuration() * 1000); | 121 duration.setUnrestrictedDouble(iterationDuration() * 1000); |
122 computedTiming.setDuration(duration); | 122 computedTiming.setDuration(duration); |
123 | 123 |
124 computedTiming.setDirection( | 124 computedTiming.setDirection( |
125 Timing::playbackDirectionString(specifiedTiming().direction)); | 125 Timing::playbackDirectionString(specifiedTiming().direction)); |
126 computedTiming.setEasing(specifiedTiming().timingFunction->toString()); | 126 computedTiming.setEasing(specifiedTiming().timingFunction->toString()); |
(...skipping 19 matching lines...) Expand all Loading... |
146 double timeToNextIteration = std::numeric_limits<double>::infinity(); | 146 double timeToNextIteration = std::numeric_limits<double>::infinity(); |
147 if (needsUpdate) { | 147 if (needsUpdate) { |
148 const double activeDuration = this->activeDurationInternal(); | 148 const double activeDuration = this->activeDurationInternal(); |
149 | 149 |
150 const Phase currentPhase = | 150 const Phase currentPhase = |
151 calculatePhase(activeDuration, localTime, m_timing); | 151 calculatePhase(activeDuration, localTime, m_timing); |
152 // FIXME: parentPhase depends on groups being implemented. | 152 // FIXME: parentPhase depends on groups being implemented. |
153 const AnimationEffectReadOnly::Phase parentPhase = | 153 const AnimationEffectReadOnly::Phase parentPhase = |
154 AnimationEffectReadOnly::PhaseActive; | 154 AnimationEffectReadOnly::PhaseActive; |
155 const double activeTime = calculateActiveTime( | 155 const double activeTime = calculateActiveTime( |
156 activeDuration, resolvedFillMode(m_timing.fillMode, isKeyframeEffect()), | 156 activeDuration, |
| 157 resolvedFillMode(m_timing.fillMode, isKeyframeEffectReadOnly()), |
157 localTime, parentPhase, currentPhase, m_timing); | 158 localTime, parentPhase, currentPhase, m_timing); |
158 | 159 |
159 double currentIteration; | 160 double currentIteration; |
160 double progress; | 161 double progress; |
161 if (const double iterationDuration = this->iterationDuration()) { | 162 if (const double iterationDuration = this->iterationDuration()) { |
162 const double startOffset = multiplyZeroAlwaysGivesZero( | 163 const double startOffset = multiplyZeroAlwaysGivesZero( |
163 m_timing.iterationStart, iterationDuration); | 164 m_timing.iterationStart, iterationDuration); |
164 DCHECK_GE(startOffset, 0); | 165 DCHECK_GE(startOffset, 0); |
165 const double scaledActiveTime = calculateScaledActiveTime( | 166 const double scaledActiveTime = calculateScaledActiveTime( |
166 activeDuration, activeTime, startOffset, m_timing); | 167 activeDuration, activeTime, startOffset, m_timing); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 : std::numeric_limits<double>::infinity(); | 200 : std::numeric_limits<double>::infinity(); |
200 DCHECK_GE(localActiveDuration, 0); | 201 DCHECK_GE(localActiveDuration, 0); |
201 const double localLocalTime = | 202 const double localLocalTime = |
202 localTime < m_timing.startDelay | 203 localTime < m_timing.startDelay |
203 ? localTime | 204 ? localTime |
204 : localActiveDuration + m_timing.startDelay; | 205 : localActiveDuration + m_timing.startDelay; |
205 const AnimationEffectReadOnly::Phase localCurrentPhase = | 206 const AnimationEffectReadOnly::Phase localCurrentPhase = |
206 calculatePhase(localActiveDuration, localLocalTime, m_timing); | 207 calculatePhase(localActiveDuration, localLocalTime, m_timing); |
207 const double localActiveTime = calculateActiveTime( | 208 const double localActiveTime = calculateActiveTime( |
208 localActiveDuration, | 209 localActiveDuration, |
209 resolvedFillMode(m_timing.fillMode, isKeyframeEffect()), | 210 resolvedFillMode(m_timing.fillMode, isKeyframeEffectReadOnly()), |
210 localLocalTime, parentPhase, localCurrentPhase, m_timing); | 211 localLocalTime, parentPhase, localCurrentPhase, m_timing); |
211 const double startOffset = | 212 const double startOffset = |
212 m_timing.iterationStart * localIterationDuration; | 213 m_timing.iterationStart * localIterationDuration; |
213 DCHECK_GE(startOffset, 0); | 214 DCHECK_GE(startOffset, 0); |
214 const double scaledActiveTime = calculateScaledActiveTime( | 215 const double scaledActiveTime = calculateScaledActiveTime( |
215 localActiveDuration, localActiveTime, startOffset, m_timing); | 216 localActiveDuration, localActiveTime, startOffset, m_timing); |
216 const double iterationTime = calculateIterationTime( | 217 const double iterationTime = calculateIterationTime( |
217 localIterationDuration, localRepeatedDuration, scaledActiveTime, | 218 localIterationDuration, localRepeatedDuration, scaledActiveTime, |
218 startOffset, currentPhase, m_timing); | 219 startOffset, currentPhase, m_timing); |
219 | 220 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 AnimationEffectTimingReadOnly* AnimationEffectReadOnly::timing() { | 267 AnimationEffectTimingReadOnly* AnimationEffectReadOnly::timing() { |
267 return AnimationEffectTimingReadOnly::create(this); | 268 return AnimationEffectTimingReadOnly::create(this); |
268 } | 269 } |
269 | 270 |
270 DEFINE_TRACE(AnimationEffectReadOnly) { | 271 DEFINE_TRACE(AnimationEffectReadOnly) { |
271 visitor->trace(m_animation); | 272 visitor->trace(m_animation); |
272 visitor->trace(m_eventDelegate); | 273 visitor->trace(m_eventDelegate); |
273 } | 274 } |
274 | 275 |
275 } // namespace blink | 276 } // namespace blink |
OLD | NEW |