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 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2008 Apple Inc. All rights reserved. | 4 * Copyright (C) 2008 Apple Inc. All rights reserved. |
5 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 5 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 14 matching lines...) Expand all Loading... |
25 | 25 |
26 #include "core/CoreExport.h" | 26 #include "core/CoreExport.h" |
27 #include "core/SVGNames.h" | 27 #include "core/SVGNames.h" |
28 #include "core/svg/SVGAnimatedTypeAnimator.h" | 28 #include "core/svg/SVGAnimatedTypeAnimator.h" |
29 #include "core/svg/SVGAnimationElement.h" | 29 #include "core/svg/SVGAnimationElement.h" |
30 #include "platform/heap/Handle.h" | 30 #include "platform/heap/Handle.h" |
31 #include <base/gtest_prod_util.h> | 31 #include <base/gtest_prod_util.h> |
32 | 32 |
33 namespace blink { | 33 namespace blink { |
34 | 34 |
35 // The size of SVGElementInstances is 1 unless there is a <use> instance of the
element. | |
36 using SVGElementInstances = HeapVector<Member<SVGElement>, 1u>; | |
37 | |
38 class CORE_EXPORT SVGAnimateElement : public SVGAnimationElement { | 35 class CORE_EXPORT SVGAnimateElement : public SVGAnimationElement { |
39 DEFINE_WRAPPERTYPEINFO(); | 36 DEFINE_WRAPPERTYPEINFO(); |
40 public: | 37 public: |
41 static SVGAnimateElement* create(Document&); | 38 static SVGAnimateElement* create(Document&); |
42 ~SVGAnimateElement() override; | 39 ~SVGAnimateElement() override; |
43 | 40 |
44 DECLARE_VIRTUAL_TRACE(); | 41 DECLARE_VIRTUAL_TRACE(); |
45 | 42 |
46 bool isSVGAnimationAttributeSettingJavaScriptURL(const Attribute&) const ove
rride; | 43 bool isSVGAnimationAttributeSettingJavaScriptURL(const Attribute&) const ove
rride; |
47 | 44 |
48 AnimatedPropertyType animatedPropertyType(); | 45 AnimatedPropertyType animatedPropertyType(); |
49 bool animatedPropertyTypeSupportsAddition(); | 46 bool animatedPropertyTypeSupportsAddition(); |
50 | 47 |
51 static SVGElementInstances findElementInstances(SVGElement* targetElement); | |
52 | |
53 protected: | 48 protected: |
54 SVGAnimateElement(const QualifiedName&, Document&); | 49 SVGAnimateElement(const QualifiedName&, Document&); |
55 | 50 |
56 void resetAnimatedType() final; | 51 void resetAnimatedType() final; |
57 void clearAnimatedType() final; | 52 void clearAnimatedType() final; |
58 | 53 |
59 bool calculateToAtEndOfDurationValue(const String& toAtEndOfDurationString)
final; | 54 bool calculateToAtEndOfDurationValue(const String& toAtEndOfDurationString)
final; |
60 bool calculateFromAndToValues(const String& fromString, const String& toStri
ng) final; | 55 bool calculateFromAndToValues(const String& fromString, const String& toStri
ng) final; |
61 bool calculateFromAndByValues(const String& fromString, const String& byStri
ng) final; | 56 bool calculateFromAndByValues(const String& fromString, const String& byStri
ng) final; |
62 void calculateAnimatedValue(float percentage, unsigned repeatCount, SVGSMILE
lement* resultElement) final; | 57 void calculateAnimatedValue(float percentage, unsigned repeatCount, SVGSMILE
lement* resultElement) final; |
(...skipping 24 matching lines...) Expand all Loading... |
87 return element.hasTagName(SVGNames::animateTag) | 82 return element.hasTagName(SVGNames::animateTag) |
88 || element.hasTagName(SVGNames::animateTransformTag) | 83 || element.hasTagName(SVGNames::animateTransformTag) |
89 || element.hasTagName(SVGNames::setTag); | 84 || element.hasTagName(SVGNames::setTag); |
90 } | 85 } |
91 | 86 |
92 DEFINE_SVGELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGAnimateElement); | 87 DEFINE_SVGELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGAnimateElement); |
93 | 88 |
94 } // namespace blink | 89 } // namespace blink |
95 | 90 |
96 #endif // SVGAnimateElement_h | 91 #endif // SVGAnimateElement_h |
OLD | NEW |