OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 { | 61 { |
62 visitor->trace(m_pathLength); | 62 visitor->trace(m_pathLength); |
63 visitor->trace(m_pathSegList); | 63 visitor->trace(m_pathSegList); |
64 SVGGeometryElement::trace(visitor); | 64 SVGGeometryElement::trace(visitor); |
65 } | 65 } |
66 | 66 |
67 DEFINE_NODE_FACTORY(SVGPathElement) | 67 DEFINE_NODE_FACTORY(SVGPathElement) |
68 | 68 |
69 float SVGPathElement::getTotalLength() | 69 float SVGPathElement::getTotalLength() |
70 { | 70 { |
71 float totalLength = 0; | 71 return getTotalLengthOfSVGPathByteStream(*pathByteStream()); |
72 getTotalLengthOfSVGPathByteStream(*pathByteStream(), totalLength); | |
73 return totalLength; | |
74 } | 72 } |
75 | 73 |
76 PassRefPtrWillBeRawPtr<SVGPointTearOff> SVGPathElement::getPointAtLength(float l
ength) | 74 PassRefPtrWillBeRawPtr<SVGPointTearOff> SVGPathElement::getPointAtLength(float l
ength) |
77 { | 75 { |
78 FloatPoint point; | 76 FloatPoint point = getPointAtLengthOfSVGPathByteStream(*pathByteStream(), le
ngth); |
79 getPointAtLengthOfSVGPathByteStream(*pathByteStream(), length, point); | |
80 return SVGPointTearOff::create(SVGPoint::create(point), 0, PropertyIsNotAnim
Val); | 77 return SVGPointTearOff::create(SVGPoint::create(point), 0, PropertyIsNotAnim
Val); |
81 } | 78 } |
82 | 79 |
83 unsigned SVGPathElement::getPathSegAtLength(float length) | 80 unsigned SVGPathElement::getPathSegAtLength(float length) |
84 { | 81 { |
85 unsigned pathSeg = 0; | 82 return getSVGPathSegAtLengthFromSVGPathByteStream(*pathByteStream(), length)
; |
86 getSVGPathSegAtLengthFromSVGPathByteStream(*pathByteStream(), length, pathSe
g); | |
87 return pathSeg; | |
88 } | 83 } |
89 | 84 |
90 PassRefPtrWillBeRawPtr<SVGPathSegClosePath> SVGPathElement::createSVGPathSegClos
ePath() | 85 PassRefPtrWillBeRawPtr<SVGPathSegClosePath> SVGPathElement::createSVGPathSegClos
ePath() |
91 { | 86 { |
92 return SVGPathSegClosePath::create(0); | 87 return SVGPathSegClosePath::create(0); |
93 } | 88 } |
94 | 89 |
95 PassRefPtrWillBeRawPtr<SVGPathSegMovetoAbs> SVGPathElement::createSVGPathSegMove
toAbs(float x, float y) | 90 PassRefPtrWillBeRawPtr<SVGPathSegMovetoAbs> SVGPathElement::createSVGPathSegMove
toAbs(float x, float y) |
96 { | 91 { |
97 return SVGPathSegMovetoAbs::create(0, x, y); | 92 return SVGPathSegMovetoAbs::create(0, x, y); |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 | 280 |
286 // FIXME: Eventually we should support getBBox for detached elements. | 281 // FIXME: Eventually we should support getBBox for detached elements. |
287 if (!renderer()) | 282 if (!renderer()) |
288 return FloatRect(); | 283 return FloatRect(); |
289 | 284 |
290 RenderSVGShape* renderer = toRenderSVGShape(this->renderer()); | 285 RenderSVGShape* renderer = toRenderSVGShape(this->renderer()); |
291 return renderer->path().boundingRect(); | 286 return renderer->path().boundingRect(); |
292 } | 287 } |
293 | 288 |
294 } // namespace blink | 289 } // namespace blink |
OLD | NEW |