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 #ifndef DOMMatrix_h | 5 #ifndef DOMMatrix_h |
6 #define DOMMatrix_h | 6 #define DOMMatrix_h |
7 | 7 |
| 8 #include "core/dom/DOMMatrixInit.h" |
8 #include "core/dom/DOMMatrixReadOnly.h" | 9 #include "core/dom/DOMMatrixReadOnly.h" |
9 | 10 |
10 namespace blink { | 11 namespace blink { |
11 | 12 |
12 class DOMMatrix : public DOMMatrixReadOnly { | 13 class CORE_EXPORT DOMMatrix : public DOMMatrixReadOnly { |
13 DEFINE_WRAPPERTYPEINFO(); | 14 DEFINE_WRAPPERTYPEINFO(); |
14 public: | 15 public: |
15 static DOMMatrix* create(); | 16 static DOMMatrix* create(); |
16 static DOMMatrix* create(DOMMatrixReadOnly*); | 17 static DOMMatrix* create(DOMMatrixReadOnly*); |
17 static DOMMatrix* create(const SkMatrix44&); | 18 static DOMMatrix* create(const SkMatrix44&); |
18 static DOMMatrix* fromFloat32Array(DOMFloat32Array*, ExceptionState&); | 19 static DOMMatrix* fromFloat32Array(DOMFloat32Array*, ExceptionState&); |
19 static DOMMatrix* fromFloat64Array(DOMFloat64Array*, ExceptionState&); | 20 static DOMMatrix* fromFloat64Array(DOMFloat64Array*, ExceptionState&); |
| 21 static DOMMatrix* fromMatrix(DOMMatrixInit&, ExceptionState&); |
20 | 22 |
21 void setA(double value) { m_matrix->setM11(value); } | 23 void setA(double value) { m_matrix->setM11(value); } |
22 void setB(double value) { m_matrix->setM12(value); } | 24 void setB(double value) { m_matrix->setM12(value); } |
23 void setC(double value) { m_matrix->setM21(value); } | 25 void setC(double value) { m_matrix->setM21(value); } |
24 void setD(double value) { m_matrix->setM22(value); } | 26 void setD(double value) { m_matrix->setM22(value); } |
25 void setE(double value) { m_matrix->setM41(value); } | 27 void setE(double value) { m_matrix->setM41(value); } |
26 void setF(double value) { m_matrix->setM42(value); } | 28 void setF(double value) { m_matrix->setM42(value); } |
27 | 29 |
28 void setM11(double value) { m_matrix->setM11(value); } | 30 void setM11(double value) { m_matrix->setM11(value); } |
29 void setM12(double value) { m_matrix->setM12(value); } | 31 void setM12(double value) { m_matrix->setM12(value); } |
30 void setM13(double value) { m_matrix->setM13(value); setIs2D(!value); } | 32 void setM13(double value) { m_matrix->setM13(value); setIs2D(!value); } |
31 void setM14(double value) { m_matrix->setM14(value); setIs2D(!value); } | 33 void setM14(double value) { m_matrix->setM14(value); setIs2D(!value); } |
32 void setM21(double value) { m_matrix->setM21(value); } | 34 void setM21(double value) { m_matrix->setM21(value); } |
33 void setM22(double value) { m_matrix->setM22(value); } | 35 void setM22(double value) { m_matrix->setM22(value); } |
34 void setM23(double value) { m_matrix->setM23(value); setIs2D(!value); } | 36 void setM23(double value) { m_matrix->setM23(value); setIs2D(!value); } |
35 void setM24(double value) { m_matrix->setM24(value); setIs2D(!value); } | 37 void setM24(double value) { m_matrix->setM24(value); setIs2D(!value); } |
36 void setM31(double value) { m_matrix->setM31(value); setIs2D(!value); } | 38 void setM31(double value) { m_matrix->setM31(value); setIs2D(!value); } |
37 void setM32(double value) { m_matrix->setM32(value); setIs2D(!value); } | 39 void setM32(double value) { m_matrix->setM32(value); setIs2D(!value); } |
38 void setM33(double value) { m_matrix->setM33(value); setIs2D(value != 1); } | 40 void setM33(double value) { m_matrix->setM33(value); setIs2D(value != 1); } |
39 void setM34(double value) { m_matrix->setM34(value); setIs2D(!value); } | 41 void setM34(double value) { m_matrix->setM34(value); setIs2D(!value); } |
40 void setM41(double value) { m_matrix->setM41(value); } | 42 void setM41(double value) { m_matrix->setM41(value); } |
41 void setM42(double value) { m_matrix->setM42(value); } | 43 void setM42(double value) { m_matrix->setM42(value); } |
42 void setM43(double value) { m_matrix->setM43(value); setIs2D(!value); } | 44 void setM43(double value) { m_matrix->setM43(value); setIs2D(!value); } |
43 void setM44(double value) { m_matrix->setM44(value); setIs2D(value != 1); } | 45 void setM44(double value) { m_matrix->setM44(value); setIs2D(value != 1); } |
44 | 46 |
45 DOMMatrix* multiplySelf(DOMMatrix*); | 47 DOMMatrix* multiplySelf(DOMMatrixInit&, ExceptionState&); |
46 DOMMatrix* preMultiplySelf(DOMMatrix*); | 48 DOMMatrix* preMultiplySelf(DOMMatrixInit&, ExceptionState&); |
47 DOMMatrix* translateSelf(double tx, double ty, double tz = 0); | 49 DOMMatrix* translateSelf(double tx, double ty, double tz = 0); |
48 DOMMatrix* scaleSelf(double scale, double ox = 0, double oy = 0); | 50 DOMMatrix* scaleSelf(double scale, double ox = 0, double oy = 0); |
49 DOMMatrix* scale3dSelf(double scale, double ox = 0, double oy = 0, double oz
= 0); | 51 DOMMatrix* scale3dSelf(double scale, double ox = 0, double oy = 0, double oz
= 0); |
50 DOMMatrix* scaleNonUniformSelf(double sx, double sy = 1, double sz = 1, | 52 DOMMatrix* scaleNonUniformSelf(double sx, double sy = 1, double sz = 1, |
51 double ox = 0, double oy = 0, double oz = 0); | 53 double ox = 0, double oy = 0, double oz = 0); |
52 DOMMatrix* skewXSelf(double sx = 0); | 54 DOMMatrix* skewXSelf(double sx = 0); |
53 DOMMatrix* skewYSelf(double sy = 0); | 55 DOMMatrix* skewYSelf(double sy = 0); |
54 DOMMatrix* invertSelf(); | 56 DOMMatrix* invertSelf(); |
55 | 57 |
56 private: | 58 private: |
57 DOMMatrix(const TransformationMatrix&, bool is2D = true); | 59 DOMMatrix(const TransformationMatrix&, bool is2D = true); |
58 template <typename T> | 60 template <typename T> |
59 DOMMatrix(T sequence, int size); | 61 DOMMatrix(T sequence, int size); |
60 | 62 |
61 void setIs2D(bool value); | 63 void setIs2D(bool value); |
62 }; | 64 }; |
63 | 65 |
64 } // namespace blink | 66 } // namespace blink |
65 | 67 |
66 #endif | 68 #endif |
OLD | NEW |