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