Index: Source/core/dom/DOMMatrix.cpp |
diff --git a/Source/core/dom/DOMMatrix.cpp b/Source/core/dom/DOMMatrix.cpp |
index 22a9df9770576e61f14d7bf6247da6f41821f074..93839ac1de68b58b57a091221852a8ec46461b7c 100644 |
--- a/Source/core/dom/DOMMatrix.cpp |
+++ b/Source/core/dom/DOMMatrix.cpp |
@@ -100,4 +100,37 @@ DOMMatrix* DOMMatrix::scaleNonUniformSelf(double sx, double sy, double sz, |
return this; |
} |
+DOMMatrix* DOMMatrix::rotateSelf(double angle, double ox, double oy) |
+{ |
+ bool hasTranslation = (ox || oy); |
+ |
+ if (hasTranslation) |
+ translateSelf(ox, oy); |
+ |
+ m_matrix.rotate(angle); |
+ |
+ if (hasTranslation) |
+ translateSelf(-ox, -oy); |
+ |
+ return this; |
+} |
+ |
+DOMMatrix* DOMMatrix::rotateFromVectorSelf(double x, double y) |
+{ |
+ m_matrix.rotateFromVector(x, y); |
+ |
+ return this; |
+} |
+ |
+DOMMatrix* DOMMatrix::rotateAxisAngleSelf( |
+ double x, double y, double z, double angle) |
+{ |
+ if (x != 0 || y != 0) |
+ m_is2D = false; |
+ |
+ m_matrix.rotate3d(x, y, z, angle); |
+ |
+ return this; |
+} |
+ |
} // namespace blink |