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}; 57