Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: third_party/WebKit/Source/core/animation/RectSVGInterpolation.cpp

Issue 1431593004: Web Animations: Migrate SVG Rect interpolation to interpolation types (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698