1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var tslib_1 = require("tslib");
|
4 | var util_1 = require("@antv/util");
|
5 | var base_1 = require("../base");
|
6 | var get_style_1 = require("../util/get-style");
|
7 |
|
8 | function getTickPoints(pointInfo) {
|
9 | var _a;
|
10 | var x = pointInfo.x, y = pointInfo.y, y0 = pointInfo.y0, size = pointInfo.size;
|
11 | var yMin;
|
12 | var yMax;
|
13 | if ((0, util_1.isArray)(y)) {
|
14 | _a = tslib_1.__read(y, 2), yMin = _a[0], yMax = _a[1];
|
15 | }
|
16 | else {
|
17 | yMin = y0;
|
18 | yMax = y;
|
19 | }
|
20 | var xMax = x + size / 2;
|
21 | var xMin = x - size / 2;
|
22 |
|
23 |
|
24 |
|
25 |
|
26 | return [
|
27 | { x: x, y: yMin },
|
28 | { x: x, y: yMax },
|
29 | { x: xMin, y: yMin },
|
30 | { x: xMax, y: yMin },
|
31 | { x: xMin, y: yMax },
|
32 | { x: xMax, y: yMax },
|
33 | ];
|
34 | }
|
35 |
|
36 | function getTickPath(points) {
|
37 | return [
|
38 | ['M', points[0].x, points[0].y],
|
39 | ['L', points[1].x, points[1].y],
|
40 | ['M', points[2].x, points[2].y],
|
41 | ['L', points[3].x, points[3].y],
|
42 | ['M', points[4].x, points[4].y],
|
43 | ['L', points[5].x, points[5].y],
|
44 | ];
|
45 | }
|
46 |
|
47 | (0, base_1.registerShape)('interval', 'tick', {
|
48 | getPoints: function (shapePoint) {
|
49 | return getTickPoints(shapePoint);
|
50 | },
|
51 | draw: function (cfg, container) {
|
52 | var style = (0, get_style_1.getStyle)(cfg, true, false);
|
53 | var path = this.parsePath(getTickPath(cfg.points));
|
54 | var shape = container.addShape('path', {
|
55 | attrs: tslib_1.__assign(tslib_1.__assign({}, style), { path: path }),
|
56 | name: 'interval',
|
57 | });
|
58 | return shape;
|
59 | },
|
60 | getMarker: function (markerCfg) {
|
61 | var color = markerCfg.color;
|
62 | return {
|
63 | symbol: function (x, y, r) {
|
64 | return [
|
65 | ['M', x - r / 2, y - r],
|
66 | ['L', x + r / 2, y - r],
|
67 | ['M', x, y - r],
|
68 | ['L', x, y + r],
|
69 | ['M', x - r / 2, y + r],
|
70 | ['L', x + r / 2, y + r],
|
71 | ];
|
72 | },
|
73 | style: {
|
74 | r: 5,
|
75 | stroke: color,
|
76 | },
|
77 | };
|
78 | },
|
79 | });
|
80 |
|
\ | No newline at end of file |