| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "core/dom/DOMMatrixReadOnly.h" | 5 #include "core/dom/DOMMatrixReadOnly.h" | 
| 6 | 6 | 
| 7 #include "bindings/core/v8/V8ObjectBuilder.h" | 7 #include "bindings/core/v8/V8ObjectBuilder.h" | 
| 8 #include "core/dom/DOMMatrix.h" | 8 #include "core/dom/DOMMatrix.h" | 
| 9 #include "core/dom/DOMMatrixInit.h" | 9 #include "core/dom/DOMMatrixInit.h" | 
|  | 10 #include "core/dom/DOMPoint.h" | 
|  | 11 #include "core/dom/DOMPointInit.h" | 
| 10 | 12 | 
| 11 namespace blink { | 13 namespace blink { | 
| 12 namespace { | 14 namespace { | 
| 13 | 15 | 
| 14 void setDictionaryMembers(DOMMatrixInit& other) { | 16 void setDictionaryMembers(DOMMatrixInit& other) { | 
| 15   if (!other.hasM11()) | 17   if (!other.hasM11()) | 
| 16     other.setM11(other.hasA() ? other.a() : 1); | 18     other.setM11(other.hasA() ? other.a() : 1); | 
| 17 | 19 | 
| 18   if (!other.hasM12()) | 20   if (!other.hasM12()) | 
| 19     other.setM12(other.hasB() ? other.b() : 0); | 21     other.setM12(other.hasB() ? other.b() : 0); | 
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 222   flipY->setM22(-this->m22()); | 224   flipY->setM22(-this->m22()); | 
| 223   flipY->setM23(-this->m23()); | 225   flipY->setM23(-this->m23()); | 
| 224   flipY->setM24(-this->m24()); | 226   flipY->setM24(-this->m24()); | 
| 225   return flipY; | 227   return flipY; | 
| 226 } | 228 } | 
| 227 | 229 | 
| 228 DOMMatrix* DOMMatrixReadOnly::inverse() { | 230 DOMMatrix* DOMMatrixReadOnly::inverse() { | 
| 229   return DOMMatrix::create(this)->invertSelf(); | 231   return DOMMatrix::create(this)->invertSelf(); | 
| 230 } | 232 } | 
| 231 | 233 | 
|  | 234 DOMPoint* DOMMatrixReadOnly::transformPoint(const DOMPointInit& point) { | 
|  | 235   if (is2D() && point.z() == 0 && point.w() == 1) { | 
|  | 236     double x = point.x() * m11() + point.y() * m12() + m41(); | 
|  | 237     double y = point.x() * m12() + point.y() * m22() + m42(); | 
|  | 238     return DOMPoint::create(x, y, 0, 1); | 
|  | 239   } | 
|  | 240 | 
|  | 241   double x = point.x() * m11() + point.y() * m21() + point.z() * m31() + | 
|  | 242              point.w() * m41(); | 
|  | 243   double y = point.x() * m12() + point.y() * m22() + point.z() * m32() + | 
|  | 244              point.w() * m42(); | 
|  | 245   double z = point.x() * m13() + point.y() * m23() + point.z() * m33() + | 
|  | 246              point.w() * m43(); | 
|  | 247   double w = point.x() * m14() + point.y() * m24() + point.z() * m34() + | 
|  | 248              point.w() * m44(); | 
|  | 249   return DOMPoint::create(x, y, z, w); | 
|  | 250 } | 
|  | 251 | 
| 232 DOMFloat32Array* DOMMatrixReadOnly::toFloat32Array() const { | 252 DOMFloat32Array* DOMMatrixReadOnly::toFloat32Array() const { | 
| 233   float array[] = { | 253   float array[] = { | 
| 234       static_cast<float>(m_matrix->m11()), static_cast<float>(m_matrix->m12()), | 254       static_cast<float>(m_matrix->m11()), static_cast<float>(m_matrix->m12()), | 
| 235       static_cast<float>(m_matrix->m13()), static_cast<float>(m_matrix->m14()), | 255       static_cast<float>(m_matrix->m13()), static_cast<float>(m_matrix->m14()), | 
| 236       static_cast<float>(m_matrix->m21()), static_cast<float>(m_matrix->m22()), | 256       static_cast<float>(m_matrix->m21()), static_cast<float>(m_matrix->m22()), | 
| 237       static_cast<float>(m_matrix->m23()), static_cast<float>(m_matrix->m24()), | 257       static_cast<float>(m_matrix->m23()), static_cast<float>(m_matrix->m24()), | 
| 238       static_cast<float>(m_matrix->m31()), static_cast<float>(m_matrix->m32()), | 258       static_cast<float>(m_matrix->m31()), static_cast<float>(m_matrix->m32()), | 
| 239       static_cast<float>(m_matrix->m33()), static_cast<float>(m_matrix->m34()), | 259       static_cast<float>(m_matrix->m33()), static_cast<float>(m_matrix->m34()), | 
| 240       static_cast<float>(m_matrix->m41()), static_cast<float>(m_matrix->m42()), | 260       static_cast<float>(m_matrix->m41()), static_cast<float>(m_matrix->m42()), | 
| 241       static_cast<float>(m_matrix->m43()), static_cast<float>(m_matrix->m44())}; | 261       static_cast<float>(m_matrix->m43()), static_cast<float>(m_matrix->m44())}; | 
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 294   result.addNumber("m41", m41()); | 314   result.addNumber("m41", m41()); | 
| 295   result.addNumber("m42", m42()); | 315   result.addNumber("m42", m42()); | 
| 296   result.addNumber("m43", m43()); | 316   result.addNumber("m43", m43()); | 
| 297   result.addNumber("m44", m44()); | 317   result.addNumber("m44", m44()); | 
| 298   result.addBoolean("is2D", is2D()); | 318   result.addBoolean("is2D", is2D()); | 
| 299   result.addBoolean("isIdentity", isIdentity()); | 319   result.addBoolean("isIdentity", isIdentity()); | 
| 300   return result.scriptValue(); | 320   return result.scriptValue(); | 
| 301 } | 321 } | 
| 302 | 322 | 
| 303 }  // namespace blink | 323 }  // namespace blink | 
| OLD | NEW | 
|---|