@plait/draw 0.55.1 → 0.56.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/constants/geometry.d.ts +69 -3
- package/engines/basic-shapes/ellipse.d.ts +8 -3
- package/engines/flowchart/database.d.ts +2 -0
- package/engines/flowchart/document.d.ts +2 -0
- package/engines/flowchart/hard-disk.d.ts +2 -0
- package/engines/flowchart/internal-storage.d.ts +2 -0
- package/engines/flowchart/multi-document.d.ts +4 -0
- package/engines/flowchart/note-curly-left.d.ts +2 -0
- package/engines/flowchart/note-curly-right.d.ts +2 -0
- package/engines/flowchart/note-square.d.ts +2 -0
- package/esm2022/constants/geometry.mjs +53 -7
- package/esm2022/engines/basic-shapes/ellipse.mjs +49 -36
- package/esm2022/engines/basic-shapes/pentagon-arrow.mjs +7 -4
- package/esm2022/engines/basic-shapes/process-arrow.mjs +5 -5
- package/esm2022/engines/basic-shapes/round-rectangle.mjs +2 -3
- package/esm2022/engines/flowchart/database.mjs +84 -0
- package/esm2022/engines/flowchart/delay.mjs +2 -3
- package/esm2022/engines/flowchart/document.mjs +81 -0
- package/esm2022/engines/flowchart/hard-disk.mjs +84 -0
- package/esm2022/engines/flowchart/internal-storage.mjs +47 -0
- package/esm2022/engines/flowchart/multi-document.mjs +143 -0
- package/esm2022/engines/flowchart/note-curly-left.mjs +50 -0
- package/esm2022/engines/flowchart/note-curly-right.mjs +50 -0
- package/esm2022/engines/flowchart/note-square.mjs +46 -0
- package/esm2022/engines/flowchart/or.mjs +2 -2
- package/esm2022/engines/flowchart/stored-data.mjs +2 -3
- package/esm2022/engines/flowchart/summing-junction.mjs +2 -2
- package/esm2022/engines/flowchart/terminal.mjs +2 -3
- package/esm2022/engines/index.mjs +18 -2
- package/esm2022/generators/line-active.generator.mjs +15 -13
- package/esm2022/generators/line-auto-complete.generator.mjs +2 -1
- package/esm2022/geometry.component.mjs +12 -20
- package/esm2022/image.component.mjs +8 -8
- package/esm2022/interfaces/geometry.mjs +9 -1
- package/esm2022/line.component.mjs +6 -6
- package/esm2022/plugins/with-draw-fragment.mjs +8 -8
- package/esm2022/plugins/with-draw-hotkey.mjs +5 -5
- package/esm2022/plugins/with-draw-rotate.mjs +6 -7
- package/esm2022/plugins/with-draw.mjs +3 -3
- package/esm2022/plugins/with-geometry-create.mjs +35 -22
- package/esm2022/plugins/with-geometry-resize.mjs +4 -5
- package/esm2022/plugins/with-line-auto-complete-reaction.mjs +6 -4
- package/esm2022/plugins/with-line-text-move.mjs +5 -5
- package/esm2022/plugins/with-line-text.mjs +11 -7
- package/esm2022/transforms/geometry.mjs +5 -3
- package/esm2022/utils/geometry.mjs +12 -8
- package/esm2022/utils/memorize.mjs +16 -3
- package/esm2022/utils/selected.mjs +4 -4
- package/fesm2022/plait-draw.mjs +756 -152
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/generators/line-auto-complete.generator.d.ts +1 -0
- package/geometry.component.d.ts +1 -4
- package/image.component.d.ts +1 -3
- package/interfaces/geometry.d.ts +9 -1
- package/line.component.d.ts +1 -3
- package/package.json +1 -1
- package/utils/geometry.d.ts +21 -1
- package/utils/selected.d.ts +2 -2
- package/engines/basic-shapes/circle.d.ts +0 -8
- package/esm2022/engines/basic-shapes/circle.mjs +0 -51
package/constants/geometry.d.ts
CHANGED
|
@@ -17,11 +17,21 @@ export declare const DefaultBasicShapeProperty: {
|
|
|
17
17
|
strokeColor: string;
|
|
18
18
|
strokeWidth: number;
|
|
19
19
|
};
|
|
20
|
-
export declare const
|
|
20
|
+
export declare const DefaultPentagonArrowProperty: {
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
};
|
|
24
|
+
export declare const DefaultTwoWayArrowProperty: {
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
};
|
|
28
|
+
export declare const DefaultArrowProperty: {
|
|
29
|
+
width: number;
|
|
30
|
+
height: number;
|
|
31
|
+
};
|
|
32
|
+
export declare const DefaultCloudProperty: {
|
|
21
33
|
width: number;
|
|
22
34
|
height: number;
|
|
23
|
-
strokeColor: string;
|
|
24
|
-
strokeWidth: number;
|
|
25
35
|
};
|
|
26
36
|
export declare const DefaultTextProperty: {
|
|
27
37
|
width: number;
|
|
@@ -39,6 +49,14 @@ export declare const DefaultFlowchartProperty: {
|
|
|
39
49
|
width: number;
|
|
40
50
|
height: number;
|
|
41
51
|
};
|
|
52
|
+
export declare const DefaultDataBaseProperty: {
|
|
53
|
+
width: number;
|
|
54
|
+
height: number;
|
|
55
|
+
};
|
|
56
|
+
export declare const DefaultInternalStorageProperty: {
|
|
57
|
+
width: number;
|
|
58
|
+
height: number;
|
|
59
|
+
};
|
|
42
60
|
export declare const DefaultDecisionProperty: {
|
|
43
61
|
width: number;
|
|
44
62
|
height: number;
|
|
@@ -47,6 +65,18 @@ export declare const DefaultDataProperty: {
|
|
|
47
65
|
width: number;
|
|
48
66
|
height: number;
|
|
49
67
|
};
|
|
68
|
+
export declare const DefaultDocumentProperty: {
|
|
69
|
+
width: number;
|
|
70
|
+
height: number;
|
|
71
|
+
};
|
|
72
|
+
export declare const DefaultNoteProperty: {
|
|
73
|
+
width: number;
|
|
74
|
+
height: number;
|
|
75
|
+
};
|
|
76
|
+
export declare const DefaultMultiDocumentProperty: {
|
|
77
|
+
width: number;
|
|
78
|
+
height: number;
|
|
79
|
+
};
|
|
50
80
|
export declare const DefaultManualInputProperty: {
|
|
51
81
|
width: number;
|
|
52
82
|
height: number;
|
|
@@ -55,6 +85,10 @@ export declare const DefaultMergeProperty: {
|
|
|
55
85
|
width: number;
|
|
56
86
|
height: number;
|
|
57
87
|
};
|
|
88
|
+
export declare const DefaultBasicShapePropertyMap: Record<string, {
|
|
89
|
+
width: number;
|
|
90
|
+
height: number;
|
|
91
|
+
}>;
|
|
58
92
|
export declare const DefaultFlowchartPropertyMap: {
|
|
59
93
|
connector: {
|
|
60
94
|
width: number;
|
|
@@ -116,6 +150,38 @@ export declare const DefaultFlowchartPropertyMap: {
|
|
|
116
150
|
width: number;
|
|
117
151
|
height: number;
|
|
118
152
|
};
|
|
153
|
+
document: {
|
|
154
|
+
width: number;
|
|
155
|
+
height: number;
|
|
156
|
+
};
|
|
157
|
+
multiDocument: {
|
|
158
|
+
width: number;
|
|
159
|
+
height: number;
|
|
160
|
+
};
|
|
161
|
+
database: {
|
|
162
|
+
width: number;
|
|
163
|
+
height: number;
|
|
164
|
+
};
|
|
165
|
+
hardDisk: {
|
|
166
|
+
width: number;
|
|
167
|
+
height: number;
|
|
168
|
+
};
|
|
169
|
+
internalStorage: {
|
|
170
|
+
width: number;
|
|
171
|
+
height: number;
|
|
172
|
+
};
|
|
173
|
+
noteCurlyLeft: {
|
|
174
|
+
width: number;
|
|
175
|
+
height: number;
|
|
176
|
+
};
|
|
177
|
+
noteCurlyRight: {
|
|
178
|
+
width: number;
|
|
179
|
+
height: number;
|
|
180
|
+
};
|
|
181
|
+
noteSquare: {
|
|
182
|
+
width: number;
|
|
183
|
+
height: number;
|
|
184
|
+
};
|
|
119
185
|
};
|
|
120
186
|
export declare const LINE_HIT_GEOMETRY_BUFFER = 10;
|
|
121
187
|
export declare const LINE_SNAPPING_BUFFER = 6;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ShapeEngine } from '../../interfaces';
|
|
1
|
+
import { PlaitBoard, RectangleClient } from '@plait/core';
|
|
2
|
+
import { PlaitGeometry, ShapeEngine } from '../../interfaces';
|
|
3
|
+
import { Options } from 'roughjs/bin/core';
|
|
4
|
+
export interface CreateEllipseOptions {
|
|
5
|
+
draw?: (board: PlaitBoard, rectangle: RectangleClient, options: Options) => SVGGElement;
|
|
6
|
+
getTextRectangle?: (element: PlaitGeometry) => RectangleClient;
|
|
7
|
+
}
|
|
8
|
+
export declare function createEllipseEngine(createOptions?: CreateEllipseOptions): ShapeEngine;
|
|
3
9
|
export declare const EllipseEngine: ShapeEngine;
|
|
4
|
-
export declare function getNearestPointBetweenPointAndEllipse(point: Point, center: Point, rx: number, ry: number, rotation?: number): Point;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ACTIVE_STROKE_WIDTH } from '@plait/core';
|
|
2
|
-
import { FlowchartSymbols } from '../interfaces';
|
|
2
|
+
import { BasicShapes, FlowchartSymbols } from '../interfaces';
|
|
3
3
|
export const ShapeDefaultSpace = {
|
|
4
4
|
rectangleAndText: 4
|
|
5
5
|
};
|
|
@@ -19,11 +19,21 @@ export const DefaultBasicShapeProperty = {
|
|
|
19
19
|
strokeColor: '#333',
|
|
20
20
|
strokeWidth: 2
|
|
21
21
|
};
|
|
22
|
-
export const
|
|
22
|
+
export const DefaultPentagonArrowProperty = {
|
|
23
23
|
width: 120,
|
|
24
|
-
height:
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
height: 50
|
|
25
|
+
};
|
|
26
|
+
export const DefaultTwoWayArrowProperty = {
|
|
27
|
+
width: 138,
|
|
28
|
+
height: 80
|
|
29
|
+
};
|
|
30
|
+
export const DefaultArrowProperty = {
|
|
31
|
+
width: 100,
|
|
32
|
+
height: 80
|
|
33
|
+
};
|
|
34
|
+
export const DefaultCloudProperty = {
|
|
35
|
+
width: 120,
|
|
36
|
+
height: 100
|
|
27
37
|
};
|
|
28
38
|
export const DefaultTextProperty = {
|
|
29
39
|
width: 36,
|
|
@@ -41,6 +51,14 @@ export const DefaultFlowchartProperty = {
|
|
|
41
51
|
width: 120,
|
|
42
52
|
height: 60
|
|
43
53
|
};
|
|
54
|
+
export const DefaultDataBaseProperty = {
|
|
55
|
+
width: 70,
|
|
56
|
+
height: 80
|
|
57
|
+
};
|
|
58
|
+
export const DefaultInternalStorageProperty = {
|
|
59
|
+
width: 80,
|
|
60
|
+
height: 80
|
|
61
|
+
};
|
|
44
62
|
export const DefaultDecisionProperty = {
|
|
45
63
|
width: 140,
|
|
46
64
|
height: 70
|
|
@@ -49,6 +67,18 @@ export const DefaultDataProperty = {
|
|
|
49
67
|
width: 124,
|
|
50
68
|
height: 60
|
|
51
69
|
};
|
|
70
|
+
export const DefaultDocumentProperty = {
|
|
71
|
+
width: 120,
|
|
72
|
+
height: 70
|
|
73
|
+
};
|
|
74
|
+
export const DefaultNoteProperty = {
|
|
75
|
+
width: 160,
|
|
76
|
+
height: 100
|
|
77
|
+
};
|
|
78
|
+
export const DefaultMultiDocumentProperty = {
|
|
79
|
+
width: 120,
|
|
80
|
+
height: 80
|
|
81
|
+
};
|
|
52
82
|
export const DefaultManualInputProperty = {
|
|
53
83
|
width: 117,
|
|
54
84
|
height: 59
|
|
@@ -57,6 +87,14 @@ export const DefaultMergeProperty = {
|
|
|
57
87
|
width: 47,
|
|
58
88
|
height: 33
|
|
59
89
|
};
|
|
90
|
+
export const DefaultBasicShapePropertyMap = {
|
|
91
|
+
[BasicShapes.pentagonArrow]: DefaultPentagonArrowProperty,
|
|
92
|
+
[BasicShapes.processArrow]: DefaultPentagonArrowProperty,
|
|
93
|
+
[BasicShapes.cloud]: DefaultCloudProperty,
|
|
94
|
+
[BasicShapes.twoWayArrow]: DefaultTwoWayArrowProperty,
|
|
95
|
+
[BasicShapes.leftArrow]: DefaultArrowProperty,
|
|
96
|
+
[BasicShapes.rightArrow]: DefaultArrowProperty
|
|
97
|
+
};
|
|
60
98
|
export const DefaultFlowchartPropertyMap = {
|
|
61
99
|
[FlowchartSymbols.connector]: DefaultConnectorProperty,
|
|
62
100
|
[FlowchartSymbols.process]: DefaultFlowchartProperty,
|
|
@@ -72,9 +110,17 @@ export const DefaultFlowchartPropertyMap = {
|
|
|
72
110
|
[FlowchartSymbols.or]: DefaultConnectorProperty,
|
|
73
111
|
[FlowchartSymbols.summingJunction]: DefaultConnectorProperty,
|
|
74
112
|
[FlowchartSymbols.predefinedProcess]: DefaultFlowchartProperty,
|
|
75
|
-
[FlowchartSymbols.offPage]: DefaultFlowchartProperty
|
|
113
|
+
[FlowchartSymbols.offPage]: DefaultFlowchartProperty,
|
|
114
|
+
[FlowchartSymbols.document]: DefaultDocumentProperty,
|
|
115
|
+
[FlowchartSymbols.multiDocument]: DefaultMultiDocumentProperty,
|
|
116
|
+
[FlowchartSymbols.database]: DefaultDataBaseProperty,
|
|
117
|
+
[FlowchartSymbols.hardDisk]: DefaultFlowchartProperty,
|
|
118
|
+
[FlowchartSymbols.internalStorage]: DefaultInternalStorageProperty,
|
|
119
|
+
[FlowchartSymbols.noteCurlyLeft]: DefaultNoteProperty,
|
|
120
|
+
[FlowchartSymbols.noteCurlyRight]: DefaultNoteProperty,
|
|
121
|
+
[FlowchartSymbols.noteSquare]: DefaultNoteProperty
|
|
76
122
|
};
|
|
77
123
|
export const LINE_HIT_GEOMETRY_BUFFER = 10;
|
|
78
124
|
export const LINE_SNAPPING_BUFFER = 6;
|
|
79
125
|
export const LINE_SNAPPING_CONNECTOR_BUFFER = 8;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixnQkFBZ0IsRUFBRSxDQUFDO0NBQ3RCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNoQyxXQUFXLEVBQUUsQ0FBQztJQUNkLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLElBQUksRUFBRSxNQUFNO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3RDLFdBQVcsRUFBRSxtQkFBbUI7SUFDaEMsb0JBQW9CLEVBQUUsbUJBQW1CO0NBQzVDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUNyQyxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxHQUFHO0lBQ1gsV0FBVyxFQUFFLE1BQU07SUFDbkIsV0FBVyxFQUFFLENBQUM7Q0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHO0lBQ3JDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxXQUFXLEVBQUUsTUFBTTtJQUNuQixXQUFXLEVBQUUsQ0FBQztDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0IsS0FBSyxFQUFFLEVBQUU7SUFDVCxNQUFNLEVBQUUsRUFBRTtJQUNWLElBQUksRUFBRSxJQUFJO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQzdCLG1CQUFtQixFQUFFLEVBQUUsR0FBRyxFQUFFO0NBQy9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUNwQyxLQUFLLEVBQUUsRUFBRTtJQUNULE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3BDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDbkMsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsRUFBRTtDQUNiLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUMvQixLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3RDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDaEMsS0FBSyxFQUFFLEVBQUU7SUFDVCxNQUFNLEVBQUUsRUFBRTtDQUNiLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN2QyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLHdCQUF3QjtJQUN0RCxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxFQUFFLHdCQUF3QjtJQUNwRCxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLHVCQUF1QjtJQUNwRCxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQjtJQUM1QyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLHdCQUF3QjtJQUNyRCxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFLDBCQUEwQjtJQUMxRCxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFLHdCQUF3QjtJQUN4RCxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLHdCQUF3QjtJQUN2RCxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLG9CQUFvQjtJQUM5QyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLHdCQUF3QjtJQUNsRCxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLHdCQUF3QjtJQUN2RCxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxFQUFFLHdCQUF3QjtJQUMvQyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxFQUFFLHdCQUF3QjtJQUM1RCxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLEVBQUUsd0JBQXdCO0lBQzlELENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEVBQUUsd0JBQXdCO0NBQ3ZELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxFQUFFLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFDVElWRV9TVFJPS0VfV0lEVEggfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBGbG93Y2hhcnRTeW1ib2xzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBTaGFwZURlZmF1bHRTcGFjZSA9IHtcbiAgICByZWN0YW5nbGVBbmRUZXh0OiA0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEdlb21ldHJ5U3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IDIsXG4gICAgZGVmYXVsdFJhZGl1czogNCxcbiAgICBzdHJva2VDb2xvcjogJyMwMDAnLFxuICAgIGZpbGw6ICdub25lJ1xufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRHZW9tZXRyeUFjdGl2ZVN0eWxlID0ge1xuICAgIHN0cm9rZVdpZHRoOiBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIHNlbGVjdGlvblN0cm9rZVdpZHRoOiBBQ1RJVkVfU1RST0tFX1dJRFRIXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTAwLFxuICAgIGhlaWdodDogMTAwLFxuICAgIHN0cm9rZUNvbG9yOiAnIzMzMycsXG4gICAgc3Ryb2tlV2lkdGg6IDJcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q2xvdWRTaGFwZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiAxMDAsXG4gICAgc3Ryb2tlQ29sb3I6ICcjMzMzJyxcbiAgICBzdHJva2VXaWR0aDogMlxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRUZXh0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDM2LFxuICAgIGhlaWdodDogMjAsXG4gICAgdGV4dDogJ+aWh+acrCdcbn07XG5cbmV4cG9ydCBjb25zdCBHZW9tZXRyeVRocmVzaG9sZCA9IHtcbiAgICBkZWZhdWx0VGV4dE1heFdpZHRoOiAzNCAqIDE0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbm5lY3RvclByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0NCxcbiAgICBoZWlnaHQ6IDQ0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEZsb3djaGFydFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA2MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREZWNpc2lvblByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxNDAsXG4gICAgaGVpZ2h0OiA3MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREYXRhUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyNCxcbiAgICBoZWlnaHQ6IDYwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdE1hbnVhbElucHV0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDExNyxcbiAgICBoZWlnaHQ6IDU5XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdE1lcmdlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDQ3LFxuICAgIGhlaWdodDogMzNcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHlNYXAgPSB7XG4gICAgW0Zsb3djaGFydFN5bWJvbHMuY29ubmVjdG9yXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByb2Nlc3NdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGVjaXNpb25dOiBEZWZhdWx0RGVjaXNpb25Qcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kYXRhXTogRGVmYXVsdERhdGFQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy50ZXJtaW5hbF06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5tYW51YWxJbnB1dF06IERlZmF1bHRNYW51YWxJbnB1dFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByZXBhcmF0aW9uXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm1hbnVhbExvb3BdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubWVyZ2VdOiBEZWZhdWx0TWVyZ2VQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kZWxheV06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5zdG9yZWREYXRhXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm9yXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnN1bW1pbmdKdW5jdGlvbl06IERlZmF1bHRDb25uZWN0b3JQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5wcmVkZWZpbmVkUHJvY2Vzc106IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5vZmZQYWdlXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5XG59O1xuXG5leHBvcnQgY29uc3QgTElORV9ISVRfR0VPTUVUUllfQlVGRkVSID0gMTA7XG5cbmV4cG9ydCBjb25zdCBMSU5FX1NOQVBQSU5HX0JVRkZFUiA9IDY7XG5cbmV4cG9ydCBjb25zdCBMSU5FX1NOQVBQSU5HX0NPTk5FQ1RPUl9CVUZGRVIgPSA4O1xuIl19
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsZ0JBQWdCLEVBQUUsQ0FBQztDQUN0QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDaEMsV0FBVyxFQUFFLENBQUM7SUFDZCxhQUFhLEVBQUUsQ0FBQztJQUNoQixXQUFXLEVBQUUsTUFBTTtJQUNuQixJQUFJLEVBQUUsTUFBTTtDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN0QyxXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLG9CQUFvQixFQUFFLG1CQUFtQjtDQUM1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFDckMsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFdBQVcsRUFBRSxDQUFDO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUN4QyxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3RDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDaEMsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsRUFBRTtDQUNiLENBQUM7QUFFRixNQUFN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cnQgeyBBQ1RJVkVfU1RST0tFX1dJRFRIIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgQmFzaWNTaGFwZXMsIEZsb3djaGFydFN5bWJvbHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IFNoYXBlRGVmYXVsdFNwYWNlID0ge1xuICAgIHJlY3RhbmdsZUFuZFRleHQ6IDRcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0R2VvbWV0cnlTdHlsZSA9IHtcbiAgICBzdHJva2VXaWR0aDogMixcbiAgICBkZWZhdWx0UmFkaXVzOiA0LFxuICAgIHN0cm9rZUNvbG9yOiAnIzAwMCcsXG4gICAgZmlsbDogJ25vbmUnXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEdlb21ldHJ5QWN0aXZlU3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgc2VsZWN0aW9uU3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEhcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFzaWNTaGFwZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMDAsXG4gICAgaGVpZ2h0OiAxMDAsXG4gICAgc3Ryb2tlQ29sb3I6ICcjMzMzJyxcbiAgICBzdHJva2VXaWR0aDogMlxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDUwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFR3b1dheUFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEzOCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEwMCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENsb3VkUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDEwMFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRUZXh0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDM2LFxuICAgIGhlaWdodDogMjAsXG4gICAgdGV4dDogJ+aWh+acrCdcbn07XG5cbmV4cG9ydCBjb25zdCBHZW9tZXRyeVRocmVzaG9sZCA9IHtcbiAgICBkZWZhdWx0VGV4dE1heFdpZHRoOiAzNCAqIDE0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbm5lY3RvclByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0NCxcbiAgICBoZWlnaHQ6IDQ0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEZsb3djaGFydFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA2MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREYXRhQmFzZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA3MCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEludGVybmFsU3RvcmFnZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA4MCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERlY2lzaW9uUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDE0MCxcbiAgICBoZWlnaHQ6IDcwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERhdGFQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTI0LFxuICAgIGhlaWdodDogNjBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RG9jdW1lbnRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogNzBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Tm90ZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxNjAsXG4gICAgaGVpZ2h0OiAxMDBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0TXVsdGlEb2N1bWVudFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA4MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRNYW51YWxJbnB1dFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMTcsXG4gICAgaGVpZ2h0OiA1OVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRNZXJnZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0NyxcbiAgICBoZWlnaHQ6IDMzXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eU1hcDogUmVjb3JkPHN0cmluZywgeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9PiA9IHtcbiAgICBbQmFzaWNTaGFwZXMucGVudGFnb25BcnJvd106IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLnByb2Nlc3NBcnJvd106IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLmNsb3VkXTogRGVmYXVsdENsb3VkUHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLnR3b1dheUFycm93XTogRGVmYXVsdFR3b1dheUFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLmxlZnRBcnJvd106IERlZmF1bHRBcnJvd1Byb3BlcnR5LFxuICAgIFtCYXNpY1NoYXBlcy5yaWdodEFycm93XTogRGVmYXVsdEFycm93UHJvcGVydHlcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHlNYXAgPSB7XG4gICAgW0Zsb3djaGFydFN5bWJvbHMuY29ubmVjdG9yXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByb2Nlc3NdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGVjaXNpb25dOiBEZWZhdWx0RGVjaXNpb25Qcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kYXRhXTogRGVmYXVsdERhdGFQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy50ZXJtaW5hbF06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5tYW51YWxJbnB1dF06IERlZmF1bHRNYW51YWxJbnB1dFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByZXBhcmF0aW9uXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm1hbnVhbExvb3BdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubWVyZ2VdOiBEZWZhdWx0TWVyZ2VQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kZWxheV06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5zdG9yZWREYXRhXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm9yXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnN1bW1pbmdKdW5jdGlvbl06IERlZmF1bHRDb25uZWN0b3JQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5wcmVkZWZpbmVkUHJvY2Vzc106IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5vZmZQYWdlXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmRvY3VtZW50XTogRGVmYXVsdERvY3VtZW50UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubXVsdGlEb2N1bWVudF06IERlZmF1bHRNdWx0aURvY3VtZW50UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGF0YWJhc2VdOiBEZWZhdWx0RGF0YUJhc2VQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5oYXJkRGlza106IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5pbnRlcm5hbFN0b3JhZ2VdOiBEZWZhdWx0SW50ZXJuYWxTdG9yYWdlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubm90ZUN1cmx5TGVmdF06IERlZmF1bHROb3RlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubm90ZUN1cmx5UmlnaHRdOiBEZWZhdWx0Tm90ZVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm5vdGVTcXVhcmVdOiBEZWZhdWx0Tm90ZVByb3BlcnR5XG59O1xuXG5leHBvcnQgY29uc3QgTElORV9ISVRfR0VPTUVUUllfQlVGRkVSID0gMTA7XG5cbmV4cG9ydCBjb25zdCBMSU5FX1NOQVBQSU5HX0JVRkZFUiA9IDY7XG5cbmV4cG9ydCBjb25zdCBMSU5FX1NOQVBQSU5HX0NPTk5FQ1RPUl9CVUZGRVIgPSA4O1xuIl19
|
|
@@ -1,38 +1,51 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export function
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { PlaitBoard, RectangleClient, getEllipseTangentSlope, getVectorFromPointAndSlope, isPointInEllipse, getNearestPointBetweenPointAndEllipse } from '@plait/core';
|
|
2
|
+
import { getTextRectangle } from '../../utils';
|
|
3
|
+
export function createEllipseEngine(createOptions) {
|
|
4
|
+
const engine = {
|
|
5
|
+
draw(board, rectangle, options) {
|
|
6
|
+
const centerPoint = [rectangle.x + rectangle.width / 2, rectangle.y + rectangle.height / 2];
|
|
7
|
+
const rs = PlaitBoard.getRoughSVG(board);
|
|
8
|
+
return rs.ellipse(centerPoint[0], centerPoint[1], rectangle.width, rectangle.height, { ...options, fillStyle: 'solid' });
|
|
9
|
+
},
|
|
10
|
+
isInsidePoint(rectangle, point) {
|
|
11
|
+
const centerPoint = [rectangle.x + rectangle.width / 2, rectangle.y + rectangle.height / 2];
|
|
12
|
+
return isPointInEllipse(point, centerPoint, rectangle.width / 2, rectangle.height / 2);
|
|
13
|
+
},
|
|
14
|
+
getCornerPoints(rectangle) {
|
|
15
|
+
return RectangleClient.getEdgeCenterPoints(rectangle);
|
|
16
|
+
},
|
|
17
|
+
getNearestPoint(rectangle, point) {
|
|
18
|
+
const centerPoint = [rectangle.x + rectangle.width / 2, rectangle.y + rectangle.height / 2];
|
|
19
|
+
return getNearestPointBetweenPointAndEllipse(point, centerPoint, rectangle.width / 2, rectangle.height / 2);
|
|
20
|
+
},
|
|
21
|
+
getTangentVectorByConnectionPoint(rectangle, pointOfRectangle) {
|
|
22
|
+
const connectionPoint = RectangleClient.getConnectionPoint(rectangle, pointOfRectangle);
|
|
23
|
+
const centerPoint = [rectangle.x + rectangle.width / 2, rectangle.y + rectangle.height / 2];
|
|
24
|
+
const point = [connectionPoint[0] - centerPoint[0], -(connectionPoint[1] - centerPoint[1])];
|
|
25
|
+
const a = rectangle.width / 2;
|
|
26
|
+
const b = rectangle.height / 2;
|
|
27
|
+
const slope = getEllipseTangentSlope(point[0], point[1], a, b);
|
|
28
|
+
const vector = getVectorFromPointAndSlope(point[0], point[1], slope);
|
|
29
|
+
return vector;
|
|
30
|
+
},
|
|
31
|
+
getConnectorPoints(rectangle) {
|
|
32
|
+
return RectangleClient.getEdgeCenterPoints(rectangle);
|
|
33
|
+
},
|
|
34
|
+
getTextRectangle(element) {
|
|
35
|
+
const rectangle = getTextRectangle(element);
|
|
36
|
+
const width = rectangle.width;
|
|
37
|
+
rectangle.width = (rectangle.width * 3) / 4;
|
|
38
|
+
rectangle.x += width / 8;
|
|
39
|
+
return rectangle;
|
|
40
|
+
}
|
|
9
41
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
[0, 1, 2, 3].forEach(x => {
|
|
18
|
-
const xx = a * tx;
|
|
19
|
-
const yy = b * ty;
|
|
20
|
-
const ex = ((a * a - b * b) * tx ** 3) / a;
|
|
21
|
-
const ey = ((b * b - a * a) * ty ** 3) / b;
|
|
22
|
-
const rx = xx - ex;
|
|
23
|
-
const ry = yy - ey;
|
|
24
|
-
const qx = px - ex;
|
|
25
|
-
const qy = py - ey;
|
|
26
|
-
const r = Math.hypot(ry, rx);
|
|
27
|
-
const q = Math.hypot(qy, qx);
|
|
28
|
-
tx = Math.min(1, Math.max(0, ((qx * r) / q + ex) / a));
|
|
29
|
-
ty = Math.min(1, Math.max(0, ((qy * r) / q + ey) / b));
|
|
30
|
-
const t = Math.hypot(ty, tx);
|
|
31
|
-
tx /= t;
|
|
32
|
-
ty /= t;
|
|
33
|
-
});
|
|
34
|
-
const signX = point[0] > center[0] ? 1 : -1;
|
|
35
|
-
const signY = point[1] > center[1] ? 1 : -1;
|
|
36
|
-
return [center[0] + a * tx * signX, center[1] + b * ty * signY];
|
|
42
|
+
if (createOptions?.draw) {
|
|
43
|
+
engine.draw = createOptions.draw;
|
|
44
|
+
}
|
|
45
|
+
if (createOptions?.getTextRectangle) {
|
|
46
|
+
engine.getTextRectangle = createOptions.getTextRectangle;
|
|
47
|
+
}
|
|
48
|
+
return engine;
|
|
37
49
|
}
|
|
38
|
-
|
|
50
|
+
export const EllipseEngine = createEllipseEngine();
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL2VsbGlwc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIscUNBQXFDLEVBQ3hDLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU8vQyxNQUFNLFVBQVUsbUJBQW1CLENBQUMsYUFBb0M7SUFDcEUsTUFBTSxNQUFNLEdBQWdCO1FBQ3hCLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7WUFDaEUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1RixNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdILENBQUM7UUFDRCxhQUFhLENBQUMsU0FBMEIsRUFBRSxLQUFZO1lBQ2xELE1BQU0sV0FBVyxHQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FB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bEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBZ0IsbUJBQW1CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlLFxuICAgIGdldFZlY3RvckZyb21Qb2ludEFuZFNsb3BlLFxuICAgIGlzUG9pbnRJbkVsbGlwc2UsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZVxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5LCBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgZ2V0VGV4dFJlY3RhbmdsZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVFbGxpcHNlT3B0aW9ucyB7XG4gICAgZHJhdz86IChib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpID0+IFNWR0dFbGVtZW50O1xuICAgIGdldFRleHRSZWN0YW5nbGU/OiAoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4gUmVjdGFuZ2xlQ2xpZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWxsaXBzZUVuZ2luZShjcmVhdGVPcHRpb25zPzogQ3JlYXRlRWxsaXBzZU9wdGlvbnMpOiBTaGFwZUVuZ2luZSB7XG4gICAgY29uc3QgZW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICAgICAgZHJhdyhib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50ID0gW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICAgICAgcmV0dXJuIHJzLmVsbGlwc2UoY2VudGVyUG9pbnRbMF0sIGNlbnRlclBvaW50WzFdLCByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS5oZWlnaHQsIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH0pO1xuICAgICAgICB9LFxuICAgICAgICBpc0luc2lkZVBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50OiBQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdO1xuICAgICAgICAgICAgcmV0dXJuIGlzUG9pbnRJbkVsbGlwc2UocG9pbnQsIGNlbnRlclBvaW50LCByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUuaGVpZ2h0IC8gMik7XG4gICAgICAgIH0sXG4gICAgICAgIGdldENvcm5lclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRFZGdlQ2VudGVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgICAgICBjb25zdCBjZW50ZXJQb2ludDogUG9pbnQgPSBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXTtcbiAgICAgICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRFbGxpcHNlKHBvaW50LCBjZW50ZXJQb2ludCwgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLmhlaWdodCAvIDIpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRUYW5nZW50VmVjdG9yQnlDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50T2ZSZWN0YW5nbGU6IFBvaW50T2ZSZWN0YW5nbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbm5lY3Rpb25Qb2ludCA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlLCBwb2ludE9mUmVjdGFuZ2xlKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50OiBQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBbY29ubmVjdGlvblBvaW50WzBdIC0gY2VudGVyUG9pbnRbMF0sIC0oY29ubmVjdGlvblBvaW50WzFdIC0gY2VudGVyUG9pbnRbMV0pXTtcbiAgICAgICAgICAgIGNvbnN0IGEgPSByZWN0YW5nbGUud2lkdGggLyAyO1xuICAgICAgICAgICAgY29uc3QgYiA9IHJlY3RhbmdsZS5oZWlnaHQgLyAyO1xuICAgICAgICAgICAgY29uc3Qgc2xvcGUgPSBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlKHBvaW50WzBdLCBwb2ludFsxXSwgYSwgYikgYXMgYW55O1xuICAgICAgICAgICAgY29uc3QgdmVjdG9yID0gZ2V0VmVjdG9yRnJvbVBvaW50QW5kU2xvcGUocG9pbnRbMF0sIHBvaW50WzFdLCBzbG9wZSk7XG4gICAgICAgICAgICByZXR1cm4gdmVjdG9yO1xuICAgICAgICB9LFxuICAgICAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0RWRnZUNlbnRlclBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRUZXh0UmVjdGFuZ2xlKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IGdldFRleHRSZWN0YW5nbGUoZWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgICAgIHJlY3RhbmdsZS53aWR0aCA9IChyZWN0YW5nbGUud2lkdGggKiAzKSAvIDQ7XG4gICAgICAgICAgICByZWN0YW5nbGUueCArPSB3aWR0aCAvIDg7XG4gICAgICAgICAgICByZXR1cm4gcmVjdGFuZ2xlO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGlmIChjcmVhdGVPcHRpb25zPy5kcmF3KSB7XG4gICAgICAgIGVuZ2luZS5kcmF3ID0gY3JlYXRlT3B0aW9ucy5kcmF3O1xuICAgIH1cbiAgICBpZiAoY3JlYXRlT3B0aW9ucz8uZ2V0VGV4dFJlY3RhbmdsZSkge1xuICAgICAgICBlbmdpbmUuZ2V0VGV4dFJlY3RhbmdsZSA9IGNyZWF0ZU9wdGlvbnMuZ2V0VGV4dFJlY3RhbmdsZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW5naW5lO1xufVxuXG5leHBvcnQgY29uc3QgRWxsaXBzZUVuZ2luZTogU2hhcGVFbmdpbmUgPSBjcmVhdGVFbGxpcHNlRW5naW5lKCk7XG4iXX0=
|
|
@@ -2,11 +2,12 @@ import { RectangleClient } from '@plait/core';
|
|
|
2
2
|
import { createPolygonEngine } from './polygon';
|
|
3
3
|
import { getTextRectangle } from '../../utils';
|
|
4
4
|
export const getPentagonArrowPoints = (rectangle) => {
|
|
5
|
+
const wider = rectangle.width > rectangle.height / 2;
|
|
5
6
|
return [
|
|
6
7
|
[rectangle.x, rectangle.y],
|
|
7
|
-
[rectangle.x + (rectangle.width
|
|
8
|
+
[rectangle.x + (wider ? rectangle.width - rectangle.height / 2 : 0), rectangle.y],
|
|
8
9
|
[rectangle.x + rectangle.width, rectangle.y + rectangle.height / 2],
|
|
9
|
-
[rectangle.x + (rectangle.width
|
|
10
|
+
[rectangle.x + (wider ? rectangle.width - rectangle.height / 2 : 0), rectangle.y + rectangle.height],
|
|
10
11
|
[rectangle.x, rectangle.y + rectangle.height]
|
|
11
12
|
];
|
|
12
13
|
};
|
|
@@ -16,9 +17,11 @@ export const PentagonArrowEngine = createPolygonEngine({
|
|
|
16
17
|
return RectangleClient.getEdgeCenterPoints(rectangle);
|
|
17
18
|
},
|
|
18
19
|
getTextRectangle(element) {
|
|
20
|
+
const elementRectangle = RectangleClient.getRectangleByPoints(element.points);
|
|
19
21
|
const rectangle = getTextRectangle(element);
|
|
20
|
-
|
|
22
|
+
const wider = elementRectangle.width > elementRectangle.height / 2 + 20;
|
|
23
|
+
rectangle.width = wider ? elementRectangle.width - elementRectangle.height / 2 : rectangle.width;
|
|
21
24
|
return rectangle;
|
|
22
25
|
}
|
|
23
26
|
});
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVudGFnb24tYXJyb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL2Jhc2ljLXNoYXBlcy9wZW50YWdvbi1hcnJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxTQUEwQixFQUFXLEVBQUU7SUFDMUUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNyRCxPQUFPO1FBQ0gsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDcEcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztLQUNoRCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWdCLG1CQUFtQixDQUFDO0lBQ2hFLGdCQUFnQixFQUFFLHNCQUFzQjtJQUN4QyxrQkFBa0IsQ0FBQyxTQUEwQjtRQUN6QyxPQUFPLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsT0FBc0I7UUFDbkMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU8sQ0FBQyxDQUFDO1FBQy9FLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN4RSxTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDakcsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvaW50LCBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5LCBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlUG9seWdvbkVuZ2luZSB9IGZyb20gJy4vcG9seWdvbic7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgZ2V0UGVudGFnb25BcnJvd1BvaW50cyA9IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCk6IFBvaW50W10gPT4ge1xuICAgIGNvbnN0IHdpZGVyID0gcmVjdGFuZ2xlLndpZHRoID4gcmVjdGFuZ2xlLmhlaWdodCAvIDI7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueV0sXG4gICAgICAgIFtyZWN0YW5nbGUueCArICh3aWRlciA/IHJlY3RhbmdsZS53aWR0aCAtIHJlY3RhbmdsZS5oZWlnaHQgLyAyIDogMCksIHJlY3RhbmdsZS55XSxcbiAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXSxcbiAgICAgICAgW3JlY3RhbmdsZS54ICsgKHdpZGVyID8gcmVjdGFuZ2xlLndpZHRoIC0gcmVjdGFuZ2xlLmhlaWdodCAvIDIgOiAwKSwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0XSxcbiAgICAgICAgW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHRdXG4gICAgXTtcbn07XG5cbmV4cG9ydCBjb25zdCBQZW50YWdvbkFycm93RW5naW5lOiBTaGFwZUVuZ2luZSA9IGNyZWF0ZVBvbHlnb25FbmdpbmUoe1xuICAgIGdldFBvbHlnb25Qb2ludHM6IGdldFBlbnRhZ29uQXJyb3dQb2ludHMsXG4gICAgZ2V0Q29ubmVjdG9yUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0RWRnZUNlbnRlclBvaW50cyhyZWN0YW5nbGUpO1xuICAgIH0sXG4gICAgZ2V0VGV4dFJlY3RhbmdsZShlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMhKTtcbiAgICAgICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0VGV4dFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICAgICAgY29uc3Qgd2lkZXIgPSBlbGVtZW50UmVjdGFuZ2xlLndpZHRoID4gZWxlbWVudFJlY3RhbmdsZS5oZWlnaHQgLyAyICsgMjA7XG4gICAgICAgIHJlY3RhbmdsZS53aWR0aCA9IHdpZGVyID8gZWxlbWVudFJlY3RhbmdsZS53aWR0aCAtIGVsZW1lbnRSZWN0YW5nbGUuaGVpZ2h0IC8gMiA6IHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgcmV0dXJuIHJlY3RhbmdsZTtcbiAgICB9XG59KTtcbiJdfQ==
|
|
@@ -15,12 +15,12 @@ export const getProcessArrowPoints = (rectangle) => {
|
|
|
15
15
|
export const ProcessArrowEngine = createPolygonEngine({
|
|
16
16
|
getPolygonPoints: getProcessArrowPoints,
|
|
17
17
|
getTextRectangle(element) {
|
|
18
|
-
const rectangle = getTextRectangle(element);
|
|
19
18
|
const elementRectangle = RectangleClient.getRectangleByPoints(element.points);
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
rectangle.
|
|
19
|
+
const rectangle = getTextRectangle(element);
|
|
20
|
+
const wider = elementRectangle.width > elementRectangle.height + 20;
|
|
21
|
+
rectangle.width = wider ? elementRectangle.width - elementRectangle.height : rectangle.width;
|
|
22
|
+
rectangle.x = wider ? elementRectangle.x + elementRectangle.height / 2 : rectangle.x;
|
|
23
23
|
return rectangle;
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcnJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL3Byb2Nlc3MtYXJyb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsU0FBMEIsRUFBVyxFQUFFO0lBQ3pFLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDckQsT0FBTztRQUNILENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqRixDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ3BHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDN0MsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7S0FDdkcsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFnQixtQkFBbUIsQ0FBQztJQUMvRCxnQkFBZ0IsRUFBRSxxQkFBcUI7SUFDdkMsZ0JBQWdCLENBQUMsT0FBc0I7UUFDbkMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU8sQ0FBQyxDQUFDO1FBQy9FLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ3BFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQzdGLFNBQVMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQSxDQUFDLENBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnksIFNoYXBlRW5naW5lIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVQb2x5Z29uRW5naW5lIH0gZnJvbSAnLi9wb2x5Z29uJztcbmltcG9ydCB7IGdldFRleHRSZWN0YW5nbGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBnZXRQcm9jZXNzQXJyb3dQb2ludHMgPSAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpOiBQb2ludFtdID0+IHtcbiAgICBjb25zdCB3aWRlciA9IHJlY3RhbmdsZS53aWR0aCA+IHJlY3RhbmdsZS5oZWlnaHQgLyAyO1xuICAgIHJldHVybiBbXG4gICAgICAgIFtyZWN0YW5nbGUueCwgcmVjdGFuZ2xlLnldLFxuICAgICAgICBbcmVjdGFuZ2xlLnggKyAod2lkZXIgPyByZWN0YW5nbGUud2lkdGggLSByZWN0YW5nbGUuaGVpZ2h0IC8gMiA6IDApLCByZWN0YW5nbGUueV0sXG4gICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0sXG4gICAgICAgIFtyZWN0YW5nbGUueCArICh3aWRlciA/IHJlY3RhbmdsZS53aWR0aCAtIHJlY3RhbmdsZS5oZWlnaHQgLyAyIDogMCksIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodF0sXG4gICAgICAgIFtyZWN0YW5nbGUueCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0XSxcbiAgICAgICAgW3JlY3RhbmdsZS54ICsgKHdpZGVyID8gcmVjdGFuZ2xlLmhlaWdodCAvIDIgOiByZWN0YW5nbGUud2lkdGgpLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXVxuICAgIF07XG59O1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0Fycm93RW5naW5lOiBTaGFwZUVuZ2luZSA9IGNyZWF0ZVBvbHlnb25FbmdpbmUoe1xuICAgIGdldFBvbHlnb25Qb2ludHM6IGdldFByb2Nlc3NBcnJvd1BvaW50cyxcbiAgICBnZXRUZXh0UmVjdGFuZ2xlKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudFJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyEpO1xuICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRUZXh0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgICAgICBjb25zdCB3aWRlciA9IGVsZW1lbnRSZWN0YW5nbGUud2lkdGggPiBlbGVtZW50UmVjdGFuZ2xlLmhlaWdodCArIDIwO1xuICAgICAgICByZWN0YW5nbGUud2lkdGggPSB3aWRlciA/IGVsZW1lbnRSZWN0YW5nbGUud2lkdGggLSBlbGVtZW50UmVjdGFuZ2xlLmhlaWdodCA6IHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgcmVjdGFuZ2xlLnggPSB3aWRlciA/IGVsZW1lbnRSZWN0YW5nbGUueCArIGVsZW1lbnRSZWN0YW5nbGUuaGVpZ2h0IC8gMjogIHJlY3RhbmdsZS54O1xuICAgICAgICByZXR1cm4gcmVjdGFuZ2xlO1xuICAgIH1cbn0pO1xuIl19
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { PlaitBoard, RectangleClient, drawRoundRectangle, getNearestPointBetweenPointAndSegments, isPointInRoundRectangle } from '@plait/core';
|
|
2
|
-
import { getNearestPointBetweenPointAndEllipse } from './ellipse';
|
|
1
|
+
import { PlaitBoard, RectangleClient, drawRoundRectangle, getNearestPointBetweenPointAndSegments, isPointInRoundRectangle, getNearestPointBetweenPointAndEllipse } from '@plait/core';
|
|
3
2
|
import { RectangleEngine } from './rectangle';
|
|
4
3
|
import { getPolygonEdgeByConnectionPoint } from '../../utils/polygon';
|
|
5
4
|
export const RoundRectangleEngine = {
|
|
@@ -56,4 +55,4 @@ export function getNearestPointBetweenPointAndRoundRectangle(point, rectangle, r
|
|
|
56
55
|
}
|
|
57
56
|
return result;
|
|
58
57
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQtcmVjdGFuZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZW5naW5lcy9iYXNpYy1zaGFwZXMvcm91bmQtcmVjdGFuZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBR1YsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixzQ0FBc0MsRUFDdEMsdUJBQXVCLEVBQ3ZCLHFDQUFxQyxFQUN4QyxNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFnQjtJQUM3QyxJQUFJLENBQUMsS0FBaUIsRUFBRSxTQUEwQixFQUFFLE9BQWdCO1FBQ2hFLE9BQU8sa0JBQWtCLENBQ3JCLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQzdCLFNBQVMsQ0FBQyxDQUFDLEVBQ1gsU0FBUyxDQUFDLENBQUMsRUFDWCxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQzdCLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFDOUIsRUFBRSxHQUFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQ2xDLEtBQUssRUFDTCx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FDckMsQ0FBQztJQUNOLENBQUM7SUFDRCxhQUFhLENBQUMsU0FBMEIsRUFBRSxLQUFZO1FBQ2xELE9BQU8sdUJBQXVCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFDRCxlQUFlLENBQUMsU0FBMEI7UUFDdEMsT0FBTyxlQUFlLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxlQUFlLENBQUMsU0FBMEIsRUFBRSxLQUFZO1FBQ3BELE9BQU8sNENBQTRDLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxTQUEwQixFQUFFLGdCQUFrQztRQUNuRixNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RSxPQUFPLCtCQUErQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsU0FBMEI7UUFDekMsT0FBTyxlQUFlLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFNBQTBCLEVBQUUsRUFBRTtJQUNsRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUUsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsNENBQTRDLENBQUMsS0FBWSxFQUFFLFNBQTBCLEVBQUUsTUFBYztJQUNqSCxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDeEQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRSxJQUFJLE1BQU0sR0FBRyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDekUsSUFBSSxZQUFZLEdBQWlCLElBQUksQ0FBQztJQUV0QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUM7SUFDckgsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNaLFlBQVksR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLEVBQUUsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxNQUFNLFlBQVksR0FDZCxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6SCxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2YsWUFBWSxHQUFHLENBQUMsS0FBSyxHQUFHLE1BQU0sRUFBRSxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQztJQUN0SSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2IsWUFBWSxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLEVBQUUsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxNQUFNLGFBQWEsR0FDZixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNO1FBQ2xDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsS0FBSztRQUN6QixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNO1FBQ25DLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBQy9CLElBQUksYUFBYSxFQUFFLENBQUM7UUFDaEIsWUFBWSxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLEVBQUUsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNmLE1BQU0sR0FBRyxxQ0FBcUMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBkcmF3Um91bmRSZWN0YW5nbGUsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMsXG4gICAgaXNQb2ludEluUm91bmRSZWN0YW5nbGUsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZVxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlRW5naW5lIH0gZnJvbSAnLi9yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuXG5leHBvcnQgY29uc3QgUm91bmRSZWN0YW5nbGVFbmdpbmU6IFNoYXBlRW5naW5lID0ge1xuICAgIGRyYXcoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBkcmF3Um91bmRSZWN0YW5nbGUoXG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSxcbiAgICAgICAgICAgIHJlY3RhbmdsZS54LFxuICAgICAgICAgICAgcmVjdGFuZ2xlLnksXG4gICAgICAgICAgICByZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCxcbiAgICAgICAgICAgIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCxcbiAgICAgICAgICAgIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH0sXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzKHJlY3RhbmdsZSlcbiAgICAgICAgKTtcbiAgICB9LFxuICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICByZXR1cm4gaXNQb2ludEluUm91bmRSZWN0YW5nbGUocG9pbnQsIHJlY3RhbmdsZSwgZ2V0Um91bmRSZWN0YW5nbGVSYWRpdXMocmVjdGFuZ2xlKSk7XG4gICAgfSxcbiAgICBnZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRSb3VuZFJlY3RhbmdsZShwb2ludCwgcmVjdGFuZ2xlLCBnZXRSb3VuZFJlY3RhbmdsZVJhZGl1cyhyZWN0YW5nbGUpKTtcbiAgICB9LFxuICAgIGdldEVkZ2VCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSk6IFtQb2ludCwgUG9pbnRdIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNvcm5lcnMgPSBSZWN0YW5nbGVFbmdpbmUuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgICAgIGNvbnN0IHBvaW50ID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGUsIHBvaW50T2ZSZWN0YW5nbGUpO1xuICAgICAgICByZXR1cm4gZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludChjb3JuZXJzLCBwb2ludCk7XG4gICAgfSxcbiAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRFZGdlQ2VudGVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzID0gKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSA9PiB7XG4gICAgcmV0dXJuIE1hdGgubWluKHJlY3RhbmdsZS53aWR0aCAqIDAuMSwgcmVjdGFuZ2xlLmhlaWdodCAqIDAuMSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kUm91bmRSZWN0YW5nbGUocG9pbnQ6IFBvaW50LCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcmFkaXVzOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IHg6IHJlY3RYLCB5OiByZWN0WSwgd2lkdGgsIGhlaWdodCB9ID0gcmVjdGFuZ2xlO1xuICAgIGNvbnN0IGNvcm5lclBvaW50cyA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICBsZXQgcmVzdWx0ID0gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMocG9pbnQsIGNvcm5lclBvaW50cyk7XG4gICAgbGV0IGNpcmNsZUNlbnRlcjogUG9pbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0IGluTGVmdFRvcCA9IHBvaW50WzBdID49IHJlY3RYICYmIHBvaW50WzBdIDw9IHJlY3RYICsgcmFkaXVzICYmIHBvaW50WzFdID49IHJlY3RZICYmIHBvaW50WzFdIDw9IHJlY3RZICsgcmFkaXVzO1xuICAgIGlmIChpbkxlZnRUb3ApIHtcbiAgICAgICAgY2lyY2xlQ2VudGVyID0gW3JlY3RYICsgcmFkaXVzLCByZWN0WSArIHJhZGl1c107XG4gICAgfVxuICAgIGNvbnN0IGluTGVmdEJvdHRvbSA9XG4gICAgICAgIHBvaW50WzBdID49IHJlY3RYICYmIHBvaW50WzBdIDw9IHJlY3RYICsgcmFkaXVzICYmIHBvaW50WzFdID49IHJlY3RZICsgaGVpZ2h0ICYmIHBvaW50WzFdIDw9IHJlY3RZICsgaGVpZ2h0IC0gcmFkaXVzO1xuICAgIGlmIChpbkxlZnRCb3R0b20pIHtcbiAgICAgICAgY2lyY2xlQ2VudGVyID0gW3JlY3RYICsgcmFkaXVzLCByZWN0WSArIGhlaWdodCAtIHJhZGl1c107XG4gICAgfVxuICAgIGNvbnN0IGluUmlnaHRUb3AgPSBwb2ludFswXSA+PSByZWN0WCArIHdpZHRoIC0gcmFkaXVzICYmIHBvaW50WzBdIDw9IHJlY3RYICsgd2lkdGggJiYgcG9pbnRbMV0gPj0gcmVjdFkgJiYgcG9pbnRbMV0gPD0gcmVjdFkgKyByYWRpdXM7XG4gICAgaWYgKGluUmlnaHRUb3ApIHtcbiAgICAgICAgY2lyY2xlQ2VudGVyID0gW3JlY3RYICsgd2lkdGggLSByYWRpdXMsIHJlY3RZICsgcmFkaXVzXTtcbiAgICB9XG4gICAgY29uc3QgaW5SaWdodEJvdHRvbSA9XG4gICAgICAgIHBvaW50WzBdID49IHJlY3RYICsgd2lkdGggLSByYWRpdXMgJiZcbiAgICAgICAgcG9pbnRbMF0gPD0gcmVjdFggKyB3aWR0aCAmJlxuICAgICAgICBwb2ludFsxXSA+PSByZWN0WSArIGhlaWdodCAtIHJhZGl1cyAmJlxuICAgICAgICBwb2ludFsxXSA8PSByZWN0WSArIGhlaWdodDtcbiAgICBpZiAoaW5SaWdodEJvdHRvbSkge1xuICAgICAgICBjaXJjbGVDZW50ZXIgPSBbcmVjdFggKyB3aWR0aCAtIHJhZGl1cywgcmVjdFkgKyBoZWlnaHQgLSByYWRpdXNdO1xuICAgIH1cbiAgICBpZiAoY2lyY2xlQ2VudGVyKSB7XG4gICAgICAgIHJlc3VsdCA9IGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZEVsbGlwc2UocG9pbnQsIGNpcmNsZUNlbnRlciwgcmFkaXVzLCByYWRpdXMpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|