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