| 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 Keyframe_h | 5 #ifndef Keyframe_h |
| 6 #define Keyframe_h | 6 #define Keyframe_h |
| 7 | 7 |
| 8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
| 9 #include "core/animation/AnimationEffectReadOnly.h" | 9 #include "core/animation/AnimationEffectReadOnly.h" |
| 10 #include "core/animation/EffectModel.h" | 10 #include "core/animation/EffectModel.h" |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 | 52 |
| 53 virtual PassRefPtr<Keyframe> clone() const = 0; | 53 virtual PassRefPtr<Keyframe> clone() const = 0; |
| 54 PassRefPtr<Keyframe> cloneWithOffset(double offset) const { | 54 PassRefPtr<Keyframe> cloneWithOffset(double offset) const { |
| 55 RefPtr<Keyframe> theClone = clone(); | 55 RefPtr<Keyframe> theClone = clone(); |
| 56 theClone->setOffset(offset); | 56 theClone->setOffset(offset); |
| 57 return theClone.release(); | 57 return theClone.release(); |
| 58 } | 58 } |
| 59 | 59 |
| 60 virtual bool isAnimatableValueKeyframe() const { return false; } | 60 virtual bool isAnimatableValueKeyframe() const { return false; } |
| 61 virtual bool isStringKeyframe() const { return false; } | 61 virtual bool isStringKeyframe() const { return false; } |
| 62 virtual bool isTransitionKeyframe() const { return false; } |
| 62 | 63 |
| 63 // Represents a property-value pair in a keyframe. | 64 // Represents a property-value pair in a keyframe. |
| 64 class PropertySpecificKeyframe : public RefCounted<PropertySpecificKeyframe> { | 65 class PropertySpecificKeyframe : public RefCounted<PropertySpecificKeyframe> { |
| 65 USING_FAST_MALLOC(PropertySpecificKeyframe); | 66 USING_FAST_MALLOC(PropertySpecificKeyframe); |
| 66 WTF_MAKE_NONCOPYABLE(PropertySpecificKeyframe); | 67 WTF_MAKE_NONCOPYABLE(PropertySpecificKeyframe); |
| 67 | 68 |
| 68 public: | 69 public: |
| 69 virtual ~PropertySpecificKeyframe() {} | 70 virtual ~PropertySpecificKeyframe() {} |
| 70 double offset() const { return m_offset; } | 71 double offset() const { return m_offset; } |
| 71 TimingFunction& easing() const { return *m_easing; } | 72 TimingFunction& easing() const { return *m_easing; } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 86 const ComputedStyle* parentStyle) const { | 87 const ComputedStyle* parentStyle) const { |
| 87 return false; | 88 return false; |
| 88 } | 89 } |
| 89 virtual PassRefPtr<AnimatableValue> getAnimatableValue() const = 0; | 90 virtual PassRefPtr<AnimatableValue> getAnimatableValue() const = 0; |
| 90 | 91 |
| 91 virtual bool isAnimatableValuePropertySpecificKeyframe() const { | 92 virtual bool isAnimatableValuePropertySpecificKeyframe() const { |
| 92 return false; | 93 return false; |
| 93 } | 94 } |
| 94 virtual bool isCSSPropertySpecificKeyframe() const { return false; } | 95 virtual bool isCSSPropertySpecificKeyframe() const { return false; } |
| 95 virtual bool isSVGPropertySpecificKeyframe() const { return false; } | 96 virtual bool isSVGPropertySpecificKeyframe() const { return false; } |
| 97 virtual bool isTransitionPropertySpecificKeyframe() const { return false; } |
| 96 | 98 |
| 97 virtual PassRefPtr<PropertySpecificKeyframe> neutralKeyframe( | 99 virtual PassRefPtr<PropertySpecificKeyframe> neutralKeyframe( |
| 98 double offset, | 100 double offset, |
| 99 PassRefPtr<TimingFunction> easing) const = 0; | 101 PassRefPtr<TimingFunction> easing) const = 0; |
| 100 virtual PassRefPtr<Interpolation> createInterpolation( | 102 virtual PassRefPtr<Interpolation> createInterpolation( |
| 101 PropertyHandle, | 103 PropertyHandle, |
| 102 const Keyframe::PropertySpecificKeyframe& end) const; | 104 const Keyframe::PropertySpecificKeyframe& end) const; |
| 103 | 105 |
| 104 protected: | 106 protected: |
| 105 PropertySpecificKeyframe(double offset, | 107 PropertySpecificKeyframe(double offset, |
| (...skipping 21 matching lines...) Expand all Loading... |
| 127 double m_offset; | 129 double m_offset; |
| 128 EffectModel::CompositeOperation m_composite; | 130 EffectModel::CompositeOperation m_composite; |
| 129 RefPtr<TimingFunction> m_easing; | 131 RefPtr<TimingFunction> m_easing; |
| 130 }; | 132 }; |
| 131 | 133 |
| 132 using PropertySpecificKeyframe = Keyframe::PropertySpecificKeyframe; | 134 using PropertySpecificKeyframe = Keyframe::PropertySpecificKeyframe; |
| 133 | 135 |
| 134 } // namespace blink | 136 } // namespace blink |
| 135 | 137 |
| 136 #endif // Keyframe_h | 138 #endif // Keyframe_h |
| OLD | NEW |