KHTML
SVGTextElement.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
00023 #ifndef SVGTextElement_h
00024 #define SVGTextElement_h
00025
00026 #if ENABLE(SVG)
00027 #include "SVGTextPositioningElement.h"
00028 #include "SVGTransformable.h"
00029
00030 #include <wtf/OwnPtr.h>
00031
00032 namespace WebCore {
00033
00034 class SVGTextElement : public SVGTextPositioningElement,
00035 public SVGTransformable {
00036 public:
00037 SVGTextElement(const QualifiedName&, Document*);
00038 virtual ~SVGTextElement();
00039
00040 virtual void parseMappedAttribute(MappedAttribute*);
00041
00042 virtual SVGElement* nearestViewportElement() const;
00043 virtual SVGElement* farthestViewportElement() const;
00044
00045 virtual FloatRect getBBox() const;
00046 virtual AffineTransform getCTM() const;
00047 virtual AffineTransform getScreenCTM() const;
00048 virtual AffineTransform animatedLocalTransform() const;
00049 virtual AffineTransform* supplementalTransform();
00050
00051 virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
00052 virtual bool childShouldCreateRenderer(Node*) const;
00053
00054 virtual void svgAttributeChanged(const QualifiedName&);
00055
00056
00057 virtual quint32 id() const { return SVGNames::textTag.id(); }
00058 protected:
00059 virtual const SVGElement* contextElement() const { return this; }
00060
00061 private:
00062 ANIMATED_PROPERTY_DECLARATIONS(SVGTextElement, SVGTransformList*, RefPtr<SVGTransformList>, Transform, transform)
00063
00064
00065 OwnPtr<AffineTransform> m_supplementalTransform;
00066 };
00067
00068 }
00069
00070 #endif // ENABLE(SVG)
00071 #endif