| Index: Source/core/svg/SVGTransformTearOff.cpp
|
| diff --git a/Source/core/svg/SVGRectTearOff.cpp b/Source/core/svg/SVGTransformTearOff.cpp
|
| similarity index 59%
|
| copy from Source/core/svg/SVGRectTearOff.cpp
|
| copy to Source/core/svg/SVGTransformTearOff.cpp
|
| index 64a2538c50c2656117137d6d704a5122264ff0b2..c13631a788515a44b0d283fa9b1dcdfc8088b7f3 100644
|
| --- a/Source/core/svg/SVGRectTearOff.cpp
|
| +++ b/Source/core/svg/SVGTransformTearOff.cpp
|
| @@ -29,61 +29,95 @@
|
| */
|
|
|
| #include "config.h"
|
| -
|
| -#include "core/svg/SVGRectTearOff.h"
|
| +#include "core/svg/SVGTransformTearOff.h"
|
|
|
| #include "bindings/v8/ExceptionState.h"
|
| #include "core/dom/ExceptionCode.h"
|
|
|
| namespace WebCore {
|
|
|
| -SVGRectTearOff::SVGRectTearOff(PassRefPtr<SVGRect> target, SVGElement* contextElement, PropertyIsAnimValType propertyIsAnimVal, const QualifiedName& attributeName)
|
| - : NewSVGPropertyTearOff<SVGRect>(target, contextElement, propertyIsAnimVal, attributeName)
|
| +SVGTransformTearOff::SVGTransformTearOff(PassRefPtr<SVGTransform> target, SVGElement* contextElement, PropertyIsAnimValType propertyIsAnimVal, const QualifiedName& attributeName)
|
| + : NewSVGPropertyTearOff<SVGTransform>(target, contextElement, propertyIsAnimVal, attributeName)
|
| {
|
| ScriptWrappable::init(this);
|
| }
|
|
|
| -void SVGRectTearOff::setX(float f, ExceptionState& exceptionState)
|
| +SVGTransformTearOff::~SVGTransformTearOff()
|
| +{
|
| +}
|
| +
|
| +SVGMatrixTearOff* SVGTransformTearOff::matrix()
|
| +{
|
| + if (!m_matrixTearoff) {
|
| + m_matrixTearoff = SVGMatrixTearOff::create(this);
|
| + }
|
| +
|
| + return m_matrixTearoff.get();
|
| +}
|
| +
|
| +void SVGTransformTearOff::setMatrix(PassRefPtr<SVGMatrixTearOff> matrix, ExceptionState& exceptionState)
|
| +{
|
| + if (isImmutable()) {
|
| + exceptionState.throwDOMException(NoModificationAllowedError, "The attribute is read-only.");
|
| + return;
|
| + }
|
| +
|
| + target()->setMatrix(matrix->value());
|
| + commitChange();
|
| +}
|
| +
|
| +void SVGTransformTearOff::setTranslate(float tx, float ty, ExceptionState& exceptionState)
|
| +{
|
| + if (isImmutable()) {
|
| + exceptionState.throwDOMException(NoModificationAllowedError, "The attribute is read-only.");
|
| + return;
|
| + }
|
| +
|
| + target()->setTranslate(tx, ty);
|
| + commitChange();
|
| +}
|
| +
|
| +void SVGTransformTearOff::setScale(float sx, float sy, ExceptionState& exceptionState)
|
| {
|
| if (isImmutable()) {
|
| exceptionState.throwDOMException(NoModificationAllowedError, "The attribute is read-only.");
|
| return;
|
| }
|
|
|
| - target()->setX(f);
|
| + target()->setScale(sx, sy);
|
| commitChange();
|
| }
|
|
|
| -void SVGRectTearOff::setY(float f, ExceptionState& exceptionState)
|
| +void SVGTransformTearOff::setRotate(float angle, float cx, float cy, ExceptionState& exceptionState)
|
| {
|
| if (isImmutable()) {
|
| exceptionState.throwDOMException(NoModificationAllowedError, "The attribute is read-only.");
|
| return;
|
| }
|
|
|
| - target()->setY(f);
|
| + target()->setRotate(angle, cx, cy);
|
| commitChange();
|
| }
|
|
|
| -void SVGRectTearOff::setWidth(float f, ExceptionState& exceptionState)
|
| +void SVGTransformTearOff::setSkewX(float x, ExceptionState& exceptionState)
|
| {
|
| if (isImmutable()) {
|
| exceptionState.throwDOMException(NoModificationAllowedError, "The attribute is read-only.");
|
| return;
|
| }
|
|
|
| - target()->setWidth(f);
|
| + target()->setSkewX(x);
|
| commitChange();
|
| }
|
|
|
| -void SVGRectTearOff::setHeight(float f, ExceptionState& exceptionState)
|
| +void SVGTransformTearOff::setSkewY(float y, ExceptionState& exceptionState)
|
| {
|
| if (isImmutable()) {
|
| exceptionState.throwDOMException(NoModificationAllowedError, "The attribute is read-only.");
|
| return;
|
| }
|
|
|
| - target()->setHeight(f);
|
| + target()->setSkewY(y);
|
| commitChange();
|
| }
|
|
|
|
|