Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / dom / DOMMatrix.idl
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.
4
5 [
6     Constructor,
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;
18
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;
35
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);
56 };