Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(176)

Side by Side Diff: third_party/WebKit/Source/core/dom/DOMMatrix.h

Issue 2283363003: GeometryInterface: Add DOMMatrixInit and fromMatrix(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698