OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "config.h" | |
6 #include "core/animation/RectSVGInterpolation.h" | |
7 | |
8 #include "wtf/StdLibExtras.h" | |
9 | |
10 namespace blink { | |
11 | |
12 PassOwnPtr<InterpolableValue> RectSVGInterpolation::toInterpolableValue(SVGPrope
rtyBase* value) | |
13 { | |
14 RefPtrWillBeRawPtr<SVGRect> rect = toSVGRect(value); | |
15 float element[] = { rect->x(), rect->y(), rect->width(), rect->height() }; | |
16 OwnPtr<InterpolableList> result = InterpolableList::create(WTF_ARRAY_LENGTH(
element)); | |
17 for (size_t i = 0; i < WTF_ARRAY_LENGTH(element); i++) { | |
18 result->set(i, InterpolableNumber::create(element[i])); | |
19 } | |
20 return result.release(); | |
21 } | |
22 | |
23 PassRefPtrWillBeRawPtr<SVGRect> RectSVGInterpolation::fromInterpolableValue(cons
t InterpolableValue& value) | |
24 { | |
25 const InterpolableList& list = toInterpolableList(value); | |
26 RefPtrWillBeRawPtr<SVGRect> result = SVGRect::create(); | |
27 result->setX(toInterpolableNumber(list.get(0))->value()); | |
28 result->setY(toInterpolableNumber(list.get(1))->value()); | |
29 result->setWidth(toInterpolableNumber(list.get(2))->value()); | |
30 result->setHeight(toInterpolableNumber(list.get(3))->value()); | |
31 return result; | |
32 } | |
33 | |
34 } | |
OLD | NEW |