DOMMatrixReadOnly.flipX()
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The flipX()
method of the DOMMatrixReadOnly
interface creates a new matrix being the result of the original matrix flipped about the x-axis.
Syntax
DOMMatrix.flipX()
Return value
Returns a DOMMatrix
containing a new matrix being the result of the original matrix flipped about the x-axis, which is equivalent to multiplying the matrix by DOMMatrix(-1, 0, 0, 1, 0, 0)
. The original matrix is not modified.
Examples
This SVG contains two paths in the shape of a triangle, both drawn to the same position. Note that the x co-ordinate of the viewBox attribute is negative, showing us content from both sides of the x-axis.
<svg width="100" height="100" viewBox="-50 0 100 100"> <path fill="red" d="M 0 50 L 50 0 L 50 100 Z" /> <path id="flipped" fill="blue" d="M 0 50 L 50 0 L 50 100 Z" /> </svg>
This JavaScript first creates an identity matrix, then uses the `flipX()` method to create a new matrix, which is then applied to the blue triangle, inverting it across the x-axis. The red triangle is left in place.
const flipped = document.getElementById('flipped'); const matrix = new DOMMatrixReadOnly(); const flippedMatrix = matrix.flipX(); flipped.setAttribute('transform', flippedMatrix.toString());
Screenshot | Live sample |
---|---|
Specifications
Specification |
---|
Geometry Interfaces Module Level 1 (Geometry Interfaces 1) # dom-dommatrixreadonly-flipx |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
flipX |
61 |
79 |
33 |
No |
48 |
11 |
61 |
61 |
33 |
45 |
11 |
8.0 |
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/DOMMatrixReadOnly/flipX