| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  | #import <Geometry/DOMMatrixReadOnly.idl> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // https://drafts.fxtf.org/geometry/#dommatrix | 
					
						
							| 
									
										
										
										
											2023-09-03 02:00:01 +12:00
										 |  |  | [Exposed=(Window,Worker), Serializable, LegacyWindowAlias=(SVGMatrix, WebKitCSSMatrix)] | 
					
						
							| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  | interface DOMMatrix : DOMMatrixReadOnly { | 
					
						
							|  |  |  |     constructor(optional (DOMString or sequence<unrestricted double>) init); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-03 12:37:29 +02:00
										 |  |  |     [NewObject] static DOMMatrix fromMatrix(optional DOMMatrixInit other = {}); | 
					
						
							| 
									
										
										
										
											2023-09-25 22:11:30 +02:00
										 |  |  |     [NewObject] static DOMMatrix fromFloat32Array(Float32Array array32); | 
					
						
							|  |  |  |     [NewObject] static DOMMatrix fromFloat64Array(Float64Array array64); | 
					
						
							| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // These attributes are simple aliases for certain elements of the 4x4 matrix | 
					
						
							|  |  |  |     inherit attribute unrestricted double a; | 
					
						
							|  |  |  |     inherit attribute unrestricted double b; | 
					
						
							|  |  |  |     inherit attribute unrestricted double c; | 
					
						
							|  |  |  |     inherit attribute unrestricted double d; | 
					
						
							|  |  |  |     inherit attribute unrestricted double e; | 
					
						
							|  |  |  |     inherit attribute unrestricted double f; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     inherit attribute unrestricted double m11; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m12; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m13; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m14; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m21; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m22; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m23; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m24; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m31; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m32; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m33; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m34; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m41; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m42; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m43; | 
					
						
							|  |  |  |     inherit attribute unrestricted double m44; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // Mutable transform methods | 
					
						
							| 
									
										
										
										
											2023-09-03 12:42:50 +02:00
										 |  |  |     DOMMatrix multiplySelf(optional DOMMatrixInit other = {}); | 
					
						
							|  |  |  |     DOMMatrix preMultiplySelf(optional DOMMatrixInit other = {}); | 
					
						
							| 
									
										
										
										
											2023-09-03 12:43:09 +02:00
										 |  |  |     DOMMatrix translateSelf(optional unrestricted double tx = 0, optional unrestricted double ty = 0, optional unrestricted double tz = 0); | 
					
						
							| 
									
										
										
										
											2023-09-07 21:27:34 +02:00
										 |  |  |     DOMMatrix scaleSelf(optional unrestricted double scaleX = 1, optional unrestricted double scaleY, optional unrestricted double scaleZ = 1, optional unrestricted double originX = 0, optional unrestricted double originY = 0, optional unrestricted double originZ = 0); | 
					
						
							|  |  |  |     DOMMatrix scale3dSelf(optional unrestricted double scale = 1, optional unrestricted double originX = 0, optional unrestricted double originY = 0, optional unrestricted double originZ = 0); | 
					
						
							| 
									
										
										
										
											2023-09-07 21:27:41 +02:00
										 |  |  |     DOMMatrix rotateSelf(optional unrestricted double rotX = 0, optional unrestricted double rotY, optional unrestricted double rotZ); | 
					
						
							|  |  |  |     DOMMatrix rotateFromVectorSelf(optional unrestricted double x = 0, optional unrestricted double y = 0); | 
					
						
							|  |  |  |     DOMMatrix rotateAxisAngleSelf(optional unrestricted double x = 0, optional unrestricted double y = 0, optional unrestricted double z = 0, optional unrestricted double angle = 0); | 
					
						
							| 
									
										
										
										
											2023-09-04 18:22:55 +02:00
										 |  |  |     DOMMatrix skewXSelf(optional unrestricted double sx = 0); | 
					
						
							|  |  |  |     DOMMatrix skewYSelf(optional unrestricted double sy = 0); | 
					
						
							| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  |     DOMMatrix invertSelf(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // FIXME: [Exposed=Window] DOMMatrix setMatrixValue(DOMString transformList); | 
					
						
							|  |  |  | }; |