DOMMatrixReadOnly

The DOMMatrixReadOnly interface represents a 4x4 matrix, suitable for 2D and 3D operations. If this interface defines only read-only matrices, the DOMMatrix interface which inherits from it, add all the properties and the methods to allow to have modifiable matrices.

A 4x4 matrix is suitable to describe any rotation and translation in 3D.

This interface should be available inside Web workers, though some implementations doesn't allow it yet.

Properties

This interface doesn't inherit any other property.

m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44 Read only
Are double representing each component of a 4x4 matrix. They are read-only, but their counterpart, with the same name, in DOMMatrix aren't.
a, b, c, d, e, f Read only
Are double representing each component of a 4x4 matrix needed for 2D rotations and translations. They are aliases for some components of the 4x4 matrix:
2D 3D equivalent
a m11
b m12
c m21
d m22
e m41
f m42
They are read-only, but their counterpart, with the same name, in DOMMatrix aren't.
DOMMatrixReadOnly.is2D Read only
Is a Boolean indicating if the matrix contains a 2D matrix and only accept 2D transformations.
DOMMatrixReadOnly.isIdentity Read only
Is a Boolean indincating if the matrix identity, that is a matrix with 1 on the components of its diagonal, and 0 elsewhere.

Methods

This interface doesn't inherit any method.

DOMMatrixReadOnly.flipX()
Returns a DOMMatrix containing a new matrix being the result of the original matrix being flipped around the x-axis, that is multiplied by the DOMMatrix(-1, 0, 0, 1, 0, 0). The original matrix is not modified.
DOMMatrixReadOnly.flipY()
Returns a DOMMatrix containing a new matrix being the result of the original matrix being flipped around the y-axis, that is multiplied by the DOMMatrix(1, 0, 0, -1, 0, 0). The original matrix is not modified.
DOMMatrixReadOnly.inverse()
Returns a DOMMatrix containing a new matrix being the result of the original matrix being inverted. The original matrix is not modified. If the matrix cannot be inverted, all its components are set to NaN and is2D() returns false.
DOMMatrixReadOnly.multiply()
Returns a DOMMatrix containing a new matrix being the result of the original matrix being multiplied by the given DOMMatrix. The original matrix is not modified.
DOMMatrixReadOnly.rotateAxisAngle()
Returns a DOMMatrix containing a new matrix being the result of the original matrix being rotated by the given angle and the given vector. The original matrix is not modified.
DOMMatrixReadOnly.rotate()
Returns a DOMMatrix containing a new matrix being the result of the original matrix being rotated by the given angle, with the rotation centered on the origin given. The original matrix is not modified.
DOMMatrixReadOnly.rotateFromVector()
Returns a DOMMatrix containing a new matrix being the result of the original matrix being rotated by the angle between the given vector and (1,0), centered on the origin given. The original matrix is not modified.
DOMMatrixReadOnly.scale()
Returns a DOMMatrix containing a new matrix being the result of the matrix x and y dimensions being scaled by the given factor, centered on the origin given. The original matrix is not modified.
DOMMatrixReadOnly.scale3d()
Returns a DOMMatrix containing a new matrix being the result of the matrix x, y and z dimension being scaled by the given factor, centered on the origin given. The original matrix is not modified.
DOMMatrixReadOnly.scaleNonUniform()
Returns a DOMMatrix containing a new matrix 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. The original matrix is not modified.
DOMMatrixReadOnly.skewX()
Returns a DOMMatrix containing a new matrix being the result of the original matrix being skewed along the x-axis by the given factor. The original matrix is not modified.
DOMMatrixReadOnly.skewY()
Returns a DOMMatrix containing a new matrix being the result of the original matrix being skewed along the y-axis by the given factor. The original matrix is not modified.
DOMMatrixReadOnly.toFloat32Array()
Returns a Float32Array containing the 6 components (a, b, c, d, e, f) in the case of a 2D matrix or the 16 components (m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44) for a 3D matrix.
DOMMatrixReadOnly.toFloat64Array()
Returns a Float64Array containing the 6 components (a, b, c, d, e, f) in the case of a 2D matrix or the 16 components (m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44) for a 3D matrix.
DOMMatrixReadOnly.toJSON()
Returns a JSON representation of the DOMMatrixReadOnly object.
DOMMatrixReadOnly.toString()
Returns a DOMString containing the 6 components separated by a ',' and prefixed by the CSS matrix functional notation, as 'matrix (a, b, c, d, e, f)', in the case of a 2D matrix or matrix3d functional notation and the 16 components,'matrix3d(m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44)', for a 3D matrix.
DOMMatrixReadOnly.transformPoint()
Returns a DOMPoint that is the point given in parameter multiplied by the matrix. But the original point and the matrix aren't modified.
DOMMatrixReadOnly.translate()
Returns a DOMMatrix containing a new matrix being the result of the matrix being translated by the given vector. The original matrix is not modified.

Specifications

Specification Status Comment
Geometry Interfaces Module Level 1
The definition of 'DOMMatrixReadOnly' in that specification.
Candidate Recommendation Initial definition

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
Support in web workersChrome Full support 61Edge No support NoFirefox No support NoIE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android No support NoOpera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
DOMMatrixReadOnly() constructorChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m11Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m12Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m13Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m14Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m21Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m22Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m23Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m24Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m31Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m32Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m33Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m34Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m41Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m42Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m43Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
m44Chrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
aChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
bChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
cChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
dChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
eChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
fChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
is2DChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
isIdentityChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
flipXChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
flipYChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
inverseChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
multiplyChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
rotateChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
rotateAxisAngleChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
rotateFromVectorChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
scaleChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
scale3dChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
scaleNonUniformChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
skewXChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
skewYChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
toFloat32ArrayChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
toFloat64ArrayChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
toJSONChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
toStringChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
transformChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
transformPointChrome Full support 61Edge No support NoFirefox Full support 33IE No support NoOpera Full support 48Safari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile No support NoFirefox Android Full support 33Opera Android Full support 48Safari iOS No support NoSamsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown

See also

Document Tags and Contributors

Last updated by: mfluehr,