KHTML
SVGAnimateTransformElement.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
00024
00025 #ifndef SVGAnimateTransformElement_h
00026 #define SVGAnimateTransformElement_h
00027 #if ENABLE(SVG) && ENABLE(SVG_ANIMATION)
00028
00029 #include "SVGAnimationElement.h"
00030 #include "SVGTransform.h"
00031 #include "SVGTransformDistance.h"
00032
00033 namespace WebCore {
00034
00035 class AffineTransform;
00036
00037 class SVGAnimateTransformElement : public SVGAnimationElement {
00038 public:
00039 SVGAnimateTransformElement(const QualifiedName&, Document*);
00040 virtual ~SVGAnimateTransformElement();
00041
00042 virtual bool hasValidTarget() const;
00043
00044 virtual void parseMappedAttribute(MappedAttribute*);
00045
00046 protected:
00047 virtual const SVGElement* contextElement() const { return this; }
00048
00049 private:
00050 virtual void resetToBaseValue(const String&);
00051 virtual bool calculateFromAndToValues(const String& fromString, const String& toString);
00052 virtual bool calculateFromAndByValues(const String& fromString, const String& byString);
00053 virtual void calculateAnimatedValue(float percentage, unsigned repeat, SVGSMILElement* resultElement);
00054 virtual void applyResultsToTarget();
00055 virtual float calculateDistance(const String& fromString, const String& toString);
00056
00057 SVGTransform parseTransformValue(const String&) const;
00058
00059 SVGTransform::SVGTransformType m_type;
00060
00061 unsigned m_baseIndexInTransformList;
00062
00063 SVGTransform m_toTransform;
00064 SVGTransform m_fromTransform;
00065 };
00066
00067 }
00068
00069 #endif // ENABLE(SVG)
00070 #endif // SVGAnimateTransformElement_h
00071
00072