UNPKG

3.39 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.getConstraint = exports.getShapeAttrs = void 0;
4var util_1 = require("@antv/util");
5var get_path_points_1 = require("../util/get-path-points");
6var get_style_1 = require("../util/get-style");
7var path_1 = require("../util/path");
8function getPath(points, isInCircle, smooth, registeredShape, constraint) {
9 var path = [];
10 if (points.length) {
11 var topLinePoints_1 = []; // area 区域上部分
12 var bottomLinePoints_1 = []; // area 区域下部分
13 for (var i = 0, len = points.length; i < len; i++) {
14 var point = points[i];
15 topLinePoints_1.push(point[1]);
16 bottomLinePoints_1.push(point[0]);
17 }
18 bottomLinePoints_1 = bottomLinePoints_1.reverse();
19 (0, util_1.each)([topLinePoints_1, bottomLinePoints_1], function (pointsData, index) {
20 var subPath = [];
21 var parsedPoints = registeredShape.parsePoints(pointsData);
22 var p1 = parsedPoints[0];
23 if (topLinePoints_1.length === 1 && bottomLinePoints_1.length === 1) {
24 // 都只有一个点,绘制一条竖线
25 subPath =
26 index === 0
27 ? [
28 ['M', p1.x - 0.5, p1.y],
29 ['L', p1.x + 0.5, p1.y],
30 ]
31 : [
32 ['L', p1.x + 0.5, p1.y],
33 ['L', p1.x - 0.5, p1.y],
34 ];
35 }
36 else {
37 if (isInCircle) {
38 parsedPoints.push({ x: p1.x, y: p1.y });
39 }
40 if (smooth) {
41 subPath = (0, path_1.getSplinePath)(parsedPoints, false, constraint);
42 }
43 else {
44 subPath = (0, path_1.getLinePath)(parsedPoints, false);
45 }
46 if (index > 0) {
47 subPath[0][0] = 'L';
48 }
49 }
50 path = path.concat(subPath);
51 });
52 path.push(['Z']);
53 }
54 return path;
55}
56/**
57 * @ignore
58 * Gets shape attrs
59 * @param cfg
60 * @param isStroke
61 * @param smooth
62 * @param registeredShape
63 * @param [constraint]
64 * @returns
65 */
66function getShapeAttrs(cfg, isStroke, smooth, registeredShape, constraint) {
67 var attrs = (0, get_style_1.getStyle)(cfg, isStroke, !isStroke, 'lineWidth');
68 var connectNulls = cfg.connectNulls, isInCircle = cfg.isInCircle, points = cfg.points, showSinglePoint = cfg.showSinglePoint;
69 var pathPoints = (0, get_path_points_1.getPathPoints)(points, connectNulls, showSinglePoint); // 根据 connectNulls 配置获取图形关键点
70 var path = [];
71 for (var i = 0, len = pathPoints.length; i < len; i++) {
72 var eachPoints = pathPoints[i];
73 path = path.concat(getPath(eachPoints, isInCircle, smooth, registeredShape, constraint));
74 }
75 attrs.path = path;
76 return attrs;
77}
78exports.getShapeAttrs = getShapeAttrs;
79/**
80 * @ignore
81 * Gets constraint
82 * @param coordinate
83 * @returns constraint
84 */
85function getConstraint(coordinate) {
86 var start = coordinate.start, end = coordinate.end;
87 return [
88 [start.x, end.y],
89 [end.x, start.y],
90 ];
91}
92exports.getConstraint = getConstraint;
93//# sourceMappingURL=util.js.map
\No newline at end of file