| 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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 return; | 205 return; |
| 206 } | 206 } |
| 207 | 207 |
| 208 SVGParsingError parseError = NoError; | 208 SVGParsingError parseError = NoError; |
| 209 | 209 |
| 210 if (name == SVGNames::dAttr) { | 210 if (name == SVGNames::dAttr) { |
| 211 m_pathSegList->setBaseValueAsString(value, parseError); | 211 m_pathSegList->setBaseValueAsString(value, parseError); |
| 212 } else if (name == SVGNames::pathLengthAttr) { | 212 } else if (name == SVGNames::pathLengthAttr) { |
| 213 m_pathLength->setBaseValueAsString(value, parseError); | 213 m_pathLength->setBaseValueAsString(value, parseError); |
| 214 if (parseError == NoError && m_pathLength->baseValue()->value() < 0) | 214 if (parseError == NoError && m_pathLength->baseValue()->value() < 0) |
| 215 document().accessSVGExtensions()->reportError("A negative value for
path attribute <pathLength> is not allowed"); | 215 document().accessSVGExtensions().reportError("A negative value for p
ath attribute <pathLength> is not allowed"); |
| 216 } else { | 216 } else { |
| 217 ASSERT_NOT_REACHED(); | 217 ASSERT_NOT_REACHED(); |
| 218 } | 218 } |
| 219 | 219 |
| 220 reportAttributeParsingError(parseError, name, value); | 220 reportAttributeParsingError(parseError, name, value); |
| 221 } | 221 } |
| 222 | 222 |
| 223 void SVGPathElement::svgAttributeChanged(const QualifiedName& attrName) | 223 void SVGPathElement::svgAttributeChanged(const QualifiedName& attrName) |
| 224 { | 224 { |
| 225 if (!isSupportedAttribute(attrName)) { | 225 if (!isSupportedAttribute(attrName)) { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 239 } | 239 } |
| 240 | 240 |
| 241 if (renderer) | 241 if (renderer) |
| 242 RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer); | 242 RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer); |
| 243 } | 243 } |
| 244 | 244 |
| 245 void SVGPathElement::invalidateMPathDependencies() | 245 void SVGPathElement::invalidateMPathDependencies() |
| 246 { | 246 { |
| 247 // <mpath> can only reference <path> but this dependency is not handled in | 247 // <mpath> can only reference <path> but this dependency is not handled in |
| 248 // markForLayoutAndParentResourceInvalidation so we update any mpath depende
ncies manually. | 248 // markForLayoutAndParentResourceInvalidation so we update any mpath depende
ncies manually. |
| 249 if (HashSet<SVGElement*>* dependencies = document().accessSVGExtensions()->s
etOfElementsReferencingTarget(this)) { | 249 if (HashSet<SVGElement*>* dependencies = document().accessSVGExtensions().se
tOfElementsReferencingTarget(this)) { |
| 250 HashSet<SVGElement*>::iterator end = dependencies->end(); | 250 HashSet<SVGElement*>::iterator end = dependencies->end(); |
| 251 for (HashSet<SVGElement*>::iterator it = dependencies->begin(); it != en
d; ++it) { | 251 for (HashSet<SVGElement*>::iterator it = dependencies->begin(); it != en
d; ++it) { |
| 252 if ((*it)->hasTagName(SVGNames::mpathTag)) | 252 if ((*it)->hasTagName(SVGNames::mpathTag)) |
| 253 toSVGMPathElement(*it)->targetPathChanged(); | 253 toSVGMPathElement(*it)->targetPathChanged(); |
| 254 } | 254 } |
| 255 } | 255 } |
| 256 } | 256 } |
| 257 | 257 |
| 258 Node::InsertionNotificationRequest SVGPathElement::insertedInto(ContainerNode* r
ootParent) | 258 Node::InsertionNotificationRequest SVGPathElement::insertedInto(ContainerNode* r
ootParent) |
| 259 { | 259 { |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 | 291 |
| 292 // FIXME: Eventually we should support getBBox for detached elements. | 292 // FIXME: Eventually we should support getBBox for detached elements. |
| 293 if (!renderer()) | 293 if (!renderer()) |
| 294 return FloatRect(); | 294 return FloatRect(); |
| 295 | 295 |
| 296 RenderSVGPath* renderer = toRenderSVGPath(this->renderer()); | 296 RenderSVGPath* renderer = toRenderSVGPath(this->renderer()); |
| 297 return renderer->path().boundingRect(); | 297 return renderer->path().boundingRect(); |
| 298 } | 298 } |
| 299 | 299 |
| 300 } | 300 } |
| OLD | NEW |