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 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&); |
| 19 static DOMMatrix* fromMatrix(DOMMatrixInit&, ExceptionState&); |
18 | 20 |
19 void setA(double value) { m_matrix->setM11(value); } | 21 void setA(double value) { m_matrix->setM11(value); } |
20 void setB(double value) { m_matrix->setM12(value); } | 22 void setB(double value) { m_matrix->setM12(value); } |
21 void setC(double value) { m_matrix->setM21(value); } | 23 void setC(double value) { m_matrix->setM21(value); } |
22 void setD(double value) { m_matrix->setM22(value); } | 24 void setD(double value) { m_matrix->setM22(value); } |
23 void setE(double value) { m_matrix->setM41(value); } | 25 void setE(double value) { m_matrix->setM41(value); } |
24 void setF(double value) { m_matrix->setM42(value); } | 26 void setF(double value) { m_matrix->setM42(value); } |
25 | 27 |
26 void setM11(double value) { m_matrix->setM11(value); } | 28 void setM11(double value) { m_matrix->setM11(value); } |
27 void setM12(double value) { m_matrix->setM12(value); } | 29 void setM12(double value) { m_matrix->setM12(value); } |
28 void setM13(double value) { m_matrix->setM13(value); setIs2D(!value); } | 30 void setM13(double value) { m_matrix->setM13(value); setIs2D(!value); } |
29 void setM14(double value) { m_matrix->setM14(value); setIs2D(!value); } | 31 void setM14(double value) { m_matrix->setM14(value); setIs2D(!value); } |
30 void setM21(double value) { m_matrix->setM21(value); } | 32 void setM21(double value) { m_matrix->setM21(value); } |
31 void setM22(double value) { m_matrix->setM22(value); } | 33 void setM22(double value) { m_matrix->setM22(value); } |
32 void setM23(double value) { m_matrix->setM23(value); setIs2D(!value); } | 34 void setM23(double value) { m_matrix->setM23(value); setIs2D(!value); } |
33 void setM24(double value) { m_matrix->setM24(value); setIs2D(!value); } | 35 void setM24(double value) { m_matrix->setM24(value); setIs2D(!value); } |
34 void setM31(double value) { m_matrix->setM31(value); setIs2D(!value); } | 36 void setM31(double value) { m_matrix->setM31(value); setIs2D(!value); } |
35 void setM32(double value) { m_matrix->setM32(value); setIs2D(!value); } | 37 void setM32(double value) { m_matrix->setM32(value); setIs2D(!value); } |
36 void setM33(double value) { m_matrix->setM33(value); setIs2D(value != 1); } | 38 void setM33(double value) { m_matrix->setM33(value); setIs2D(value != 1); } |
37 void setM34(double value) { m_matrix->setM34(value); setIs2D(!value); } | 39 void setM34(double value) { m_matrix->setM34(value); setIs2D(!value); } |
38 void setM41(double value) { m_matrix->setM41(value); } | 40 void setM41(double value) { m_matrix->setM41(value); } |
39 void setM42(double value) { m_matrix->setM42(value); } | 41 void setM42(double value) { m_matrix->setM42(value); } |
40 void setM43(double value) { m_matrix->setM43(value); setIs2D(!value); } | 42 void setM43(double value) { m_matrix->setM43(value); setIs2D(!value); } |
41 void setM44(double value) { m_matrix->setM44(value); setIs2D(value != 1); } | 43 void setM44(double value) { m_matrix->setM44(value); setIs2D(value != 1); } |
42 | 44 |
43 DOMMatrix* multiplySelf(DOMMatrix*); | 45 DOMMatrix* multiplySelf(DOMMatrixInit&, ExceptionState&); |
44 DOMMatrix* preMultiplySelf(DOMMatrix*); | 46 DOMMatrix* preMultiplySelf(DOMMatrixInit&, ExceptionState&); |
45 DOMMatrix* translateSelf(double tx, double ty, double tz = 0); | 47 DOMMatrix* translateSelf(double tx, double ty, double tz = 0); |
46 DOMMatrix* scaleSelf(double scale, double ox = 0, double oy = 0); | 48 DOMMatrix* scaleSelf(double scale, double ox = 0, double oy = 0); |
47 DOMMatrix* scale3dSelf(double scale, double ox = 0, double oy = 0, double oz
= 0); | 49 DOMMatrix* scale3dSelf(double scale, double ox = 0, double oy = 0, double oz
= 0); |
48 DOMMatrix* scaleNonUniformSelf(double sx, double sy = 1, double sz = 1, | 50 DOMMatrix* scaleNonUniformSelf(double sx, double sy = 1, double sz = 1, |
49 double ox = 0, double oy = 0, double oz = 0); | 51 double ox = 0, double oy = 0, double oz = 0); |
50 DOMMatrix* skewXSelf(double sx = 0); | 52 DOMMatrix* skewXSelf(double sx = 0); |
51 DOMMatrix* skewYSelf(double sy = 0); | 53 DOMMatrix* skewYSelf(double sy = 0); |
52 | 54 |
53 private: | 55 private: |
54 DOMMatrix(const TransformationMatrix&, bool is2D = true); | 56 DOMMatrix(const TransformationMatrix&, bool is2D = true); |
55 | 57 |
56 void setIs2D(bool value); | 58 void setIs2D(bool value); |
57 }; | 59 }; |
58 | 60 |
59 } // namespace blink | 61 } // namespace blink |
60 | 62 |
61 #endif | 63 #endif |
OLD | NEW |