| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/SVGIntegerOptionalIntegerInterpolationType.h" | 5 #include "core/animation/SVGIntegerOptionalIntegerInterpolationType.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include "core/animation/InterpolationEnvironment.h" | 8 #include "core/animation/InterpolationEnvironment.h" |
| 9 #include "core/svg/SVGIntegerOptionalInteger.h" | 9 #include "core/svg/SVGIntegerOptionalInteger.h" |
| 10 | 10 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 | 22 |
| 23 InterpolationValue | 23 InterpolationValue |
| 24 SVGIntegerOptionalIntegerInterpolationType::maybeConvertSVGValue( | 24 SVGIntegerOptionalIntegerInterpolationType::maybeConvertSVGValue( |
| 25 const SVGPropertyBase& svgValue) const { | 25 const SVGPropertyBase& svgValue) const { |
| 26 if (svgValue.type() != AnimatedIntegerOptionalInteger) | 26 if (svgValue.type() != AnimatedIntegerOptionalInteger) |
| 27 return nullptr; | 27 return nullptr; |
| 28 | 28 |
| 29 const SVGIntegerOptionalInteger& integerOptionalInteger = | 29 const SVGIntegerOptionalInteger& integerOptionalInteger = |
| 30 toSVGIntegerOptionalInteger(svgValue); | 30 toSVGIntegerOptionalInteger(svgValue); |
| 31 std::unique_ptr<InterpolableList> result = InterpolableList::create(2); | 31 std::unique_ptr<InterpolableList> result = InterpolableList::create(2); |
| 32 result->set(0, InterpolableNumber::create( | 32 result->set(0, |
| 33 integerOptionalInteger.firstInteger()->value())); | 33 InterpolableNumber::create( |
| 34 result->set(1, InterpolableNumber::create( | 34 integerOptionalInteger.firstInteger()->value())); |
| 35 integerOptionalInteger.secondInteger()->value())); | 35 result->set(1, |
| 36 InterpolableNumber::create( |
| 37 integerOptionalInteger.secondInteger()->value())); |
| 36 return InterpolationValue(std::move(result)); | 38 return InterpolationValue(std::move(result)); |
| 37 } | 39 } |
| 38 | 40 |
| 39 static SVGInteger* toPositiveInteger(const InterpolableValue* number) { | 41 static SVGInteger* toPositiveInteger(const InterpolableValue* number) { |
| 40 return SVGInteger::create( | 42 return SVGInteger::create( |
| 41 clampTo<int>(roundf(toInterpolableNumber(number)->value()), 1)); | 43 clampTo<int>(roundf(toInterpolableNumber(number)->value()), 1)); |
| 42 } | 44 } |
| 43 | 45 |
| 44 SVGPropertyBase* SVGIntegerOptionalIntegerInterpolationType::appliedSVGValue( | 46 SVGPropertyBase* SVGIntegerOptionalIntegerInterpolationType::appliedSVGValue( |
| 45 const InterpolableValue& interpolableValue, | 47 const InterpolableValue& interpolableValue, |
| 46 const NonInterpolableValue*) const { | 48 const NonInterpolableValue*) const { |
| 47 const InterpolableList& list = toInterpolableList(interpolableValue); | 49 const InterpolableList& list = toInterpolableList(interpolableValue); |
| 48 return SVGIntegerOptionalInteger::create(toPositiveInteger(list.get(0)), | 50 return SVGIntegerOptionalInteger::create(toPositiveInteger(list.get(0)), |
| 49 toPositiveInteger(list.get(1))); | 51 toPositiveInteger(list.get(1))); |
| 50 } | 52 } |
| 51 | 53 |
| 52 } // namespace blink | 54 } // namespace blink |
| OLD | NEW |