| Index: third_party/WebKit/Source/core/dom/DOMMatrixReadOnly.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/DOMMatrixReadOnly.cpp b/third_party/WebKit/Source/core/dom/DOMMatrixReadOnly.cpp
|
| index b758a6cf9bbdefdea70c38d7834f979c448873cb..81c0ad52036d7c73c95814b91b40f2598e93c55e 100644
|
| --- a/third_party/WebKit/Source/core/dom/DOMMatrixReadOnly.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/DOMMatrixReadOnly.cpp
|
| @@ -6,6 +6,35 @@
|
|
|
| namespace blink {
|
|
|
| +DOMMatrixReadOnly* DOMMatrixReadOnly::create(Vector<double> sequence) {
|
| + if (sequence.size() == 16) {
|
| + return new DOMMatrixReadOnly(sequence);
|
| + }
|
| + return nullptr;
|
| +}
|
| +
|
| +DOMMatrixReadOnly* DOMMatrixReadOnly::create(DOMMatrixReadOnly* other) {
|
| + return new DOMMatrixReadOnly(other->matrix(), other->is2D());
|
| +}
|
| +
|
| +DOMMatrixReadOnly::DOMMatrixReadOnly(Vector<double> sequence)
|
| +{
|
| + if (sequence.size() == 16) {
|
| + m_matrix = TransformationMatrix::create(
|
| + sequence[0], sequence[1], sequence[2], sequence[3],
|
| + sequence[4], sequence[5], sequence[6], sequence[7],
|
| + sequence[8], sequence[9], sequence[10], sequence[11],
|
| + sequence[12], sequence[13], sequence[14], sequence[15]);
|
| + m_is2D = false;
|
| + }
|
| +}
|
| +
|
| +DOMMatrixReadOnly::DOMMatrixReadOnly(const TransformationMatrix& matrix, bool is2D)
|
| +{
|
| + m_matrix = TransformationMatrix::create(matrix);
|
| + m_is2D = is2D;
|
| +}
|
| +
|
| DOMMatrixReadOnly::~DOMMatrixReadOnly()
|
| {
|
| }
|
| @@ -20,9 +49,11 @@ bool DOMMatrixReadOnly::isIdentity() const
|
| return m_matrix->isIdentity();
|
| }
|
|
|
| -DOMMatrix* DOMMatrixReadOnly::multiply(DOMMatrix* other)
|
| +DOMMatrixReadOnly* DOMMatrixReadOnly::multiply(DOMMatrixReadOnly* other)
|
| {
|
| - return DOMMatrix::create(this)->multiplySelf(other);
|
| + TransformationMatrix m = this->matrix();
|
| + m.multiply(other->matrix());
|
| + return new DOMMatrixReadOnly(m, other->is2D());
|
| }
|
|
|
| DOMMatrix* DOMMatrixReadOnly::translate(double tx, double ty, double tz)
|
|
|