1 | import { ext } from '@antv/matrix-util';
|
2 | var transform = ext.transform;
|
3 | export { transform };
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | export function translate(element, x, y) {
|
11 | var matrix = transform(element.getMatrix(), [['t', x, y]]);
|
12 | element.setMatrix(matrix);
|
13 | }
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 | export function getRotateMatrix(element, rotateRadian) {
|
20 | var _a = element.attr(), x = _a.x, y = _a.y;
|
21 | var matrix = transform(element.getMatrix(), [
|
22 | ['t', -x, -y],
|
23 | ['r', rotateRadian],
|
24 | ['t', x, y],
|
25 | ]);
|
26 | return matrix;
|
27 | }
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 | export function rotate(element, rotateRadian) {
|
34 | var matrix = getRotateMatrix(element, rotateRadian);
|
35 | element.setMatrix(matrix);
|
36 | }
|
37 |
|
38 |
|
39 |
|
40 |
|
41 | export function getIdentityMatrix() {
|
42 | return [1, 0, 0, 0, 1, 0, 0, 0, 1];
|
43 | }
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 | export function zoom(element, ratio) {
|
50 | var bbox = element.getBBox();
|
51 | var x = (bbox.minX + bbox.maxX) / 2;
|
52 | var y = (bbox.minY + bbox.maxY) / 2;
|
53 | element.applyToMatrix([x, y, 1]);
|
54 | var matrix = transform(element.getMatrix(), [
|
55 | ['t', -x, -y],
|
56 | ['s', ratio, ratio],
|
57 | ['t', x, y],
|
58 | ]);
|
59 | element.setMatrix(matrix);
|
60 | }
|
61 |
|
\ | No newline at end of file |