19 lines
503 B
TypeScript
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)
|
|
}
|