| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  | #import <Geometry/DOMMatrix.idl> | 
					
						
							| 
									
										
										
										
											2023-08-15 13:16:45 +02:00
										 |  |  | #import <Geometry/DOMPoint.idl> | 
					
						
							| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | // https://drafts.fxtf.org/geometry/#dommatrixreadonly | 
					
						
							| 
									
										
										
										
											2023-09-03 02:00:01 +12:00
										 |  |  | [Exposed=(Window,Worker), Serializable] | 
					
						
							| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  | interface DOMMatrixReadOnly { | 
					
						
							|  |  |  |     constructor(optional (DOMString or sequence<unrestricted double>) init); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-03 12:37:29 +02:00
										 |  |  |     [NewObject] static DOMMatrixReadOnly fromMatrix(optional DOMMatrixInit other = {}); | 
					
						
							| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  |     // FIXME: [NewObject] static DOMMatrixReadOnly fromFloat32Array(Float32Array array32); | 
					
						
							|  |  |  |     // FIXME: [NewObject] static DOMMatrixReadOnly fromFloat64Array(Float64Array array64); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // These attributes are simple aliases for certain elements of the 4x4 matrix | 
					
						
							|  |  |  |     readonly attribute unrestricted double a; | 
					
						
							|  |  |  |     readonly attribute unrestricted double b; | 
					
						
							|  |  |  |     readonly attribute unrestricted double c; | 
					
						
							|  |  |  |     readonly attribute unrestricted double d; | 
					
						
							|  |  |  |     readonly attribute unrestricted double e; | 
					
						
							|  |  |  |     readonly attribute unrestricted double f; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     readonly attribute unrestricted double m11; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m12; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m13; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m14; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m21; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m22; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m23; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m24; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m31; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m32; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m33; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m34; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m41; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m42; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m43; | 
					
						
							|  |  |  |     readonly attribute unrestricted double m44; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     readonly attribute boolean is2D; | 
					
						
							|  |  |  |     readonly attribute boolean isIdentity; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // Immutable transform methods | 
					
						
							| 
									
										
										
										
											2023-09-03 12:43:09 +02:00
										 |  |  |     [NewObject] DOMMatrix translate(optional unrestricted double tx = 0, optional unrestricted double ty = 0, optional unrestricted double tz = 0); | 
					
						
							| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  |     // FIXME: [NewObject] DOMMatrix scale(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); | 
					
						
							|  |  |  |     // FIXME: [NewObject] DOMMatrix scaleNonUniform(optional unrestricted double scaleX = 1, optional unrestricted double scaleY = 1); | 
					
						
							|  |  |  |     // FIXME: [NewObject] DOMMatrix scale3d(optional unrestricted double scale = 1, optional unrestricted double originX = 0, optional unrestricted double originY = 0, optional unrestricted double originZ = 0); | 
					
						
							|  |  |  |     // FIXME: [NewObject] DOMMatrix rotate(optional unrestricted double rotX = 0, optional unrestricted double rotY, optional unrestricted double rotZ); | 
					
						
							|  |  |  |     // FIXME: [NewObject] DOMMatrix rotateFromVector(optional unrestricted double x = 0, optional unrestricted double y = 0); | 
					
						
							|  |  |  |     // FIXME: [NewObject] DOMMatrix rotateAxisAngle(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
										 |  |  |     [NewObject] DOMMatrix skewX(optional unrestricted double sx = 0); | 
					
						
							|  |  |  |     [NewObject] DOMMatrix skewY(optional unrestricted double sy = 0); | 
					
						
							| 
									
										
										
										
											2023-09-03 12:42:50 +02:00
										 |  |  |     [NewObject] DOMMatrix multiply(optional DOMMatrixInit other = {}); | 
					
						
							| 
									
										
										
										
											2023-09-04 18:23:32 +02:00
										 |  |  |     [NewObject] DOMMatrix flipX(); | 
					
						
							|  |  |  |     [NewObject] DOMMatrix flipY(); | 
					
						
							| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  |     [NewObject] DOMMatrix inverse(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-15 13:16:45 +02:00
										 |  |  |     [NewObject] DOMPoint transformPoint(optional DOMPointInit point = {}); | 
					
						
							| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  |     // FIXME: [NewObject] Float32Array toFloat32Array(); | 
					
						
							|  |  |  |     // FIXME: [NewObject] Float64Array toFloat64Array(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     [Exposed=Window] stringifier; | 
					
						
							| 
									
										
										
										
											2023-03-23 16:43:32 +00:00
										 |  |  |     [Default] object toJSON(); | 
					
						
							| 
									
										
										
										
											2023-02-27 18:04:51 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | dictionary DOMMatrix2DInit { | 
					
						
							|  |  |  |     unrestricted double a; | 
					
						
							|  |  |  |     unrestricted double b; | 
					
						
							|  |  |  |     unrestricted double c; | 
					
						
							|  |  |  |     unrestricted double d; | 
					
						
							|  |  |  |     unrestricted double e; | 
					
						
							|  |  |  |     unrestricted double f; | 
					
						
							|  |  |  |     unrestricted double m11; | 
					
						
							|  |  |  |     unrestricted double m12; | 
					
						
							|  |  |  |     unrestricted double m21; | 
					
						
							|  |  |  |     unrestricted double m22; | 
					
						
							|  |  |  |     unrestricted double m41; | 
					
						
							|  |  |  |     unrestricted double m42; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | dictionary DOMMatrixInit : DOMMatrix2DInit { | 
					
						
							|  |  |  |     unrestricted double m13 = 0; | 
					
						
							|  |  |  |     unrestricted double m14 = 0; | 
					
						
							|  |  |  |     unrestricted double m23 = 0; | 
					
						
							|  |  |  |     unrestricted double m24 = 0; | 
					
						
							|  |  |  |     unrestricted double m31 = 0; | 
					
						
							|  |  |  |     unrestricted double m32 = 0; | 
					
						
							|  |  |  |     unrestricted double m33 = 1; | 
					
						
							|  |  |  |     unrestricted double m34 = 0; | 
					
						
							|  |  |  |     unrestricted double m43 = 0; | 
					
						
							|  |  |  |     unrestricted double m44 = 1; | 
					
						
							|  |  |  |     boolean is2D; | 
					
						
							|  |  |  | }; |