mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 00:22:43 +00:00 
			
		
		
		
	 a90667e79c
			
		
	
	
		a90667e79c
		
	
	
	
	
		
			
			This is currently missing a lot of functions and initialisation from a <transform-list> string, but is enough for Ruffle.
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #import <Geometry/DOMMatrixReadOnly.idl>
 | |
| 
 | |
| // https://drafts.fxtf.org/geometry/#dommatrix
 | |
| // FIXME: LegacyWindowAlias currently doesn't do anything.
 | |
| [Exposed=(Window,Worker), Serializable, LegacyWindowAlias=(SVGMatrix, WebKitCSSMatrix), UseNewAKString]
 | |
| interface DOMMatrix : DOMMatrixReadOnly {
 | |
|     constructor(optional (DOMString or sequence<unrestricted double>) init);
 | |
| 
 | |
|     // FIXME: [NewObject] static DOMMatrix fromMatrix(optional DOMMatrixInit other = {});
 | |
|     // FIXME: [NewObject] static DOMMatrix fromFloat32Array(Float32Array array32);
 | |
|     // FIXME: [NewObject] static DOMMatrix fromFloat64Array(Float64Array array64);
 | |
| 
 | |
|     // 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
 | |
|     // FIXME: DOMMatrix multiplySelf(optional DOMMatrixInit other = {});
 | |
|     // FIXME: DOMMatrix preMultiplySelf(optional DOMMatrixInit other = {});
 | |
|     // FIXME: DOMMatrix translateSelf(optional unrestricted double tx = 0, optional unrestricted double ty = 0, optional unrestricted double tz = 0);
 | |
|     // FIXME: 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);
 | |
|     // FIXME: DOMMatrix scale3dSelf(optional unrestricted double scale = 1, optional unrestricted double originX = 0, optional unrestricted double originY = 0, optional unrestricted double originZ = 0);
 | |
|     // FIXME: DOMMatrix rotateSelf(optional unrestricted double rotX = 0, optional unrestricted double rotY, optional unrestricted double rotZ);
 | |
|     // FIXME: DOMMatrix rotateFromVectorSelf(optional unrestricted double x = 0, optional unrestricted double y = 0);
 | |
|     // FIXME: DOMMatrix rotateAxisAngleSelf(optional unrestricted double x = 0, optional unrestricted double y = 0, optional unrestricted double z = 0, optional unrestricted double angle = 0);
 | |
|     // FIXME: DOMMatrix skewXSelf(optional unrestricted double sx = 0);
 | |
|     // FIXME: DOMMatrix skewYSelf(optional unrestricted double sy = 0);
 | |
|     DOMMatrix invertSelf();
 | |
| 
 | |
|     // FIXME: [Exposed=Window] DOMMatrix setMatrixValue(DOMString transformList);
 | |
| };
 |