OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef StringKeyframe_h | 5 #ifndef StringKeyframe_h |
6 #define StringKeyframe_h | 6 #define StringKeyframe_h |
7 | 7 |
8 #include "core/animation/Keyframe.h" | 8 #include "core/animation/Keyframe.h" |
9 #include "core/css/StylePropertySet.h" | 9 #include "core/css/StylePropertySet.h" |
10 | 10 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 class SVGPropertySpecificKeyframe : public Keyframe::PropertySpecificKeyfram
e { | 69 class SVGPropertySpecificKeyframe : public Keyframe::PropertySpecificKeyfram
e { |
70 public: | 70 public: |
71 SVGPropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> ea
sing, const String&, EffectModel::CompositeOperation); | 71 SVGPropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> ea
sing, const String&, EffectModel::CompositeOperation); |
72 | 72 |
73 const String& value() const { return m_value; } | 73 const String& value() const { return m_value; } |
74 | 74 |
75 PassOwnPtr<PropertySpecificKeyframe> cloneWithOffset(double offset) cons
t final; | 75 PassOwnPtr<PropertySpecificKeyframe> cloneWithOffset(double offset) cons
t final; |
76 | 76 |
77 const PassRefPtr<AnimatableValue> getAnimatableValue() const final { ret
urn nullptr; } | 77 const PassRefPtr<AnimatableValue> getAnimatableValue() const final { ret
urn nullptr; } |
78 | 78 |
| 79 bool isNeutral() const final { return m_value.isNull(); } |
79 PassOwnPtr<PropertySpecificKeyframe> neutralKeyframe(double offset, Pass
RefPtr<TimingFunction> easing) const final; | 80 PassOwnPtr<PropertySpecificKeyframe> neutralKeyframe(double offset, Pass
RefPtr<TimingFunction> easing) const final; |
80 PassRefPtr<Interpolation> maybeCreateInterpolation(PropertyHandle, Keyfr
ame::PropertySpecificKeyframe& end, Element*, const ComputedStyle* baseStyle) co
nst final; | 81 PassRefPtr<Interpolation> maybeCreateInterpolation(PropertyHandle, Keyfr
ame::PropertySpecificKeyframe& end, Element*, const ComputedStyle* baseStyle) co
nst final; |
81 | 82 |
82 private: | 83 private: |
83 SVGPropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> ea
sing, const String&); | 84 SVGPropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> ea
sing, const String&); |
84 | 85 |
85 bool isSVGPropertySpecificKeyframe() const override { return true; } | 86 bool isSVGPropertySpecificKeyframe() const override { return true; } |
86 | 87 |
87 String m_value; | 88 String m_value; |
88 }; | 89 }; |
(...skipping 17 matching lines...) Expand all Loading... |
106 using CSSPropertySpecificKeyframe = StringKeyframe::CSSPropertySpecificKeyframe; | 107 using CSSPropertySpecificKeyframe = StringKeyframe::CSSPropertySpecificKeyframe; |
107 using SVGPropertySpecificKeyframe = StringKeyframe::SVGPropertySpecificKeyframe; | 108 using SVGPropertySpecificKeyframe = StringKeyframe::SVGPropertySpecificKeyframe; |
108 | 109 |
109 DEFINE_TYPE_CASTS(StringKeyframe, Keyframe, value, value->isStringKeyframe(), va
lue.isStringKeyframe()); | 110 DEFINE_TYPE_CASTS(StringKeyframe, Keyframe, value, value->isStringKeyframe(), va
lue.isStringKeyframe()); |
110 DEFINE_TYPE_CASTS(CSSPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram
e, value, value->isCSSPropertySpecificKeyframe(), value.isCSSPropertySpecificKey
frame()); | 111 DEFINE_TYPE_CASTS(CSSPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram
e, value, value->isCSSPropertySpecificKeyframe(), value.isCSSPropertySpecificKey
frame()); |
111 DEFINE_TYPE_CASTS(SVGPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram
e, value, value->isSVGPropertySpecificKeyframe(), value.isSVGPropertySpecificKey
frame()); | 112 DEFINE_TYPE_CASTS(SVGPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram
e, value, value->isSVGPropertySpecificKeyframe(), value.isSVGPropertySpecificKey
frame()); |
112 | 113 |
113 } | 114 } |
114 | 115 |
115 #endif | 116 #endif |
OLD | NEW |