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 #include "core/animation/CSSFilterListInterpolationType.h" | 5 #include "core/animation/CSSFilterListInterpolationType.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include "core/animation/FilterInterpolationFunctions.h" | 8 #include "core/animation/FilterInterpolationFunctions.h" |
9 #include "core/animation/FilterListPropertyFunctions.h" | 9 #include "core/animation/FilterListPropertyFunctions.h" |
10 #include "core/animation/ListInterpolationFunctions.h" | 10 #include "core/animation/ListInterpolationFunctions.h" |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 const NonInterpolableList& longerNonInterpolableList = | 205 const NonInterpolableList& longerNonInterpolableList = |
206 toNonInterpolableList(*longer.nonInterpolableValue); | 206 toNonInterpolableList(*longer.nonInterpolableValue); |
207 std::unique_ptr<InterpolableList> extendedInterpolableList = | 207 std::unique_ptr<InterpolableList> extendedInterpolableList = |
208 InterpolableList::create(longerLength); | 208 InterpolableList::create(longerLength); |
209 for (size_t i = 0; i < longerLength; i++) { | 209 for (size_t i = 0; i < longerLength; i++) { |
210 if (i < shorterLength) | 210 if (i < shorterLength) |
211 extendedInterpolableList->set( | 211 extendedInterpolableList->set( |
212 i, std::move(shorterInterpolableList.getMutable(i))); | 212 i, std::move(shorterInterpolableList.getMutable(i))); |
213 else | 213 else |
214 extendedInterpolableList->set( | 214 extendedInterpolableList->set( |
215 i, FilterInterpolationFunctions::createNoneValue( | 215 i, |
216 *longerNonInterpolableList.get(i))); | 216 FilterInterpolationFunctions::createNoneValue( |
| 217 *longerNonInterpolableList.get(i))); |
217 } | 218 } |
218 shorter.interpolableValue = std::move(extendedInterpolableList); | 219 shorter.interpolableValue = std::move(extendedInterpolableList); |
219 | 220 |
220 return PairwiseInterpolationValue(std::move(start.interpolableValue), | 221 return PairwiseInterpolationValue(std::move(start.interpolableValue), |
221 std::move(end.interpolableValue), | 222 std::move(end.interpolableValue), |
222 std::move(longer.nonInterpolableValue)); | 223 std::move(longer.nonInterpolableValue)); |
223 } | 224 } |
224 | 225 |
225 void CSSFilterListInterpolationType::composite( | 226 void CSSFilterListInterpolationType::composite( |
226 UnderlyingValueOwner& underlyingValueOwner, | 227 UnderlyingValueOwner& underlyingValueOwner, |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 for (size_t i = 0; i < length; i++) { | 290 for (size_t i = 0; i < length; i++) { |
290 filterOperations.operations().push_back( | 291 filterOperations.operations().push_back( |
291 FilterInterpolationFunctions::createFilter( | 292 FilterInterpolationFunctions::createFilter( |
292 *interpolableList.get(i), *nonInterpolableList.get(i), state)); | 293 *interpolableList.get(i), *nonInterpolableList.get(i), state)); |
293 } | 294 } |
294 FilterListPropertyFunctions::setFilterList(cssProperty(), *state.style(), | 295 FilterListPropertyFunctions::setFilterList(cssProperty(), *state.style(), |
295 std::move(filterOperations)); | 296 std::move(filterOperations)); |
296 } | 297 } |
297 | 298 |
298 } // namespace blink | 299 } // namespace blink |
OLD | NEW |