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

Side by Side Diff: third_party/WebKit/WebCore/svg/SVGAnimateMotionElement.cpp

Issue 21184: WebKit merge 40722:40785 (part 1) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 11 years, 10 months 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org>
3 (C) 2007 Rob Buis <buis@kde.org> 3 (C) 2007 Rob Buis <buis@kde.org>
4 Copyright (C) 2008 Apple Inc. All Rights Reserved. 4 Copyright (C) 2008 Apple Inc. All Rights Reserved.
5 5
6 This file is part of the WebKit project 6 This file is part of the WebKit project
7 7
8 This library is free software; you can redistribute it and/or 8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public 9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either 10 License as published by the Free Software Foundation; either
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 } 143 }
144 144
145 void SVGAnimateMotionElement::resetToBaseValue(const String&) 145 void SVGAnimateMotionElement::resetToBaseValue(const String&)
146 { 146 {
147 if (!hasValidTarget()) 147 if (!hasValidTarget())
148 return; 148 return;
149 SVGElement* target = targetElement(); 149 SVGElement* target = targetElement();
150 TransformationMatrix* transform = target->supplementalTransform(); 150 TransformationMatrix* transform = target->supplementalTransform();
151 if (!transform) 151 if (!transform)
152 return; 152 return;
153 transform->reset(); 153 transform->makeIdentity();
154 } 154 }
155 155
156 bool SVGAnimateMotionElement::calculateFromAndToValues(const String& fromString, const String& toString) 156 bool SVGAnimateMotionElement::calculateFromAndToValues(const String& fromString, const String& toString)
157 { 157 {
158 parsePoint(fromString, m_fromPoint); 158 parsePoint(fromString, m_fromPoint);
159 parsePoint(toString, m_toPoint); 159 parsePoint(toString, m_toPoint);
160 return true; 160 return true;
161 } 161 }
162 162
163 bool SVGAnimateMotionElement::calculateFromAndByValues(const String& fromString, const String& byString) 163 bool SVGAnimateMotionElement::calculateFromAndByValues(const String& fromString, const String& byString)
164 { 164 {
165 parsePoint(fromString, m_fromPoint); 165 parsePoint(fromString, m_fromPoint);
166 FloatPoint byPoint; 166 FloatPoint byPoint;
167 parsePoint(byString, byPoint); 167 parsePoint(byString, byPoint);
168 m_toPoint = FloatPoint(m_fromPoint.x() + byPoint.x(), m_fromPoint.y() + byPo int.y()); 168 m_toPoint = FloatPoint(m_fromPoint.x() + byPoint.x(), m_fromPoint.y() + byPo int.y());
169 return true; 169 return true;
170 } 170 }
171 171
172 void SVGAnimateMotionElement::calculateAnimatedValue(float percentage, unsigned, SVGSMILElement*) 172 void SVGAnimateMotionElement::calculateAnimatedValue(float percentage, unsigned, SVGSMILElement*)
173 { 173 {
174 SVGElement* target = targetElement(); 174 SVGElement* target = targetElement();
175 if (!target) 175 if (!target)
176 return; 176 return;
177 TransformationMatrix* transform = target->supplementalTransform(); 177 TransformationMatrix* transform = target->supplementalTransform();
178 if (!transform) 178 if (!transform)
179 return; 179 return;
180 180
181 if (!isAdditive()) 181 if (!isAdditive())
182 transform->reset(); 182 transform->makeIdentity();
183 183
184 // FIXME: Implement accumulate. 184 // FIXME: Implement accumulate.
185 185
186 if (animationMode() == PathAnimation) { 186 if (animationMode() == PathAnimation) {
187 ASSERT(!animationPath().isEmpty()); 187 ASSERT(!animationPath().isEmpty());
188 Path path = animationPath(); 188 Path path = animationPath();
189 float positionOnPath = path.length() * percentage; 189 float positionOnPath = path.length() * percentage;
190 bool ok; 190 bool ok;
191 FloatPoint position = path.pointAtLength(positionOnPath, ok); 191 FloatPoint position = path.pointAtLength(positionOnPath, ok);
192 if (ok) { 192 if (ok) {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 FloatSize diff = to - from; 237 FloatSize diff = to - from;
238 return sqrtf(diff.width() * diff.width() + diff.height() * diff.height()); 238 return sqrtf(diff.width() * diff.width() + diff.height() * diff.height());
239 } 239 }
240 240
241 } 241 }
242 242
243 #endif // ENABLE(SVG) 243 #endif // ENABLE(SVG)
244 244
245 // vim:ts=4:noet 245 // vim:ts=4:noet
246 246
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698