| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> |
| 3 * | 3 * |
| 4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
| 5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
| 6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
| 7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
| 8 * | 8 * |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 RenderSVGTextPath::RenderSVGTextPath(Element* element) | 31 RenderSVGTextPath::RenderSVGTextPath(Element* element) |
| 32 : RenderSVGInline(element) | 32 : RenderSVGInline(element) |
| 33 { | 33 { |
| 34 } | 34 } |
| 35 | 35 |
| 36 bool RenderSVGTextPath::isChildAllowed(RenderObject* child, RenderStyle*) const | 36 bool RenderSVGTextPath::isChildAllowed(RenderObject* child, RenderStyle*) const |
| 37 { | 37 { |
| 38 if (child->isText()) | 38 if (child->isText()) |
| 39 return SVGRenderSupport::isRenderableTextNode(child); | 39 return SVGRenderSupport::isRenderableTextNode(child); |
| 40 | 40 |
| 41 #if ENABLE(SVG_FONTS) | |
| 42 // 'altGlyph' is supported by the content model for 'textPath', but... | |
| 43 ASSERT(child->node()); | |
| 44 if (isSVGAltGlyphElement(*child->node())) | |
| 45 return false; | |
| 46 #endif | |
| 47 | |
| 48 return child->isSVGInline() && !child->isSVGTextPath(); | 41 return child->isSVGInline() && !child->isSVGTextPath(); |
| 49 } | 42 } |
| 50 | 43 |
| 51 Path RenderSVGTextPath::layoutPath() const | 44 Path RenderSVGTextPath::layoutPath() const |
| 52 { | 45 { |
| 53 SVGTextPathElement* textPathElement = toSVGTextPathElement(node()); | 46 SVGTextPathElement* textPathElement = toSVGTextPathElement(node()); |
| 54 Element* targetElement = SVGURIReference::targetElementFromIRIString(textPat
hElement->href()->currentValue()->value(), textPathElement->treeScope()); | 47 Element* targetElement = SVGURIReference::targetElementFromIRIString(textPat
hElement->href()->currentValue()->value(), textPathElement->treeScope()); |
| 55 if (!isSVGPathElement(targetElement)) | 48 if (!isSVGPathElement(targetElement)) |
| 56 return Path(); | 49 return Path(); |
| 57 | 50 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 68 pathData.transform(pathElement.animatedLocalTransform()); | 61 pathData.transform(pathElement.animatedLocalTransform()); |
| 69 return pathData; | 62 return pathData; |
| 70 } | 63 } |
| 71 | 64 |
| 72 float RenderSVGTextPath::startOffset() const | 65 float RenderSVGTextPath::startOffset() const |
| 73 { | 66 { |
| 74 return toSVGTextPathElement(node())->startOffset()->currentValue()->valueAsP
ercentage(); | 67 return toSVGTextPathElement(node())->startOffset()->currentValue()->valueAsP
ercentage(); |
| 75 } | 68 } |
| 76 | 69 |
| 77 } | 70 } |
| OLD | NEW |