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 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 TEXTPATH_METHODTYPE_UNKNOWN = SVGTextPathMethodUnknown, | 104 TEXTPATH_METHODTYPE_UNKNOWN = SVGTextPathMethodUnknown, |
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(); } |
| 115 |
114 private: | 116 private: |
115 explicit SVGTextPathElement(Document&); | 117 explicit SVGTextPathElement(Document&); |
116 | 118 |
117 virtual ~SVGTextPathElement(); | 119 virtual ~SVGTextPathElement(); |
118 | 120 |
119 void clearResourceReferences(); | 121 void clearResourceReferences(); |
120 | 122 |
121 virtual void buildPendingResource(); | 123 virtual void buildPendingResource(); |
122 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE; | 124 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE; |
123 virtual void removedFrom(ContainerNode*) OVERRIDE; | 125 virtual void removedFrom(ContainerNode*) OVERRIDE; |
124 | 126 |
125 bool isSupportedAttribute(const QualifiedName&); | 127 bool isSupportedAttribute(const QualifiedName&); |
126 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; | 128 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; |
127 virtual void svgAttributeChanged(const QualifiedName&); | 129 virtual void svgAttributeChanged(const QualifiedName&); |
128 | 130 |
129 virtual RenderObject* createRenderer(RenderStyle*); | 131 virtual RenderObject* createRenderer(RenderStyle*); |
130 virtual bool childShouldCreateRenderer(const Node& child) const; | 132 virtual bool childShouldCreateRenderer(const Node& child) const; |
131 virtual bool rendererIsNeeded(const RenderStyle&); | 133 virtual bool rendererIsNeeded(const RenderStyle&); |
132 | 134 |
133 virtual bool selfHasRelativeLengths() const; | 135 virtual bool selfHasRelativeLengths() const; |
134 | 136 |
| 137 RefPtr<SVGAnimatedLength> m_startOffset; |
135 BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGTextPathElement) | 138 BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGTextPathElement) |
136 DECLARE_ANIMATED_LENGTH(StartOffset, startOffset) | |
137 DECLARE_ANIMATED_ENUMERATION(Method, method, SVGTextPathMethodType) | 139 DECLARE_ANIMATED_ENUMERATION(Method, method, SVGTextPathMethodType) |
138 DECLARE_ANIMATED_ENUMERATION(Spacing, spacing, SVGTextPathSpacingType) | 140 DECLARE_ANIMATED_ENUMERATION(Spacing, spacing, SVGTextPathSpacingType) |
139 DECLARE_ANIMATED_STRING(Href, href) | 141 DECLARE_ANIMATED_STRING(Href, href) |
140 END_DECLARE_ANIMATED_PROPERTIES | 142 END_DECLARE_ANIMATED_PROPERTIES |
141 }; | 143 }; |
142 | 144 |
143 DEFINE_NODE_TYPE_CASTS(SVGTextPathElement, hasTagName(SVGNames::textPathTag)); | 145 DEFINE_NODE_TYPE_CASTS(SVGTextPathElement, hasTagName(SVGNames::textPathTag)); |
144 | 146 |
145 } // namespace WebCore | 147 } // namespace WebCore |
146 | 148 |
147 #endif | 149 #endif |
OLD | NEW |