| 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 #include "core/animation/InterpolableValue.h" | 5 #include "core/animation/InterpolableValue.h" |
| 6 | 6 |
| 7 #include <memory> | |
| 8 | |
| 9 namespace blink { | 7 namespace blink { |
| 10 | 8 |
| 11 bool InterpolableNumber::equals(const InterpolableValue& other) const | 9 bool InterpolableNumber::equals(const InterpolableValue& other) const |
| 12 { | 10 { |
| 13 return m_value == toInterpolableNumber(other).m_value; | 11 return m_value == toInterpolableNumber(other).m_value; |
| 14 } | 12 } |
| 15 | 13 |
| 16 bool InterpolableList::equals(const InterpolableValue& other) const | 14 bool InterpolableList::equals(const InterpolableValue& other) const |
| 17 { | 15 { |
| 18 const InterpolableList& otherList = toInterpolableList(other); | 16 const InterpolableList& otherList = toInterpolableList(other); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 ASSERT(toList.m_size == m_size); | 55 ASSERT(toList.m_size == m_size); |
| 58 ASSERT(resultList.m_size == m_size); | 56 ASSERT(resultList.m_size == m_size); |
| 59 | 57 |
| 60 for (size_t i = 0; i < m_size; i++) { | 58 for (size_t i = 0; i < m_size; i++) { |
| 61 ASSERT(m_values[i]); | 59 ASSERT(m_values[i]); |
| 62 ASSERT(toList.m_values[i]); | 60 ASSERT(toList.m_values[i]); |
| 63 m_values[i]->interpolate(*(toList.m_values[i]), progress, *(resultList.m
_values[i])); | 61 m_values[i]->interpolate(*(toList.m_values[i]), progress, *(resultList.m
_values[i])); |
| 64 } | 62 } |
| 65 } | 63 } |
| 66 | 64 |
| 67 std::unique_ptr<InterpolableValue> InterpolableList::cloneAndZero() const | 65 PassOwnPtr<InterpolableValue> InterpolableList::cloneAndZero() const |
| 68 { | 66 { |
| 69 std::unique_ptr<InterpolableList> result = InterpolableList::create(m_size); | 67 OwnPtr<InterpolableList> result = InterpolableList::create(m_size); |
| 70 for (size_t i = 0; i < m_size; i++) | 68 for (size_t i = 0; i < m_size; i++) |
| 71 result->set(i, m_values[i]->cloneAndZero()); | 69 result->set(i, m_values[i]->cloneAndZero()); |
| 72 return std::move(result); | 70 return std::move(result); |
| 73 } | 71 } |
| 74 | 72 |
| 75 void InterpolableNumber::scale(double scale) | 73 void InterpolableNumber::scale(double scale) |
| 76 { | 74 { |
| 77 m_value = m_value * scale; | 75 m_value = m_value * scale; |
| 78 } | 76 } |
| 79 | 77 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 101 const InterpolableAnimatableValue& toValue = toInterpolableAnimatableValue(t
o); | 99 const InterpolableAnimatableValue& toValue = toInterpolableAnimatableValue(t
o); |
| 102 InterpolableAnimatableValue& resultValue = toInterpolableAnimatableValue(res
ult); | 100 InterpolableAnimatableValue& resultValue = toInterpolableAnimatableValue(res
ult); |
| 103 if (progress == 0) | 101 if (progress == 0) |
| 104 resultValue.m_value = m_value; | 102 resultValue.m_value = m_value; |
| 105 if (progress == 1) | 103 if (progress == 1) |
| 106 resultValue.m_value = toValue.m_value; | 104 resultValue.m_value = toValue.m_value; |
| 107 resultValue.m_value = AnimatableValue::interpolate(m_value.get(), toValue.m_
value.get(), progress); | 105 resultValue.m_value = AnimatableValue::interpolate(m_value.get(), toValue.m_
value.get(), progress); |
| 108 } | 106 } |
| 109 | 107 |
| 110 } // namespace blink | 108 } // namespace blink |
| OLD | NEW |