UNPKG

832 BJavaScriptView Raw
1export const create = () => {
2 return [1, 0, 0, 1, 0, 0];
3};
4export const getTranslateX = m => {
5 return m[4];
6};
7export const getTranslateY = m => {
8 return m[5];
9};
10export const getScaleX = m => {
11 return m[0];
12};
13export const getScaleY = m => {
14 return m[3];
15};
16export const translate = (m, x, y) => {
17 return multiply([1, 0, 0, 1, x, y], m);
18};
19export const scale = (m, scaleX, scaleY = scaleX) => {
20 return multiply([scaleX, 0, 0, scaleY, 0, 0], m);
21};
22export const apply = (m, [ox, oy]) => {
23 return [m[0] * ox + m[2] * oy + m[4], m[1] * ox + m[3] * oy + m[5]];
24};
25export const multiply = (m1, m2) => {
26 return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
27};
\No newline at end of file