KHTML
SVGTextPathElement.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef SVGTextPathElement_h
00023 #define SVGTextPathElement_h
00024
00025 #if ENABLE(SVG)
00026 #include "SVGTextContentElement.h"
00027
00028 #include "SVGURIReference.h"
00029
00030 namespace WebCore
00031 {
00032 enum SVGTextPathMethodType {
00033 SVG_TEXTPATH_METHODTYPE_UNKNOWN = 0,
00034 SVG_TEXTPATH_METHODTYPE_ALIGN = 1,
00035 SVG_TEXTPATH_METHODTYPE_STRETCH = 2
00036 };
00037
00038 enum SVGTextPathSpacingType {
00039 SVG_TEXTPATH_SPACINGTYPE_UNKNOWN = 0,
00040 SVG_TEXTPATH_SPACINGTYPE_AUTO = 1,
00041 SVG_TEXTPATH_SPACINGTYPE_EXACT = 2
00042 };
00043
00044 class SVGTextPathElement : public SVGTextContentElement,
00045 public SVGURIReference
00046 {
00047 public:
00048
00049 enum {
00050 TEXTPATH_METHODTYPE_UNKNOWN = SVG_TEXTPATH_METHODTYPE_UNKNOWN,
00051 TEXTPATH_METHODTYPE_ALIGN = SVG_TEXTPATH_METHODTYPE_ALIGN,
00052 TEXTPATH_METHODTYPE_STRETCH = SVG_TEXTPATH_METHODTYPE_STRETCH,
00053 TEXTPATH_SPACINGTYPE_UNKNOWN = SVG_TEXTPATH_SPACINGTYPE_UNKNOWN,
00054 TEXTPATH_SPACINGTYPE_AUTO = SVG_TEXTPATH_SPACINGTYPE_AUTO,
00055 TEXTPATH_SPACINGTYPE_EXACT = SVG_TEXTPATH_SPACINGTYPE_EXACT
00056 };
00057
00058 SVGTextPathElement(const QualifiedName&, Document*);
00059 virtual ~SVGTextPathElement();
00060
00061 virtual void insertedIntoDocument();
00062
00063 virtual void parseMappedAttribute(MappedAttribute*);
00064 virtual bool rendererIsNeeded(RenderStyle* style) { return StyledElement::rendererIsNeeded(style); }
00065 virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
00066
00067 bool childShouldCreateRenderer(Node*) const;
00068
00069
00070 virtual quint32 id() const { return SVGNames::textPathTag.id(); }
00071 virtual DOMString tagName() const { return SVGNames::textPathTag.tagName(); }
00072
00073 protected:
00074 virtual const SVGElement* contextElement() const { return this; }
00075
00076 private:
00077 ANIMATED_PROPERTY_FORWARD_DECLARATIONS(SVGURIReference, String, Href, href)
00078
00079 ANIMATED_PROPERTY_DECLARATIONS(SVGTextPathElement, SVGLength, SVGLength, StartOffset, startOffset)
00080 ANIMATED_PROPERTY_DECLARATIONS(SVGTextPathElement, int, int, Method, method)
00081 ANIMATED_PROPERTY_DECLARATIONS(SVGTextPathElement, int, int, Spacing, spacing)
00082 };
00083
00084 }
00085
00086 #endif // ENABLE(SVG)
00087 #endif
00088
00089