22 #ifndef SVGTextPathElement_h
23 #define SVGTextPathElement_h
32 enum SVGTextPathMethodType {
33 SVG_TEXTPATH_METHODTYPE_UNKNOWN = 0,
34 SVG_TEXTPATH_METHODTYPE_ALIGN = 1,
35 SVG_TEXTPATH_METHODTYPE_STRETCH = 2
38 enum SVGTextPathSpacingType {
39 SVG_TEXTPATH_SPACINGTYPE_UNKNOWN = 0,
40 SVG_TEXTPATH_SPACINGTYPE_AUTO = 1,
41 SVG_TEXTPATH_SPACINGTYPE_EXACT = 2
44 class SVGTextPathElement :
public SVGTextContentElement,
45 public SVGURIReference
50 TEXTPATH_METHODTYPE_UNKNOWN = SVG_TEXTPATH_METHODTYPE_UNKNOWN,
51 TEXTPATH_METHODTYPE_ALIGN = SVG_TEXTPATH_METHODTYPE_ALIGN,
52 TEXTPATH_METHODTYPE_STRETCH = SVG_TEXTPATH_METHODTYPE_STRETCH,
53 TEXTPATH_SPACINGTYPE_UNKNOWN = SVG_TEXTPATH_SPACINGTYPE_UNKNOWN,
54 TEXTPATH_SPACINGTYPE_AUTO = SVG_TEXTPATH_SPACINGTYPE_AUTO,
55 TEXTPATH_SPACINGTYPE_EXACT = SVG_TEXTPATH_SPACINGTYPE_EXACT
58 SVGTextPathElement(
const QualifiedName&, Document*);
59 virtual ~SVGTextPathElement();
61 virtual void insertedIntoDocument();
63 virtual void parseMappedAttribute(MappedAttribute*);
64 virtual bool rendererIsNeeded(RenderStyle* style) {
return StyledElement::rendererIsNeeded(style); }
65 virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
67 bool childShouldCreateRenderer(Node*)
const;
72 virtual const SVGElement* contextElement()
const {
return this; }
75 ANIMATED_PROPERTY_FORWARD_DECLARATIONS(SVGURIReference,
String, Href, href)
77 ANIMATED_PROPERTY_DECLARATIONS(SVGTextPathElement, SVGLength, SVGLength, StartOffset, startOffset)
78 ANIMATED_PROPERTY_DECLARATIONS(SVGTextPathElement,
int,
int, Method, method)
79 ANIMATED_PROPERTY_DECLARATIONS(SVGTextPathElement,
int,
int, Spacing, spacing)
DOM::QualifiedName textPathTag