erratic-gate/src/common/canvas/helpers/useTransform.ts
2019-07-23 14:56:11 +03:00

19 lines
503 B
TypeScript

import { Transform } from '../../math/classes/Transform'
import { multiply } from '../../../modules/vector2/helpers/basic'
/**
*
* @param ctx The context to use
* @param transform The transform to move relative to
*/
export const useTransform = (
ctx: CanvasRenderingContext2D,
{ position, rotation, scale }: Transform
) => {
ctx.translate(...position)
ctx.translate(scale[0] / 2, scale[1] / 2)
ctx.rotate(rotation)
return new Transform(multiply(scale, -0.5), scale, 0)
}