1/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4 * You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * The origin of this IDL file is
7 * http://www.w3.org/TR/SVG2/
8 *
9 * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
10 * liability, trademark and document use rules apply.
11 */
12
13interface SVGMatrix {
14
15  [SetterThrows]
16  attribute float a;
17  [SetterThrows]
18  attribute float b;
19  [SetterThrows]
20  attribute float c;
21  [SetterThrows]
22  attribute float d;
23  [SetterThrows]
24  attribute float e;
25  [SetterThrows]
26  attribute float f;
27
28  [NewObject]
29  SVGMatrix multiply(SVGMatrix secondMatrix);
30  [NewObject, Throws]
31  SVGMatrix inverse();
32  [NewObject]
33  SVGMatrix translate(float x, float y);
34  [NewObject]
35  SVGMatrix scale(float scaleFactor);
36  [NewObject]
37  SVGMatrix scaleNonUniform(float scaleFactorX, float scaleFactorY);
38  [NewObject]
39  SVGMatrix rotate(float angle);
40  [NewObject, Throws]
41  SVGMatrix rotateFromVector(float x, float y);
42  [NewObject]
43  SVGMatrix flipX();
44  [NewObject]
45  SVGMatrix flipY();
46  [NewObject, Throws]
47  SVGMatrix skewX(float angle);
48  [NewObject, Throws]
49  SVGMatrix skewY(float angle);
50};
51
52