UNPKG

exarcheia-flipbook

Version:
36 lines (26 loc) 670 B
import { identity multiply perspective translate translate3d rotateY toString } from 'rematrix' export default class Matrix constructor: (arg) -> if arg if arg.m @m = [arg.m...] else @m = [arg...] else @m = identity() clone: -> new Matrix @ multiply: (m) -> @m = multiply @m, m perspective: (d) -> @multiply perspective d transformX: (x) -> (x * @m[0] + @m[12]) / (x * @m[3] + @m[15]) translate: (x, y) -> @multiply translate x, y translate3d: (x, y, z) -> @multiply translate3d x, y, z rotateY: (deg) -> @multiply rotateY deg toString: -> toString @m