1 | export const create = () => {
|
2 | return [1, 0, 0, 1, 0, 0];
|
3 | };
|
4 | export const getTranslateX = m => {
|
5 | return m[4];
|
6 | };
|
7 | export const getTranslateY = m => {
|
8 | return m[5];
|
9 | };
|
10 | export const getScaleX = m => {
|
11 | return m[0];
|
12 | };
|
13 | export const getScaleY = m => {
|
14 | return m[3];
|
15 | };
|
16 | export const translate = (m, x, y) => {
|
17 | return multiply([1, 0, 0, 1, x, y], m);
|
18 | };
|
19 | export const scale = (m, scaleX, scaleY = scaleX) => {
|
20 | return multiply([scaleX, 0, 0, scaleY, 0, 0], m);
|
21 | };
|
22 | export const apply = (m, [ox, oy]) => {
|
23 | return [m[0] * ox + m[2] * oy + m[4], m[1] * ox + m[3] * oy + m[5]];
|
24 | };
|
25 | export 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 |