Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1108)

Unified Diff: Source/core/svg/SVGTransformTearOff.cpp

Issue 153883003: [SVG] SVGAnimatedTransform{,List} migration to new SVG property impl. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}

Powered by Google App Engine
This is Rietveld 408576698