OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
5 * Copyright (C) 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2008 Apple Inc. All rights reserved. |
6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> | 6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> |
7 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 7 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 updateAnimationMode(); | 176 updateAnimationMode(); |
177 return; | 177 return; |
178 } | 178 } |
179 | 179 |
180 if (name == SVGNames::keyTimesAttr) { | 180 if (name == SVGNames::keyTimesAttr) { |
181 parseKeyTimes(value, m_keyTimes, true); | 181 parseKeyTimes(value, m_keyTimes, true); |
182 return; | 182 return; |
183 } | 183 } |
184 | 184 |
185 if (name == SVGNames::keyPointsAttr) { | 185 if (name == SVGNames::keyPointsAttr) { |
186 if (hasTagName(SVGNames::animateMotionTag)) { | 186 if (isSVGAnimateMotionElement(*this)) { |
187 // This is specified to be an animateMotion attribute only but it is
simpler to put it here | 187 // This is specified to be an animateMotion attribute only but it is
simpler to put it here |
188 // where the other timing calculatations are. | 188 // where the other timing calculatations are. |
189 parseKeyTimes(value, m_keyPoints, false); | 189 parseKeyTimes(value, m_keyPoints, false); |
190 } | 190 } |
191 return; | 191 return; |
192 } | 192 } |
193 | 193 |
194 if (name == SVGNames::keySplinesAttr) { | 194 if (name == SVGNames::keySplinesAttr) { |
195 parseKeySplines(value, m_keySplines); | 195 parseKeySplines(value, m_keySplines); |
196 return; | 196 return; |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
298 DEFINE_STATIC_LOCAL(const AtomicString, spline, ("spline", AtomicString::Con
structFromLiteral)); | 298 DEFINE_STATIC_LOCAL(const AtomicString, spline, ("spline", AtomicString::Con
structFromLiteral)); |
299 if (calcMode == discrete) | 299 if (calcMode == discrete) |
300 setCalcMode(CalcModeDiscrete); | 300 setCalcMode(CalcModeDiscrete); |
301 else if (calcMode == linear) | 301 else if (calcMode == linear) |
302 setCalcMode(CalcModeLinear); | 302 setCalcMode(CalcModeLinear); |
303 else if (calcMode == paced) | 303 else if (calcMode == paced) |
304 setCalcMode(CalcModePaced); | 304 setCalcMode(CalcModePaced); |
305 else if (calcMode == spline) | 305 else if (calcMode == spline) |
306 setCalcMode(CalcModeSpline); | 306 setCalcMode(CalcModeSpline); |
307 else | 307 else |
308 setCalcMode(hasTagName(SVGNames::animateMotionTag) ? CalcModePaced : Cal
cModeLinear); | 308 setCalcMode(isSVGAnimateMotionElement(*this) ? CalcModePaced : CalcModeL
inear); |
309 } | 309 } |
310 | 310 |
311 void SVGAnimationElement::setAttributeType(const AtomicString& attributeType) | 311 void SVGAnimationElement::setAttributeType(const AtomicString& attributeType) |
312 { | 312 { |
313 DEFINE_STATIC_LOCAL(const AtomicString, css, ("CSS", AtomicString::Construct
FromLiteral)); | 313 DEFINE_STATIC_LOCAL(const AtomicString, css, ("CSS", AtomicString::Construct
FromLiteral)); |
314 DEFINE_STATIC_LOCAL(const AtomicString, xml, ("XML", AtomicString::Construct
FromLiteral)); | 314 DEFINE_STATIC_LOCAL(const AtomicString, xml, ("XML", AtomicString::Construct
FromLiteral)); |
315 if (attributeType == css) | 315 if (attributeType == css) |
316 m_attributeType = AttributeTypeCSS; | 316 m_attributeType = AttributeTypeCSS; |
317 else if (attributeType == xml) | 317 else if (attributeType == xml) |
318 m_attributeType = AttributeTypeXML; | 318 m_attributeType = AttributeTypeXML; |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
487 { | 487 { |
488 if (!targetElement()) | 488 if (!targetElement()) |
489 return AnimatedString; | 489 return AnimatedString; |
490 | 490 |
491 RefPtr<NewSVGAnimatedPropertyBase> property = targetElement()->propertyFromA
ttribute(attributeName()); | 491 RefPtr<NewSVGAnimatedPropertyBase> property = targetElement()->propertyFromA
ttribute(attributeName()); |
492 if (property) { | 492 if (property) { |
493 AnimatedPropertyType propertyType = property->type(); | 493 AnimatedPropertyType propertyType = property->type(); |
494 | 494 |
495 // Only <animatedTransform> is allowed to animate AnimatedTransformList. | 495 // Only <animatedTransform> is allowed to animate AnimatedTransformList. |
496 // http://www.w3.org/TR/SVG/animate.html#AnimationAttributesAndPropertie
s | 496 // http://www.w3.org/TR/SVG/animate.html#AnimationAttributesAndPropertie
s |
497 if (propertyType == AnimatedTransformList && !hasTagName(SVGNames::anima
teTransformTag)) | 497 if (propertyType == AnimatedTransformList && !isSVGAnimateTransformEleme
nt(*this)) |
498 return AnimatedUnknown; | 498 return AnimatedUnknown; |
499 | 499 |
500 return propertyType; | 500 return propertyType; |
501 } | 501 } |
502 | 502 |
503 return SVGElement::animatedPropertyTypeForCSSAttribute(attributeName()); | 503 return SVGElement::animatedPropertyTypeForCSSAttribute(attributeName()); |
504 } | 504 } |
505 | 505 |
506 void SVGAnimationElement::currentValuesForValuesAnimation(float percent, float&
effectivePercent, String& from, String& to) | 506 void SVGAnimationElement::currentValuesForValuesAnimation(float percent, float&
effectivePercent, String& from, String& to) |
507 { | 507 { |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
706 SVGSMILElement::setAttributeName(attributeName); | 706 SVGSMILElement::setAttributeName(attributeName); |
707 checkInvalidCSSAttributeType(targetElement()); | 707 checkInvalidCSSAttributeType(targetElement()); |
708 } | 708 } |
709 | 709 |
710 void SVGAnimationElement::checkInvalidCSSAttributeType(SVGElement* target) | 710 void SVGAnimationElement::checkInvalidCSSAttributeType(SVGElement* target) |
711 { | 711 { |
712 m_hasInvalidCSSAttributeType = target && hasValidAttributeName() && attribut
eType() == AttributeTypeCSS && !isTargetAttributeCSSProperty(target, attributeNa
me()); | 712 m_hasInvalidCSSAttributeType = target && hasValidAttributeName() && attribut
eType() == AttributeTypeCSS && !isTargetAttributeCSSProperty(target, attributeNa
me()); |
713 } | 713 } |
714 | 714 |
715 } | 715 } |
OLD | NEW |