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 |