import { transform as svgTransform, createTransform } from 'tiny-svg'; /** * @param {} element * @param {Number} x * @param {Number} y * @param {Number} angle * @param {Number} amount */ export function transform(gfx, x, y, angle, amount) { var translate = createTransform(); translate.setTranslate(x, y); var rotate = createTransform(); rotate.setRotate(angle, 0, 0); var scale = createTransform(); scale.setScale(amount || 1, amount || 1); svgTransform(gfx, [ translate, rotate, scale ]); } /** * @param {SVGElement} element * @param {Number} x * @param {Number} y */ export function translate(gfx, x, y) { var translate = createTransform(); translate.setTranslate(x, y); svgTransform(gfx, translate); } /** * @param {SVGElement} element * @param {Number} angle */ export function rotate(gfx, angle) { var rotate = createTransform(); rotate.setRotate(angle, 0, 0); svgTransform(gfx, rotate); } /** * @param {SVGElement} element * @param {Number} amount */ export function scale(gfx, amount) { var scale = createTransform(); scale.setScale(amount, amount); svgTransform(gfx, scale); }