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 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 TEXTPATH_METHODTYPE_ALIGN = SVGTextPathMethodAlign, | 105 TEXTPATH_METHODTYPE_ALIGN = SVGTextPathMethodAlign, |
106 TEXTPATH_METHODTYPE_STRETCH = SVGTextPathMethodStretch, | 106 TEXTPATH_METHODTYPE_STRETCH = SVGTextPathMethodStretch, |
107 TEXTPATH_SPACINGTYPE_UNKNOWN = SVGTextPathSpacingUnknown, | 107 TEXTPATH_SPACINGTYPE_UNKNOWN = SVGTextPathSpacingUnknown, |
108 TEXTPATH_SPACINGTYPE_AUTO = SVGTextPathSpacingAuto, | 108 TEXTPATH_SPACINGTYPE_AUTO = SVGTextPathSpacingAuto, |
109 TEXTPATH_SPACINGTYPE_EXACT = SVGTextPathSpacingExact | 109 TEXTPATH_SPACINGTYPE_EXACT = SVGTextPathSpacingExact |
110 }; | 110 }; |
111 | 111 |
112 static PassRefPtr<SVGTextPathElement> create(Document&); | 112 static PassRefPtr<SVGTextPathElement> create(Document&); |
113 | 113 |
114 SVGAnimatedLength* startOffset() const { return m_startOffset.get(); } | 114 SVGAnimatedLength* startOffset() const { return m_startOffset.get(); } |
| 115 SVGAnimatedString* href() { return m_href.get(); } |
115 | 116 |
116 private: | 117 private: |
117 explicit SVGTextPathElement(Document&); | 118 explicit SVGTextPathElement(Document&); |
118 | 119 |
119 virtual ~SVGTextPathElement(); | 120 virtual ~SVGTextPathElement(); |
120 | 121 |
121 void clearResourceReferences(); | 122 void clearResourceReferences(); |
122 | 123 |
123 virtual void buildPendingResource() OVERRIDE; | 124 virtual void buildPendingResource() OVERRIDE; |
124 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE; | 125 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE; |
125 virtual void removedFrom(ContainerNode*) OVERRIDE; | 126 virtual void removedFrom(ContainerNode*) OVERRIDE; |
126 | 127 |
127 bool isSupportedAttribute(const QualifiedName&); | 128 bool isSupportedAttribute(const QualifiedName&); |
128 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; | 129 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; |
129 virtual void svgAttributeChanged(const QualifiedName&) OVERRIDE; | 130 virtual void svgAttributeChanged(const QualifiedName&) OVERRIDE; |
130 | 131 |
131 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE; | 132 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE; |
132 virtual bool childShouldCreateRenderer(const Node& child) const OVERRIDE { r
eturn true; } | 133 virtual bool childShouldCreateRenderer(const Node& child) const OVERRIDE { r
eturn true; } |
133 virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE; | 134 virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE; |
134 | 135 |
135 virtual bool selfHasRelativeLengths() const OVERRIDE; | 136 virtual bool selfHasRelativeLengths() const OVERRIDE; |
136 | 137 |
137 RefPtr<SVGAnimatedLength> m_startOffset; | 138 RefPtr<SVGAnimatedLength> m_startOffset; |
| 139 RefPtr<SVGAnimatedString> m_href; |
138 BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGTextPathElement) | 140 BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGTextPathElement) |
139 DECLARE_ANIMATED_ENUMERATION(Method, method, SVGTextPathMethodType) | 141 DECLARE_ANIMATED_ENUMERATION(Method, method, SVGTextPathMethodType) |
140 DECLARE_ANIMATED_ENUMERATION(Spacing, spacing, SVGTextPathSpacingType) | 142 DECLARE_ANIMATED_ENUMERATION(Spacing, spacing, SVGTextPathSpacingType) |
141 DECLARE_ANIMATED_STRING(Href, href) | |
142 END_DECLARE_ANIMATED_PROPERTIES | 143 END_DECLARE_ANIMATED_PROPERTIES |
143 }; | 144 }; |
144 | 145 |
145 DEFINE_NODE_TYPE_CASTS(SVGTextPathElement, hasTagName(SVGNames::textPathTag)); | 146 DEFINE_NODE_TYPE_CASTS(SVGTextPathElement, hasTagName(SVGNames::textPathTag)); |
146 | 147 |
147 } // namespace WebCore | 148 } // namespace WebCore |
148 | 149 |
149 #endif | 150 #endif |
OLD | NEW |