immutable-transform-matrix
Version:
A matrix library using ImmutableJS data structutes
43 lines (28 loc) • 1.32 kB
Markdown
[](https://travis-ci.org/HarryGogonis/immutable-transform-matrix)
[](https://coveralls.io/github/HarryGogonis/immutable-transform-matrix?branch=master)
[](https://david-dm.org/harrygogonis/immutable-transform-matrix)
A library for creating affine transform matrix (3x3) that extend an [Immutable Map](https://facebook.github.io/immutable-js/docs/#/Map).
These matrices can be used for matrix calcuations on SVG CTMs (current transform matrix).
Inspired by [transformation-matrix-js](https://www.npmjs.com/package/transformation-matrix-js)
## [API Documentation](docs/)
## Install
```sh
yarn add immutable-transform-matrix
```
## Examples
```js
import { Matrix } from 'immutable-transform-matrix'
import { isImmutable } from 'immutable'
const m1 = new Matrix()
const m2 = m1.translate(10, 20)
isImmutable(m1) // true
m1.get('e') // 0
m2.get('e') // 10
```
```jsx
const transform = new Matrix()
.scale(2)
.toString()
const ViewPort = () => <g transform={transform} />
```