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 22 matching lines...) Expand all Loading... |
33 | 33 |
34 #include "core/svg/SVGAnimatedTypeAnimator.h" | 34 #include "core/svg/SVGAnimatedTypeAnimator.h" |
35 | 35 |
36 namespace WebCore { | 36 namespace WebCore { |
37 | 37 |
38 class NewSVGAnimatedPropertyBase; | 38 class NewSVGAnimatedPropertyBase; |
39 | 39 |
40 // Bridges new SVGProperty impl. to existing SVG animation impl. | 40 // Bridges new SVGProperty impl. to existing SVG animation impl. |
41 class SVGAnimatedNewPropertyAnimator : public SVGAnimatedTypeAnimator { | 41 class SVGAnimatedNewPropertyAnimator : public SVGAnimatedTypeAnimator { |
42 public: | 42 public: |
43 SVGAnimatedNewPropertyAnimator(SVGAnimationElement*, SVGElement*); | 43 SVGAnimatedNewPropertyAnimator(SVGAnimationElement*, SVGElement*, AnimatedPr
opertyType); |
44 virtual ~SVGAnimatedNewPropertyAnimator(); | 44 virtual ~SVGAnimatedNewPropertyAnimator(); |
45 | 45 |
46 PassRefPtr<NewSVGPropertyBase> createPropertyForAnimation(const String&); | 46 PassRefPtr<NewSVGPropertyBase> createPropertyForAnimation(const String&); |
47 | 47 |
48 // SVGAnimatedTypeAnimator: | 48 // SVGAnimatedTypeAnimator: |
49 virtual PassOwnPtr<SVGAnimatedType> constructFromString(const String&); | 49 virtual PassOwnPtr<SVGAnimatedType> constructFromString(const String&); |
50 | 50 |
51 virtual PassOwnPtr<SVGAnimatedType> startAnimValAnimation(const SVGElementAn
imatedPropertyList&); | 51 virtual PassOwnPtr<SVGAnimatedType> startAnimValAnimation(const SVGElementAn
imatedPropertyList&); |
52 virtual void stopAnimValAnimation(const SVGElementAnimatedPropertyList&); | 52 virtual void stopAnimValAnimation(const SVGElementAnimatedPropertyList&); |
53 virtual void resetAnimValToBaseVal(const SVGElementAnimatedPropertyList&, SV
GAnimatedType*); | 53 virtual void resetAnimValToBaseVal(const SVGElementAnimatedPropertyList&, SV
GAnimatedType*); |
54 virtual void animValWillChange(const SVGElementAnimatedPropertyList&); | 54 virtual void animValWillChange(const SVGElementAnimatedPropertyList&); |
55 virtual void animValDidChange(const SVGElementAnimatedPropertyList&); | 55 virtual void animValDidChange(const SVGElementAnimatedPropertyList&); |
56 virtual void addAnimatedTypes(SVGAnimatedType*, SVGAnimatedType*); | 56 virtual void addAnimatedTypes(SVGAnimatedType*, SVGAnimatedType*); |
57 | 57 |
58 virtual void calculateAnimatedValue(float percentage, unsigned repeatCount,
SVGAnimatedType*, SVGAnimatedType*, SVGAnimatedType*, SVGAnimatedType*); | 58 virtual void calculateAnimatedValue(float percentage, unsigned repeatCount,
SVGAnimatedType*, SVGAnimatedType*, SVGAnimatedType*, SVGAnimatedType*); |
59 virtual float calculateDistance(const String& fromString, const String& toSt
ring); | 59 virtual float calculateDistance(const String& fromString, const String& toSt
ring); |
60 | 60 |
61 private: | 61 private: |
| 62 PassRefPtr<NewSVGPropertyBase> resetAnimation(const SVGElementAnimatedProper
tyList&); |
| 63 |
| 64 // If this is not null, |this| is animating a SVG DOM animVal. |
| 65 // If this is null, |this| is animating a CSS property. |
62 RefPtr<NewSVGAnimatedPropertyBase> m_animatedProperty; | 66 RefPtr<NewSVGAnimatedPropertyBase> m_animatedProperty; |
| 67 |
| 68 AnimatedPropertyType m_propertyType; |
63 }; | 69 }; |
64 | 70 |
65 } // namespace WebCore | 71 } // namespace WebCore |
66 | 72 |
67 #endif // SVGAnimatedNewPropertyAnimator_h | 73 #endif // SVGAnimatedNewPropertyAnimator_h |
OLD | NEW |