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
3 // found in the LICENSE file.
7 Constructor(DOMMatrixReadOnly other),
8 // FIXME: Should implement more constructors (See: crbug.com/388780)
9 RuntimeEnabled=GeometryInterfaces,
10 ] interface DOMMatrix : DOMMatrixReadOnly {
11 // These attributes are simple aliases for certain elements of the 4x4 matrix
12 attribute unrestricted double a;
13 attribute unrestricted double b;
14 attribute unrestricted double c;
15 attribute unrestricted double d;
16 attribute unrestricted double e;
17 attribute unrestricted double f;
19 attribute unrestricted double m11;
20 attribute unrestricted double m12;
21 attribute unrestricted double m13;
22 attribute unrestricted double m14;
23 attribute unrestricted double m21;
24 attribute unrestricted double m22;
25 attribute unrestricted double m23;
26 attribute unrestricted double m24;
27 attribute unrestricted double m31;
28 attribute unrestricted double m32;
29 attribute unrestricted double m33;
30 attribute unrestricted double m34;
31 attribute unrestricted double m41;
32 attribute unrestricted double m42;
33 attribute unrestricted double m43;
34 attribute unrestricted double m44;
36 // FIXME: Should implement some methods (See: crbug.com/388780)
37 // Mutable transform methods
38 DOMMatrix multiplySelf(DOMMatrix other);
39 DOMMatrix preMultiplySelf(DOMMatrix other);
40 DOMMatrix translateSelf(unrestricted double tx,
41 unrestricted double ty,
42 optional unrestricted double tz = 0);
43 DOMMatrix scaleSelf(unrestricted double scale,
44 optional unrestricted double ox = 0,
45 optional unrestricted double oy = 0);
46 DOMMatrix scale3dSelf(unrestricted double scale,
47 optional unrestricted double ox = 0,
48 optional unrestricted double oy = 0,
49 optional unrestricted double oz = 0);
50 DOMMatrix scaleNonUniformSelf(unrestricted double sx,
51 optional unrestricted double sy = 1,
52 optional unrestricted double sz = 1,
53 optional unrestricted double ox = 0,
54 optional unrestricted double oy = 0,
55 optional unrestricted double oz = 0);