OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 TypedInterpolationValue_h | 5 #ifndef TypedInterpolationValue_h |
6 #define TypedInterpolationValue_h | 6 #define TypedInterpolationValue_h |
7 | 7 |
8 #include "core/animation/InterpolationValue.h" | 8 #include "core/animation/InterpolationValue.h" |
9 #include "wtf/PtrUtil.h" | 9 #include "wtf/PtrUtil.h" |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 namespace blink { | 12 namespace blink { |
13 | 13 |
14 class InterpolationType; | 14 class InterpolationType; |
15 | 15 |
16 // Represents an interpolated value between an adjacent pair of PropertySpecific
Keyframes. | 16 // Represents an interpolated value between an adjacent pair of |
| 17 // PropertySpecificKeyframes. |
17 class TypedInterpolationValue { | 18 class TypedInterpolationValue { |
18 public: | 19 public: |
19 static std::unique_ptr<TypedInterpolationValue> create( | 20 static std::unique_ptr<TypedInterpolationValue> create( |
20 const InterpolationType& type, | 21 const InterpolationType& type, |
21 std::unique_ptr<InterpolableValue> interpolableValue, | 22 std::unique_ptr<InterpolableValue> interpolableValue, |
22 PassRefPtr<NonInterpolableValue> nonInterpolableValue = nullptr) { | 23 PassRefPtr<NonInterpolableValue> nonInterpolableValue = nullptr) { |
23 return wrapUnique(new TypedInterpolationValue( | 24 return wrapUnique(new TypedInterpolationValue( |
24 type, std::move(interpolableValue), std::move(nonInterpolableValue))); | 25 type, std::move(interpolableValue), std::move(nonInterpolableValue))); |
25 } | 26 } |
26 | 27 |
(...skipping 23 matching lines...) Expand all Loading... |
50 DCHECK(m_value.interpolableValue); | 51 DCHECK(m_value.interpolableValue); |
51 } | 52 } |
52 | 53 |
53 const InterpolationType& m_type; | 54 const InterpolationType& m_type; |
54 InterpolationValue m_value; | 55 InterpolationValue m_value; |
55 }; | 56 }; |
56 | 57 |
57 } // namespace blink | 58 } // namespace blink |
58 | 59 |
59 #endif // TypedInterpolationValue_h | 60 #endif // TypedInterpolationValue_h |
OLD | NEW |