65 lines
2.0 KiB
Java
65 lines
2.0 KiB
Java
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.scaleInY = exports.scaleInX = void 0;
|
|
var matrix_util_1 = require("@antv/matrix-util");
|
|
/**
|
|
* @ignore
|
|
* 沿着 x 方向放大的动画
|
|
* @param shape
|
|
* @param animateCfg
|
|
* @param shapeModel
|
|
*/
|
|
function scaleInX(shape, animateCfg, cfg) {
|
|
var box = shape.getBBox();
|
|
var mappingData = shape.get('origin').mappingData;
|
|
var points = mappingData.points;
|
|
// x 数值如果为负值,那么应该从右往左生长
|
|
var x = points[0].y - points[1].y > 0 ? box.maxX : box.minX;
|
|
var y = (box.minY + box.maxY) / 2;
|
|
shape.applyToMatrix([x, y, 1]);
|
|
var matrix = matrix_util_1.ext.transform(shape.getMatrix(), [
|
|
['t', -x, -y],
|
|
['s', 0.01, 1],
|
|
['t', x, y],
|
|
]);
|
|
shape.setMatrix(matrix);
|
|
shape.animate({
|
|
matrix: matrix_util_1.ext.transform(shape.getMatrix(), [
|
|
['t', -x, -y],
|
|
['s', 100, 1],
|
|
['t', x, y],
|
|
]),
|
|
}, animateCfg);
|
|
}
|
|
exports.scaleInX = scaleInX;
|
|
/**
|
|
* @ignore
|
|
* 沿着 y 方向放大的动画
|
|
* @param shape
|
|
* @param animateCfg
|
|
* @param shapeModel
|
|
*/
|
|
function scaleInY(shape, animateCfg, cfg) {
|
|
var box = shape.getBBox();
|
|
var mappingData = shape.get('origin').mappingData;
|
|
var x = (box.minX + box.maxX) / 2;
|
|
var points = mappingData.points;
|
|
// 数值如果为负值,那么应该从上往下生长,通过 shape 的关键点进行判断
|
|
var y = points[0].y - points[1].y <= 0 ? box.maxY : box.minY;
|
|
shape.applyToMatrix([x, y, 1]);
|
|
var matrix = matrix_util_1.ext.transform(shape.getMatrix(), [
|
|
['t', -x, -y],
|
|
['s', 1, 0.01],
|
|
['t', x, y],
|
|
]);
|
|
shape.setMatrix(matrix);
|
|
shape.animate({
|
|
matrix: matrix_util_1.ext.transform(shape.getMatrix(), [
|
|
['t', -x, -y],
|
|
['s', 1, 100],
|
|
['t', x, y],
|
|
]),
|
|
}, animateCfg);
|
|
}
|
|
exports.scaleInY = scaleInY;
|
|
//# sourceMappingURL=scale-in.js.map |