The `DOMMatrix` interface represents 4x4 matrices, suitable for 2D and 3D operations.

Documentation DOMMatrix by Mozilla Contributors, licensed under CC-BY-SA 2.5.

See also:

### `new(array64:Float64Array)`

Throws:

`null` DOMError

### `invertSelf():DOMMatrix`

Returns itself,  a `DOMMatrix`, with its new content being the result of the original matrix being inverted. If the matrix cannot be inverted, all its components are set to `NaN` and `is2D()` returns `false`.

### `rotateAxisAngleSelf(x:Float, y:Float, z:Float, angle:Float):DOMMatrix`

Returns itself, a `DOMMatrix`, with its new content being the result of the original matrix being rotated by the given angle and the give vector.

### `rotateFromVectorSelf(x:Float, y:Float):DOMMatrix`

Returns itself, a `DOMMatrix`, with its new content being the result of the original matrix being rotated by the angle between the given vector and (1,0), centered on the origin given.

### `@:value({ originY : 0.0, originX : 0.0 })rotateSelf(angle:Float, originX:Float = 0.0, originY:Float = 0.0):DOMMatrix`

Returns itself, a `DOMMatrix`, with its new content being the result of the original matrix being rotated by the given angle, with the rotation centered on the origin given.

### `@:value({ originZ : 0.0, originY : 0.0, originX : 0.0 })scale3dSelf(scale:Float, originX:Float = 0.0, originY:Float = 0.0, originZ:Float = 0.0):DOMMatrix`

Returns itself, a `DOMMatrix`, with its new content being the result of the matrix x, y and z dimension being scaled by the given factor, centered on the origin given.

### `@:value({ originZ : 0.0, originY : 0.0, originX : 0.0, scaleZ : 1.0, scaleY : 1.0 })scaleNonUniformSelf(scaleX:Float, scaleY:Float = 1.0, scaleZ:Float = 1.0, originX:Float = 0.0, originY:Float = 0.0, originZ:Float = 0.0):DOMMatrix`

Returns itself, a `DOMMatrix`, with its new content being the result of the matrix x, y and z dimension being scaled by the given factor for each dimension, centered on the origin given.

### `@:value({ originY : 0.0, originX : 0.0 })scaleSelf(scale:Float, originX:Float = 0.0, originY:Float = 0.0):DOMMatrix`

Returns itself, a `DOMMatrix`, with its new content being the result of the matrix x and y dimensions being scaled by the given factor, centered on the origin given.

### `setMatrixValue(transformList:String):DOMMatrix`

Returns itself, a `DOMMatrix`, with its describing the matrix representing the same transformation as the CSS `transform` functions given in parameter.

Throws:

`null` DOMError

### `skewXSelf(sx:Float):DOMMatrix`

Returns itself, a `DOMMatrix`, with its new content being the result of the original matrix being skewed along the x-axis by the given factor.

### `skewYSelf(sy:Float):DOMMatrix`

Returns itself, a `DOMMatrix`, with its new content being the result of the original matrix being skewed along the y-axis by the given factor.

### `@:value({ tz : 0.0 })translateSelf(tx:Float, ty:Float, tz:Float = 0.0):DOMMatrix`

Returns itself, a `DOMMatrix`, with its new content being the result of the matrix being translated by the given vector.