SVGAnimateTransformElement.h [plain text]
#ifndef KSVG_SVGAnimateTransformElementImpl_H
#define KSVG_SVGAnimateTransformElementImpl_H
#if SVG_SUPPORT
#include <kcanvas/KCanvasMatrix.h>
#include "ksvg.h"
#include "SVGAnimationElement.h"
namespace WebCore
{
class SVGTransform;
class SVGAnimateTransformElement : public SVGAnimationElement
{
public:
SVGAnimateTransformElement(const QualifiedName&, Document*);
virtual ~SVGAnimateTransformElement();
virtual void parseMappedAttribute(MappedAttribute *attr);
virtual void handleTimerEvent(double timePercentage);
RefPtr<SVGTransform> parseTransformValue(const DeprecatedString &data) const;
void calculateRotationFromMatrix(const AffineTransform &matrix, double &angle, double &cx, double &cy) const;
SVGMatrix *initialMatrix() const;
SVGMatrix *transformMatrix() const;
private:
int m_currentItem;
SVGTransformType m_type;
RefPtr<SVGTransform> m_toTransform;
RefPtr<SVGTransform> m_fromTransform;
RefPtr<SVGTransform> m_initialTransform;
RefPtr<SVGMatrix> m_lastMatrix;
RefPtr<SVGMatrix> m_transformMatrix;
mutable bool m_rotateSpecialCase : 1;
bool m_toRotateSpecialCase : 1;
bool m_fromRotateSpecialCase : 1;
};
};
#endif // SVG_SUPPORT
#endif