Home | History | Annotate | Download | only in animation

Lines Matching defs:keyframes

68 KeyframeEffectModelBase::KeyframeVector KeyframeEffectModelBase::normalizedKeyframes(const KeyframeVector& keyframes)
72 result.reserveCapacity(keyframes.size());
74 for (size_t i = 0; i < keyframes.size(); ++i) {
75 double offset = keyframes[i]->offset();
82 result.append(keyframes[i]->clone());
117 const KeyframeVector keyframes = normalizedKeyframes(getFrames());
118 for (KeyframeVector::const_iterator keyframeIter = keyframes.begin(); keyframeIter != keyframes.end(); ++keyframeIter) {
123 ASSERT_WITH_MESSAGE(!isExpandedShorthand(property), "Web Animations: Encountered shorthand CSS property (%d) in normalized keyframes.", property);
135 // Add synthetic keyframes.
149 const PropertySpecificKeyframeVector& keyframes = iter->value->keyframes();
150 ASSERT(keyframes[0]->composite() == AnimationEffect::CompositeReplace);
151 for (size_t i = 0; i < keyframes.size() - 1; i++) {
152 ASSERT(keyframes[i + 1]->composite() == AnimationEffect::CompositeReplace);
153 double applyFrom = i ? keyframes[i]->offset() : (-std::numeric_limits<double>::infinity());
154 double applyTo = i == keyframes.size() - 2 ? std::numeric_limits<double>::infinity() : keyframes[i + 1]->offset();
158 m_interpolationEffect->addInterpolation(keyframes[i]->createInterpolation(iter->key, keyframes[i + 1].get(), element),
159 &keyframes[i]->easing(), keyframes[i]->offset(), keyframes[i + 1]->offset(), applyFrom, applyTo);
168 const PropertySpecificKeyframeVector& keyframeVector = iter->value->keyframes();
202 // As an optimization, removes keyframes in the following categories, as
204 // - End keyframes with the same offset as their neighbor
205 // - Interior keyframes with the same offset as both their neighbors
206 // Note that synthetic keyframes must be added before this method is