Many of SVG's graphics operations utilize 2x3 matrices of the form:

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

### `a:Float`

A float representing the a component of the matrix.

### `b:Float`

A float representing the b component of the matrix.

### `c:Float`

A float representing the c component of the matrix.

### `d:Float`

A float representing the d component of the matrix.

### `e:Float`

A float representing the e component of the matrix.

### `f:Float`

A float representing the f component of the matrix.

### `flipX():Matrix`

Post-multiplies the transformation [-1 0 0 1 0 0] and returns the resulting matrix as `SVGMatrix`.

### `flipY():Matrix`

Post-multiplies the transformation [1 0 0 -1 0 0] and returns the resulting matrix as `SVGMatrix`.

### `inverse():Matrix`

Returns the inverse matrix as `SVGMatrix`.

Throws:

`null` DOMError

### `multiply(secondMatrix:Matrix):Matrix`

Performs matrix multiplication. This matrix is post-multiplied by another matrix, returning the resulting new matrix as `SVGMatrix`.

### `rotate(angle:Float):Matrix`

Post-multiplies a rotation transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.

### `rotateFromVector(x:Float, y:Float):Matrix`

Post-multiplies a rotation transformation on the current matrix and returns the resulting matrix as `SVGMatrix`. The rotation angle is determined by taking (+/-) atan(y/x). The direction of the vector (x, y) determines whether the positive or negative angle value is used.

Throws:

`null` DOMError

### `scale(scaleFactor:Float):Matrix`

Post-multiplies a uniform scale transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.

### `scaleNonUniform(scaleFactorX:Float, scaleFactorY:Float):Matrix`

Post-multiplies a non-uniform scale transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.

### `skewX(angle:Float):Matrix`

Post-multiplies a skewX transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.

Throws:

`null` DOMError

### `skewY(angle:Float):Matrix`

Post-multiplies a skewY transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.

Throws:

`null` DOMError

### `translate(x:Float, y:Float):Matrix`

Post-multiplies a translation transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.