@gedit/editor-2d 0.3.14 → 0.3.17
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/lib/browser/editor2d-contribution.d.ts.map +1 -1
- package/lib/browser/editor2d-contribution.js +19 -18
- package/lib/browser/editor2d-contribution.js.map +1 -1
- package/lib/browser/playground/canvas-layer.d.ts +2 -1
- package/lib/browser/playground/canvas-layer.d.ts.map +1 -1
- package/lib/browser/playground/canvas-layer.js +8 -1
- package/lib/browser/playground/canvas-layer.js.map +1 -1
- package/lib/browser/playground/path-edit/path-edit-layer-move-point.d.ts.map +1 -1
- package/lib/browser/playground/path-edit/path-edit-layer-move-point.js +38 -4
- package/lib/browser/playground/path-edit/path-edit-layer-move-point.js.map +1 -1
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.d.ts +9 -2
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.d.ts.map +1 -1
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.js +232 -13
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.js.map +1 -1
- package/lib/browser/playground/path-edit/utils.d.ts +16 -3
- package/lib/browser/playground/path-edit/utils.d.ts.map +1 -1
- package/lib/browser/playground/path-edit/utils.js +63 -13
- package/lib/browser/playground/path-edit/utils.js.map +1 -1
- package/lib/browser/playground/path-edit-layer.d.ts +46 -3
- package/lib/browser/playground/path-edit-layer.d.ts.map +1 -1
- package/lib/browser/playground/path-edit-layer.js +533 -171
- package/lib/browser/playground/path-edit-layer.js.map +1 -1
- package/lib/browser/playground/playground-contribution.d.ts.map +1 -1
- package/lib/browser/playground/playground-contribution.js +2 -0
- package/lib/browser/playground/playground-contribution.js.map +1 -1
- package/lib/browser/utils/bezier.path.utils.d.ts.map +1 -1
- package/lib/browser/utils/bezier.path.utils.js +3 -0
- package/lib/browser/utils/bezier.path.utils.js.map +1 -1
- package/package.json +7 -7
- package/src/browser/editor2d-contribution.ts +19 -18
- package/src/browser/playground/canvas-layer.ts +6 -1
- package/src/browser/playground/path-edit/path-edit-layer-move-point.tsx +50 -5
- package/src/browser/playground/path-edit/path-edit-layer-svg-path.tsx +303 -26
- package/src/browser/playground/path-edit/utils.tsx +82 -17
- package/src/browser/playground/path-edit-layer.tsx +585 -216
- package/src/browser/playground/playground-contribution.ts +2 -0
- package/src/browser/style/path-edit-layer.less +17 -5
- package/src/browser/svg/drag_path.svg +17 -0
- package/src/browser/utils/bezier.path.utils.ts +3 -0
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { PATH_FUNC_TYPE, getPointsToPaths /* getPathToBezier */, } from '@gedit/canvas-draw';
|
|
2
|
+
import { PATH_FUNC_TYPE, getPointsToPaths /* getPathToBezier */, cubicToQuadratic, } from '@gedit/canvas-draw';
|
|
3
3
|
import { PointMoveDefault, } from './path-edit-layer-move-point';
|
|
4
4
|
import { PathEditLayerEventContext } from '../path-edit-layer';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { generateUuid } from '@gedit/utils';
|
|
7
7
|
import { PathSelectMode } from '@gedit/playground';
|
|
8
|
-
|
|
8
|
+
import { getParallelPositionByPoint } from '../../utils/bezier.path.utils';
|
|
9
|
+
import { getBezierPointArray, createBezier, getPathCenter } from './utils';
|
|
10
|
+
export const SvgPath = ({ node, width, height, paths, scale, selection = [], selectMode, getPosFromMouseEvent, getPointIsStartOrEnd, getPathMousePos, showAllBezier, onUpdateNodeData, pathPosToCanvasPos, }) => {
|
|
9
11
|
var _a;
|
|
10
|
-
const { path
|
|
12
|
+
const { path } = node || {};
|
|
11
13
|
const { closed } = path || {};
|
|
14
|
+
const { onPointMouseDown, onClosePath: onClosedPath, onPathAddPoint, onBezierPointMouseDown, isCtrlKey, isShiftKey, } = React.useContext(PathEditLayerEventContext);
|
|
12
15
|
const isMultiple = selection.length > 1; // 多选模式;
|
|
13
16
|
const isSelect = selectMode !== PathSelectMode.ADD_PATH; // 选择点模式
|
|
14
17
|
const [hideMovePoint, setHideMovePoint] = React.useState(false);
|
|
15
18
|
const [closePath, setClosePath] = React.useState(false);
|
|
19
|
+
const [showPathAddPoint, setShowPathAddPoint] = React.useState(false);
|
|
20
|
+
const [lineHover, setLineHover] = React.useState(-1);
|
|
21
|
+
const noPathClickRef = React.useRef(false);
|
|
22
|
+
const pathDragStartRef = React.useRef();
|
|
16
23
|
const onHideMovePoint = () => {
|
|
17
24
|
setHideMovePoint(true);
|
|
18
25
|
};
|
|
@@ -29,7 +36,177 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
29
36
|
e.preventDefault();
|
|
30
37
|
e.stopPropagation();
|
|
31
38
|
};
|
|
32
|
-
const
|
|
39
|
+
const onPathMove = (i, e) => {
|
|
40
|
+
if (isCtrlKey) {
|
|
41
|
+
setShowPathAddPoint(false);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const { path = { paths: [] } } = node || {};
|
|
45
|
+
const { paths: p = [] } = path;
|
|
46
|
+
const point = p[i];
|
|
47
|
+
const nextPoint = p[i + 1] || p[0];
|
|
48
|
+
const pos = getPathMousePos(e);
|
|
49
|
+
const bezierPoint = getBezierPointArray(point, nextPoint);
|
|
50
|
+
const bezier = showPathAddPoint !== false
|
|
51
|
+
? showPathAddPoint.bezier
|
|
52
|
+
: createBezier(bezierPoint);
|
|
53
|
+
// if (isShiftKey) {
|
|
54
|
+
// const centerT = getPathCenter(bezier);
|
|
55
|
+
// const centerPoint = bezier.get(centerT);
|
|
56
|
+
// const center = bezier.project(centerPoint);
|
|
57
|
+
// setShowPathAddPoint({ ...center, bezier });
|
|
58
|
+
// return;
|
|
59
|
+
// }
|
|
60
|
+
// const projectPos = bezier.project(pos);
|
|
61
|
+
setShowPathAddPoint(Object.assign(Object.assign({}, pos), { bezier }));
|
|
62
|
+
};
|
|
63
|
+
const onPathMouseDown = (i, e) => {
|
|
64
|
+
if (isCtrlKey) {
|
|
65
|
+
const { path = { paths: [] } } = node || {};
|
|
66
|
+
const { paths: p = [] } = path;
|
|
67
|
+
const point = p[i];
|
|
68
|
+
const nextIndex = p[i + 1] ? i + 1 : 0;
|
|
69
|
+
const nextPoint = p[nextIndex];
|
|
70
|
+
const pos = getPathMousePos(e);
|
|
71
|
+
const bezierPoint = getBezierPointArray(point, nextPoint);
|
|
72
|
+
const bezier = createBezier(bezierPoint);
|
|
73
|
+
const projectPos = bezier.project(pos);
|
|
74
|
+
const offset = {
|
|
75
|
+
x: pos.x - projectPos.x,
|
|
76
|
+
y: pos.y - projectPos.y,
|
|
77
|
+
};
|
|
78
|
+
noPathClickRef.current = false;
|
|
79
|
+
pathDragStartRef.current = {
|
|
80
|
+
bezier,
|
|
81
|
+
startPos: pos,
|
|
82
|
+
point: projectPos,
|
|
83
|
+
index: i,
|
|
84
|
+
nextIndex,
|
|
85
|
+
offset,
|
|
86
|
+
};
|
|
87
|
+
setLineHover(i);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
const onPointDoubleClick = (point) => (e) => {
|
|
91
|
+
e.preventDefault();
|
|
92
|
+
e.stopPropagation();
|
|
93
|
+
// 双击切换点的 type
|
|
94
|
+
if (!path) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const index = path === null || path === void 0 ? void 0 : path.paths.findIndex(c => c.id === point.id);
|
|
98
|
+
if (typeof index === 'undefined') {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const currentPoint = path === null || path === void 0 ? void 0 : path.paths[index];
|
|
102
|
+
if (!currentPoint) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const v = currentPoint.type;
|
|
106
|
+
switch (v) {
|
|
107
|
+
case PATH_FUNC_TYPE.EQUAL:
|
|
108
|
+
case PATH_FUNC_TYPE.UNEQUAL:
|
|
109
|
+
case PATH_FUNC_TYPE.BREAK:
|
|
110
|
+
delete currentPoint.x1;
|
|
111
|
+
delete currentPoint.y1;
|
|
112
|
+
delete currentPoint.x2;
|
|
113
|
+
delete currentPoint.y2;
|
|
114
|
+
currentPoint.type = PATH_FUNC_TYPE.STRAIGHT;
|
|
115
|
+
break;
|
|
116
|
+
case PATH_FUNC_TYPE.STRAIGHT: {
|
|
117
|
+
const prevPoint = paths[index - 1] || paths[paths.length - 1];
|
|
118
|
+
const nextPoint = paths[index + 1] || paths[0];
|
|
119
|
+
const { p1, p2 } = getParallelPositionByPoint(prevPoint, nextPoint, point);
|
|
120
|
+
currentPoint.x1 = p1.x;
|
|
121
|
+
currentPoint.y1 = p1.y;
|
|
122
|
+
currentPoint.x2 = p2.x;
|
|
123
|
+
currentPoint.y2 = p2.y;
|
|
124
|
+
currentPoint.type = PATH_FUNC_TYPE.EQUAL;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
default:
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
onUpdateNodeData();
|
|
131
|
+
};
|
|
132
|
+
// const t = getBezierPointArray(paths[0], paths[1]);
|
|
133
|
+
// console.log(paths[0], paths[1], t, cubicToQuadratic(paths[0], {x: t[2], y: t[3]}));
|
|
134
|
+
React.useEffect(() => {
|
|
135
|
+
const onMouseMove = (e) => {
|
|
136
|
+
if (pathDragStartRef.current) {
|
|
137
|
+
noPathClickRef.current = true;
|
|
138
|
+
const pos = getPathMousePos(e);
|
|
139
|
+
const { bezier, nextIndex, index, point, offset, } = pathDragStartRef.current;
|
|
140
|
+
const currentPoint = bezier.get(point.t || 0);
|
|
141
|
+
const dx = pos.x - offset.x - currentPoint.x;
|
|
142
|
+
const dy = pos.y - offset.y - currentPoint.y;
|
|
143
|
+
bezier.points[1].x += dx;
|
|
144
|
+
bezier.points[1].y += dy;
|
|
145
|
+
bezier.points[2].x += dx;
|
|
146
|
+
bezier.points[2].y += dy;
|
|
147
|
+
bezier.update();
|
|
148
|
+
const start = path === null || path === void 0 ? void 0 : path.paths[index];
|
|
149
|
+
const end = path === null || path === void 0 ? void 0 : path.paths[nextIndex];
|
|
150
|
+
if (!start || !end) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
let pCenter;
|
|
154
|
+
const p1 = bezier.points[1];
|
|
155
|
+
const p2 = bezier.points[2];
|
|
156
|
+
// 全是 straight 时,转换为 unequal
|
|
157
|
+
if (start.type === PATH_FUNC_TYPE.STRAIGHT &&
|
|
158
|
+
end.type === PATH_FUNC_TYPE.STRAIGHT) {
|
|
159
|
+
start.type = PATH_FUNC_TYPE.BREAK;
|
|
160
|
+
start.x1 = p1.x;
|
|
161
|
+
start.y1 = p1.y;
|
|
162
|
+
start.x2 = start.x;
|
|
163
|
+
start.y2 = start.x;
|
|
164
|
+
end.type = PATH_FUNC_TYPE.BREAK;
|
|
165
|
+
end.x1 = p2.x;
|
|
166
|
+
end.y1 = p2.x;
|
|
167
|
+
end.x2 = end.x;
|
|
168
|
+
end.y2 = end.y;
|
|
169
|
+
}
|
|
170
|
+
if (start.type === PATH_FUNC_TYPE.STRAIGHT &&
|
|
171
|
+
end.type !== PATH_FUNC_TYPE.STRAIGHT) {
|
|
172
|
+
end.type = PATH_FUNC_TYPE.BREAK;
|
|
173
|
+
pCenter = cubicToQuadratic(start, p1);
|
|
174
|
+
end.x1 = pCenter.x;
|
|
175
|
+
end.y1 = pCenter.y;
|
|
176
|
+
}
|
|
177
|
+
if (start.type !== PATH_FUNC_TYPE.STRAIGHT &&
|
|
178
|
+
end.type === PATH_FUNC_TYPE.STRAIGHT) {
|
|
179
|
+
start.type = PATH_FUNC_TYPE.BREAK;
|
|
180
|
+
pCenter = cubicToQuadratic(end, p2);
|
|
181
|
+
start.x2 = pCenter.x;
|
|
182
|
+
start.y2 = pCenter.y;
|
|
183
|
+
}
|
|
184
|
+
if (start.type !== PATH_FUNC_TYPE.STRAIGHT &&
|
|
185
|
+
end.type !== PATH_FUNC_TYPE.STRAIGHT) {
|
|
186
|
+
start.x2 = p1.x;
|
|
187
|
+
start.y2 = p1.y;
|
|
188
|
+
start.type = PATH_FUNC_TYPE.BREAK;
|
|
189
|
+
end.x1 = p2.x;
|
|
190
|
+
end.y1 = p2.y;
|
|
191
|
+
end.type = PATH_FUNC_TYPE.BREAK;
|
|
192
|
+
}
|
|
193
|
+
onUpdateNodeData(true);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
const onMouseUp = (e) => {
|
|
197
|
+
if (pathDragStartRef.current) {
|
|
198
|
+
pathDragStartRef.current = undefined;
|
|
199
|
+
setLineHover(-1);
|
|
200
|
+
onUpdateNodeData();
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
document.addEventListener('mousemove', onMouseMove);
|
|
204
|
+
document.addEventListener('mouseup', onMouseUp);
|
|
205
|
+
return () => {
|
|
206
|
+
document.removeEventListener('mousemove', onMouseMove);
|
|
207
|
+
document.removeEventListener('mouseup', onMouseUp);
|
|
208
|
+
};
|
|
209
|
+
}, [path === null || path === void 0 ? void 0 : path.paths]);
|
|
33
210
|
const p = [...paths];
|
|
34
211
|
if (closed) {
|
|
35
212
|
p.push(Object.assign(Object.assign({}, paths[0]), { id: generateUuid() }));
|
|
@@ -75,7 +252,7 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
75
252
|
return (React.createElement("circle", { className: clsx('gedit-path-edit-layer-point', {
|
|
76
253
|
'gedit-path-edit-layer-point-closed': closePoint,
|
|
77
254
|
'gedit-path-edit-layer-point-active': selection.some(c => c.pointId === item.id) && !bezierSelect,
|
|
78
|
-
}), cx: item.x, cy: item.y, r: 4 / scale, key: item.id, strokeWidth: "1", onDoubleClick:
|
|
255
|
+
}), cx: item.x, cy: item.y, r: 4 / scale, key: item.id, strokeWidth: "1", onDoubleClick: onPointDoubleClick(item), onMouseDown: e => {
|
|
79
256
|
e.preventDefault();
|
|
80
257
|
e.stopPropagation();
|
|
81
258
|
if (closePoint) {
|
|
@@ -89,8 +266,11 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
89
266
|
const bezierPointNodes = [];
|
|
90
267
|
const bezierPathNodes = [];
|
|
91
268
|
const bezierPoints = [];
|
|
269
|
+
const selectionBezier = showAllBezier
|
|
270
|
+
? paths.map(c => ({ pointId: c.id }))
|
|
271
|
+
: selection;
|
|
92
272
|
// 插入贝塞尔点
|
|
93
|
-
|
|
273
|
+
selectionBezier.forEach(item => {
|
|
94
274
|
const { pointId: currentPointId } = item;
|
|
95
275
|
const index = paths.findIndex(c => c.id === currentPointId);
|
|
96
276
|
// 关闭路径把第一个贝赛尔点加入
|
|
@@ -113,7 +293,7 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
113
293
|
});
|
|
114
294
|
});
|
|
115
295
|
bezierPoints.forEach((p, i) => {
|
|
116
|
-
const selectionNode =
|
|
296
|
+
const selectionNode = selectionBezier.find(c => c.pointId === p.id);
|
|
117
297
|
const { bezierKey, pointId: currentPointId } = selectionNode || {};
|
|
118
298
|
if (p.type === PATH_FUNC_TYPE.STRAIGHT) {
|
|
119
299
|
return;
|
|
@@ -122,7 +302,7 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
122
302
|
bezierPathNodes.push(React.createElement("path", { key: `${p.id}_${i}_x1-line`, className: "gedit-path-edit-layer-point-bezier-line", strokeWidth: 1 / scale, d: `M${p.x},${p.y} L${p.x1},${p.y1}` }));
|
|
123
303
|
bezierPointNodes.push(React.createElement("circle", { key: `${p.id}_${i}_x1_point`, className: clsx('gedit-path-edit-layer-point-bezier', {
|
|
124
304
|
'gedit-path-edit-layer-point-active': bezierKey === 'left' && currentPointId === p.id,
|
|
125
|
-
}), cx: p.x1, cy: p.y1, r: 3 / scale, onDoubleClick:
|
|
305
|
+
}), cx: p.x1, cy: p.y1, r: 3 / scale, onDoubleClick: onPointDoubleClick(p), onMouseDown: e => {
|
|
126
306
|
onBezierPointMouseDown(e, p, 'left');
|
|
127
307
|
}, onMouseEnter: onHideMovePoint, onMouseLeave: onShowMovePoint }));
|
|
128
308
|
}
|
|
@@ -130,7 +310,7 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
130
310
|
bezierPathNodes.push(React.createElement("path", { key: `${p.id}_${i}_x2-line`, className: "gedit-path-edit-layer-point-bezier-line", strokeWidth: 1 / scale, d: `M${p.x},${p.y} L${p.x2},${p.y2}` }));
|
|
131
311
|
bezierPointNodes.push(React.createElement("circle", { key: `${p.id}_${i}x2_point`, className: clsx('gedit-path-edit-layer-point-bezier', {
|
|
132
312
|
'gedit-path-edit-layer-point-active': bezierKey === 'right' && currentPointId === p.id,
|
|
133
|
-
}), cx: p.x2, cy: p.y2, r: 3 / scale, onDoubleClick:
|
|
313
|
+
}), cx: p.x2, cy: p.y2, r: 3 / scale, onDoubleClick: onPointDoubleClick(p), onMouseDown: e => {
|
|
134
314
|
onBezierPointMouseDown(e, p, 'right');
|
|
135
315
|
}, onMouseEnter: onHideMovePoint, onMouseLeave: onShowMovePoint }));
|
|
136
316
|
}
|
|
@@ -143,6 +323,22 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
143
323
|
pointIsStartOrEnd); // 选中起始点或结束点时
|
|
144
324
|
// const ppp = [...paths, paths[0]];
|
|
145
325
|
// const bezierBox = getPathToBezier(ppp).map(c => c.bbox());
|
|
326
|
+
const hoverPointPos = {
|
|
327
|
+
x: 0,
|
|
328
|
+
y: 0,
|
|
329
|
+
};
|
|
330
|
+
if (showPathAddPoint) {
|
|
331
|
+
const { bezier } = showPathAddPoint;
|
|
332
|
+
let pathPoint = showPathAddPoint;
|
|
333
|
+
if (isShiftKey) {
|
|
334
|
+
const centerT = getPathCenter(bezier);
|
|
335
|
+
pathPoint = bezier.get(centerT);
|
|
336
|
+
}
|
|
337
|
+
const pos = bezier.project(pathPoint);
|
|
338
|
+
const transitionPos = pathPosToCanvasPos(pos);
|
|
339
|
+
hoverPointPos.x = transitionPos.x;
|
|
340
|
+
hoverPointPos.y = transitionPos.y;
|
|
341
|
+
}
|
|
146
342
|
return (React.createElement("svg", { width: width, height: height,
|
|
147
343
|
/* style={{
|
|
148
344
|
transformOrigin: '0 0',
|
|
@@ -151,14 +347,37 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
151
347
|
}deg) scale(${nodeScale.x}, ${nodeScale.y})`,
|
|
152
348
|
}} */
|
|
153
349
|
className: clsx('gedit-path-edit-layer-svg', {
|
|
154
|
-
|
|
350
|
+
// 'gedit-path-edit-layer-pen': !closed,
|
|
351
|
+
'gedit-path-edit-layer-drag': lineHover !== -1,
|
|
155
352
|
}) },
|
|
156
|
-
showDefaultMovePoint && (React.createElement(PointMoveDefault, { getPosFromMouseEvent: getPosFromMouseEvent, paths: paths, scale: scale, closePath: closePath, currentPointId: (_a = selection[0]) === null || _a === void 0 ? void 0 : _a.pointId })),
|
|
157
|
-
pathsStringArray.map((
|
|
353
|
+
showDefaultMovePoint && lineHover === -1 && (React.createElement(PointMoveDefault, { getPosFromMouseEvent: getPosFromMouseEvent, paths: paths, scale: scale, closePath: closePath, currentPointId: (_a = selection[0]) === null || _a === void 0 ? void 0 : _a.pointId })),
|
|
354
|
+
pathsStringArray.map((pStr, i) => (React.createElement("path", { className: clsx('gedit-path-edit-layer-path', {
|
|
355
|
+
'gedit-path-edit-layer-pen': !isCtrlKey,
|
|
356
|
+
'gedit-path-edit-layer-drag': isCtrlKey,
|
|
357
|
+
'gedit-path-edit-layer-path-active': lineHover === i,
|
|
358
|
+
}), key: i.toString(), strokeLinecap: "round", strokeWidth: 2 / scale, d: pStr, onMouseEnter: e => {
|
|
359
|
+
onHideMovePoint();
|
|
360
|
+
}, onMouseLeave: () => {
|
|
361
|
+
onShowMovePoint();
|
|
362
|
+
setShowPathAddPoint(false);
|
|
363
|
+
}, onMouseMove: e => {
|
|
364
|
+
onPathMove(i, e);
|
|
365
|
+
}, onMouseDown: e => {
|
|
366
|
+
onClickStopPropagation(e);
|
|
367
|
+
onPathMouseDown(i, e);
|
|
368
|
+
}, onDoubleClick: onClickStopPropagation, onClick: e => {
|
|
158
369
|
e.preventDefault();
|
|
159
370
|
e.stopPropagation();
|
|
160
|
-
|
|
371
|
+
if (!noPathClickRef.current && !isCtrlKey) {
|
|
372
|
+
onPathAddPoint(i, e);
|
|
373
|
+
}
|
|
374
|
+
noPathClickRef.current = false;
|
|
161
375
|
} }))),
|
|
376
|
+
showPathAddPoint && !isCtrlKey && (React.createElement("circle", { className: "gedit-path-edit-layer-hover-point", cx: hoverPointPos.x, cy: hoverPointPos.y, r: 4 / scale, strokeWidth: "1", onMouseDown: e => {
|
|
377
|
+
e.preventDefault();
|
|
378
|
+
e.stopPropagation();
|
|
379
|
+
onPathAddPoint(paths.length - 1, e);
|
|
380
|
+
} })),
|
|
162
381
|
bezierPathNodes,
|
|
163
382
|
allPoints,
|
|
164
383
|
bezierPointNodes));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-edit-layer-svg-path.js","sourceRoot":"","sources":["../../../../src/browser/playground/path-edit/path-edit-layer-svg-path.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEL,cAAc,EACd,gBAAgB,CAAC,qBAAqB,GACvC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,GAEjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAsB,MAAM,mBAAmB,CAAC;AAevE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,EACL,KAAK,EACL,SAAS,GAAG,EAAE,EACd,UAAU,EACV,oBAAoB,EACpB,oBAAoB,GACP,EAAE,EAAE;;IACjB,MAAM,EACJ,IAAI,GACL,GAAG,IAAI,IAAI,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ;IACjD,MAAM,QAAQ,GAAG,UAAU,KAAK,cAAc,CAAC,QAAQ,CAAC,CAAC,QAAQ;IACjE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,CAAC,CAAmB,EAAE,EAAE;QACrD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC,CAAC;IACF,MAAM,EACJ,gBAAgB,EAChB,WAAW,EAAE,YAAY,EACzB,cAAc,EACd,sBAAsB,GACvB,GAAG,KAAK,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACrB,IAAI,MAAM,EAAE;QACV,CAAC,CAAC,IAAI,iCACD,KAAK,CAAC,CAAC,CAAC,KACX,EAAE,EAAE,YAAY,EAAE,IAClB,CAAC;KACJ;IACD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7C;;;;;;;;;;;OAWG;IACH,MAAM,YAAY,GAChB,CAAC,UAAU;QACX,SAAS,CAAC,CAAC,CAAC;QACZ,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,WAAW,CAAC;IAChD,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IACjD,MAAM,iBAAiB,GACrB,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM;QAC3B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,eAAe,GACnB,iBAAiB,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACtC;;;;;;;;WAQG;QACH,MAAM,UAAU,GACd,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACf,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,CAAC,MAAM;YACP,CAAC,UAAU;YACX,iBAAiB;YACjB,eAAe,KAAK,CAAC,CAAC;QACxB,OAAO,CACL,gCACE,SAAS,EAAE,IAAI,CAAC,6BAA6B,EAAE;gBAC7C,oCAAoC,EAAE,UAAU;gBAChD,oCAAoC,EAClC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY;aAC9D,CAAC,EACF,EAAE,EAAE,IAAI,CAAC,CAAC,EACV,EAAE,EAAE,IAAI,CAAC,CAAC,EACV,CAAC,EAAE,CAAC,GAAG,KAAK,EACZ,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,WAAW,EAAC,GAAG,EACf,aAAa,EAAE,sBAAsB,EACrC,WAAW,EAAE,CAAC,CAAC,EAAE;gBACf,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,UAAU,EAAE;oBACd,YAAY,EAAE,CAAC;oBACf,OAAO;iBACR;gBACD,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC,EACD,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EACxD,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,GAC1D,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;IACP,MAAM,gBAAgB,GAAkB,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAkB,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAgB,EAAE,CAAC;IACrC,SAAS;IACT,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;QAC5D,iBAAiB;QACjB,IAAI,MAAM,EAAE;YACV,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7B;YACD,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;aAC5C;SACF;QACD,gBAAgB;QAChB,KAAK;aACF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;aAClD,OAAO,CAAC,CAAC,CAAC,EAAE;YACX,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;gBACzC,OAAO;aACR;YACD,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,aAAa,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,QAAQ,EAAE;YACtC,OAAO;SACR;QACD,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YAC1B,eAAe,CAAC,IAAI,CAClB,8BACE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAC,yCAAyC,EACnD,WAAW,EAAE,CAAC,GAAG,KAAK,EACtB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,GACpC,CACH,CAAC;YACF,gBAAgB,CAAC,IAAI,CACnB,gCACE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAC5B,SAAS,EAAE,IAAI,CAAC,oCAAoC,EAAE;oBACpD,oCAAoC,EAClC,SAAS,KAAK,MAAM,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE;iBAClD,CAAC,EACF,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,CAAC,EAAE,CAAC,GAAG,KAAK,EACZ,aAAa,EAAE,sBAAsB,EACrC,WAAW,EAAE,CAAC,CAAC,EAAE;oBACf,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC,EACD,YAAY,EAAE,eAAe,EAC7B,YAAY,EAAE,eAAe,GAC7B,CACH,CAAC;SACH;QACD,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YAC1B,eAAe,CAAC,IAAI,CAClB,8BACE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAC,yCAAyC,EACnD,WAAW,EAAE,CAAC,GAAG,KAAK,EACtB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,GACpC,CACH,CAAC;YACF,gBAAgB,CAAC,IAAI,CACnB,gCACE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAE,IAAI,CAAC,oCAAoC,EAAE;oBACpD,oCAAoC,EAClC,SAAS,KAAK,OAAO,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE;iBACnD,CAAC,EACF,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,CAAC,EAAE,CAAC,GAAG,KAAK,EACZ,aAAa,EAAE,sBAAsB,EACrC,WAAW,EAAE,CAAC,CAAC,EAAE;oBACf,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;gBACxC,CAAC,EACD,YAAY,EAAE,eAAe,EAC7B,YAAY,EAAE,eAAe,GAC7B,CACH,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,oBAAoB,GACxB,CAAC,UAAU,IAAI,SAAS;QACxB,CAAC,QAAQ,IAAI,SAAS;QACtB,CAAC,aAAa,IAAI,QAAQ;QAC1B,CAAC,MAAM,IAAI,UAAU;QACrB,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO;YACvB,iBAAiB,CAAC,CAAC,CAAC,aAAa;IACrC,oCAAoC;IACpC,6DAA6D;IAC7D,OAAO,CACL,6BACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM;QACd;;;;;aAKK;QACL,SAAS,EAAE,IAAI,CAAC,2BAA2B,EAAE;QAC3C,wCAAwC;SACzC,CAAC;QAED,oBAAoB,IAAI,CACvB,oBAAC,gBAAgB,IACf,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAA,SAAS,CAAC,CAAC,CAAC,0CAAE,OAAiB,GAC/C,CACH;QACA,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9B,8BACE,SAAS,EAAE,IAAI,CACb,4BAA4B,EAC5B,2BAA2B,CAC5B,EACD,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EACjB,aAAa,EAAC,OAAO,EACrB,WAAW,EAAE,GAAG,GAAG,KAAK,EACxB,CAAC,EAAE,CAAC,EACJ,YAAY,EAAE,eAAe,EAC7B,YAAY,EAAE,eAAe,EAC7B,WAAW,EAAE,sBAAsB,EACnC,aAAa,EAAE,sBAAsB,EACrC,OAAO,EAAE,CAAC,CAAC,EAAE;gBACX,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,CAAC,GACD,CACH,CAAC;QAED,eAAe;QACf,SAAS;QACT,gBAAgB,CACb,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"path-edit-layer-svg-path.js","sourceRoot":"","sources":["../../../../src/browser/playground/path-edit/path-edit-layer-svg-path.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { PathChild, Point, PATH_FUNC_TYPE, PathSchema } from '@gedit/canvas-draw';
|
|
3
|
+
import { Bezier } from 'bezier-js';
|
|
3
4
|
import { PositionSchema, ScaleSchema, SizeSchema } from '@gedit/utils';
|
|
4
5
|
import { PointSchema } from './path-edit-layer-move-point';
|
|
5
6
|
import { Editor2dPathNode } from '../../model';
|
|
7
|
+
export declare const shiftAngleArray: number[];
|
|
6
8
|
export declare const transformRotation: (p1: Point, p2: Point, rotation: number) => Point;
|
|
7
9
|
export declare const pathFuncIcon: {
|
|
8
10
|
icon: React.JSX.Element;
|
|
@@ -14,7 +16,14 @@ export declare const getLeftRightCenterPoint: (item: PathChild) => {
|
|
|
14
16
|
right: PathChild;
|
|
15
17
|
center: PathChild;
|
|
16
18
|
};
|
|
17
|
-
export declare const
|
|
19
|
+
export declare const createBezier: (points: [x: number, x: number, x: number, x: number, x: number, x: number, x: number, x: number]) => Bezier;
|
|
20
|
+
export declare const getPathCenter: (curve: Bezier) => number;
|
|
21
|
+
export declare const getBezierProjectByPos: (points: [x: number, x: number, x: number, x: number, x: number, x: number, x: number, x: number], pos: Point) => {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
t?: number;
|
|
25
|
+
};
|
|
26
|
+
export declare const getBezierHullByPos: (points: [x: number, x: number, x: number, x: number, x: number, x: number, x: number, x: number], pos: Point, isShiftKey?: boolean) => {
|
|
18
27
|
x: number;
|
|
19
28
|
y: number;
|
|
20
29
|
}[];
|
|
@@ -26,11 +35,15 @@ export declare const getBezierHullByPos: (points: [x: number, x: number, x: numb
|
|
|
26
35
|
*/
|
|
27
36
|
export declare const getExtendPositionByPoint: (c: Point, s: Point) => Point;
|
|
28
37
|
export declare const getExtendPositionByRadius: (c: PathChild, p: PathChild, r: number) => PathChild;
|
|
38
|
+
export declare const getBezierPointArray: (point: PathChild, nextPoint: PathChild) => [x: number, x: number, x: number, x: number, x: number, x: number, x: number, x: number];
|
|
29
39
|
/**
|
|
30
40
|
* 获取点击线上的新增点
|
|
31
41
|
*/
|
|
32
|
-
export declare const getNewPoint: (point: PathChild, nextPoint: PathChild, pos: PointSchema) => PathChild;
|
|
33
|
-
export declare const setBezierMovePoint: (path: PathChild, key: 'left' | 'right', pos: PointSchema
|
|
42
|
+
export declare const getNewPoint: (point: PathChild, nextPoint: PathChild, pos: PointSchema, isShiftKey?: boolean) => PathChild;
|
|
43
|
+
export declare const setBezierMovePoint: (path: PathChild, key: 'left' | 'right', pos: PointSchema, startPos?: PointSchema, keybinding?: {
|
|
44
|
+
shiftKey: boolean;
|
|
45
|
+
ctrlKey: boolean;
|
|
46
|
+
}) => PathChild;
|
|
34
47
|
export declare const transformToData: (point: PointSchema, transform: {
|
|
35
48
|
scale?: ScaleSchema;
|
|
36
49
|
rotation?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/browser/playground/path-edit/utils.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,KAAK,EAEL,cAAc,EAMd,UAAU,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/browser/playground/path-edit/utils.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,KAAK,EAEL,cAAc,EAMd,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAEL,cAAc,EACd,WAAW,EACX,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,eAAO,MAAM,eAAe,UAA4C,CAAC;AAEzE,eAAO,MAAM,iBAAiB,OAAQ,KAAK,MAAM,KAAK,YAAY,MAAM,UAYvE,CAAC;AAEF,eAAO,MAAM,YAAY;;;;GA8CxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAAU,SAAS;;;;CAUtD,CAAC;AAEF,eAAO,MAAM,YAAY,8GAAiD,CAAC;AAE3E,eAAO,MAAM,aAAa,UAAW,MAAM,WAqB1C,CAAC;AACF,eAAO,MAAM,qBAAqB,0GAE3B,KAAK,KACT;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAGpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,0GAExB,KAAK,eACE,OAAO,KAClB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAkB1B,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,MAAO,KAAK,KAAK,KAAK,KAAG,KAG5D,CAAC;AAEH,eAAO,MAAM,yBAAyB,MACjC,SAAS,KACT,SAAS,KACT,MAAM,KACR,SAOF,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAAW,SAAS,aAAa,SAAS,6FA4CzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,UACf,SAAS,aACL,SAAS,OACf,WAAW,eACJ,OAAO,KAClB,SAuCF,CAAC;AAEF,eAAO,MAAM,kBAAkB,SACvB,SAAS,OACV,MAAM,GAAG,OAAO,OAChB,WAAW,aACL,WAAW,eACV;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,KAIlD,SA+CF,CAAC;AAEF,eAAO,MAAM,eAAe,UACnB,WAAW,aACP;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,UAC7C,WAAW;;;CAapB,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAC1B,WAAW,aACP;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,UAC3C,WAAW;;;CAUpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,SACvB,gBAAgB;UACb,UAAU;;UAAmC,UAAU;CA8DjE,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/* eslint-disable max-len*/
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { toFixedValue, PATH_FUNC_TYPE, getLineWidth, quadraticToCubic, cubicToQuadratic, getPathBounds, getPathSizeBounds, } from '@gedit/canvas-draw';
|
|
3
|
+
import { toFixedValue, PATH_FUNC_TYPE, getLineWidth, quadraticToCubic, cubicToQuadratic, getPathBounds, getPathSizeBounds, pedalPoint, } from '@gedit/canvas-draw';
|
|
4
4
|
import { Bezier } from 'bezier-js';
|
|
5
5
|
import { generateUuid, } from '@gedit/utils';
|
|
6
6
|
const cloneDeep = require('lodash.clonedeep');
|
|
7
|
+
export const shiftAngleArray = [0, 45, 90, 135, 180, 225, 270, 315, 360];
|
|
7
8
|
export const transformRotation = (p1, p2, rotation) => {
|
|
8
9
|
if (!rotation) {
|
|
9
10
|
return p1;
|
|
@@ -59,7 +60,32 @@ export const getLeftRightCenterPoint = (item) => {
|
|
|
59
60
|
center: c,
|
|
60
61
|
};
|
|
61
62
|
};
|
|
62
|
-
export const
|
|
63
|
+
export const createBezier = (points) => new Bezier(...points);
|
|
64
|
+
export const getPathCenter = (curve) => {
|
|
65
|
+
const totalLength = curve.length();
|
|
66
|
+
const targetLength = totalLength / 2; // 中间点的长度
|
|
67
|
+
// 使用二分法找到对应的参数 t
|
|
68
|
+
let low = 0;
|
|
69
|
+
let high = 1;
|
|
70
|
+
let t = 0.5;
|
|
71
|
+
const epsilon = 0.001; // 精度
|
|
72
|
+
while (high - low > epsilon) {
|
|
73
|
+
t = (low + high) / 2;
|
|
74
|
+
const currentLength = curve.split(0, t).length();
|
|
75
|
+
if (currentLength < targetLength) {
|
|
76
|
+
low = t;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
high = t;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return t;
|
|
83
|
+
};
|
|
84
|
+
export const getBezierProjectByPos = (points, pos) => {
|
|
85
|
+
const bezier = createBezier(points);
|
|
86
|
+
return bezier.project(pos);
|
|
87
|
+
};
|
|
88
|
+
export const getBezierHullByPos = (points, pos, isShiftKey = false) => {
|
|
63
89
|
// 判断是二次还是三次贝塞尔曲线
|
|
64
90
|
/* const [x1, y1, x2, y2, x3, y3, x4, y4] = points;
|
|
65
91
|
let p: BezierArray | BezierArray<number, 6> = points;
|
|
@@ -69,8 +95,11 @@ export const getBezierHullByPos = (points, pos) => {
|
|
|
69
95
|
const yB = x1 === x2 && y1 === y2 ? y3 : y1;
|
|
70
96
|
p = [x1, y1, xB, yB, x4, y4];
|
|
71
97
|
} */
|
|
72
|
-
const bezier =
|
|
73
|
-
|
|
98
|
+
const bezier = createBezier(points);
|
|
99
|
+
let { t = 0 } = bezier.project(pos);
|
|
100
|
+
if (isShiftKey) {
|
|
101
|
+
t = getPathCenter(bezier);
|
|
102
|
+
}
|
|
74
103
|
const h = bezier.hull(t);
|
|
75
104
|
const hull = h.slice(-6);
|
|
76
105
|
return hull;
|
|
@@ -93,10 +122,7 @@ export const getExtendPositionByRadius = (c, p, r) => {
|
|
|
93
122
|
// console.log(ang, angle);
|
|
94
123
|
return { x, y };
|
|
95
124
|
};
|
|
96
|
-
|
|
97
|
-
* 获取点击线上的新增点
|
|
98
|
-
*/
|
|
99
|
-
export const getNewPoint = (point, nextPoint, pos) => {
|
|
125
|
+
export const getBezierPointArray = (point, nextPoint) => {
|
|
100
126
|
var _a, _b, _c, _d;
|
|
101
127
|
const afterQuadratic = point.type === PATH_FUNC_TYPE.STRAIGHT &&
|
|
102
128
|
nextPoint.type !== PATH_FUNC_TYPE.STRAIGHT &&
|
|
@@ -134,7 +160,14 @@ export const getNewPoint = (point, nextPoint, pos) => {
|
|
|
134
160
|
bezier[4] = cubic[2];
|
|
135
161
|
bezier[5] = cubic[3];
|
|
136
162
|
}
|
|
137
|
-
|
|
163
|
+
return bezier;
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* 获取点击线上的新增点
|
|
167
|
+
*/
|
|
168
|
+
export const getNewPoint = (point, nextPoint, pos, isShiftKey = false) => {
|
|
169
|
+
const bezier = getBezierPointArray(point, nextPoint);
|
|
170
|
+
const hull = getBezierHullByPos(bezier, pos, isShiftKey);
|
|
138
171
|
/**
|
|
139
172
|
* 0, 1, 2: 二次贝赛尔点,1为中心点,没用
|
|
140
173
|
* 3, 4: 三次点,
|
|
@@ -174,16 +207,33 @@ export const getNewPoint = (point, nextPoint, pos) => {
|
|
|
174
207
|
}
|
|
175
208
|
return newPoint;
|
|
176
209
|
};
|
|
177
|
-
export const setBezierMovePoint = (path, key, pos
|
|
210
|
+
export const setBezierMovePoint = (path, key, pos, startPos, keybinding = {
|
|
211
|
+
shiftKey: false,
|
|
212
|
+
ctrlKey: false,
|
|
213
|
+
}) => {
|
|
214
|
+
const { shiftKey, ctrlKey } = keybinding;
|
|
178
215
|
const { type } = path;
|
|
179
216
|
const x = key === 'left' ? 'x1' : 'x2';
|
|
180
217
|
const x1 = key === 'left' ? 'x2' : 'x1';
|
|
181
218
|
const y = key === 'left' ? 'y1' : 'y2';
|
|
182
219
|
const y1 = key === 'left' ? 'y2' : 'y1';
|
|
183
220
|
const center = { x: path.x, y: path.y };
|
|
184
|
-
|
|
185
|
-
path[x] =
|
|
186
|
-
path[y] =
|
|
221
|
+
let currentPoint = { x: toFixedValue(pos.x, 2), y: toFixedValue(pos.y, 2) };
|
|
222
|
+
path[x] = currentPoint.x;
|
|
223
|
+
path[y] = currentPoint.y;
|
|
224
|
+
// 按信 shift 键,锁定水平移动
|
|
225
|
+
if (shiftKey) {
|
|
226
|
+
// 垂直点
|
|
227
|
+
const end = pedalPoint(center, startPos || { x: 0, y: 0 }, currentPoint);
|
|
228
|
+
path[x] = end.x;
|
|
229
|
+
path[y] = end.y;
|
|
230
|
+
currentPoint = { x: end.x, y: end.y };
|
|
231
|
+
}
|
|
232
|
+
// 按住 ctrl 键,转换成 BREAK 模式
|
|
233
|
+
if (ctrlKey) {
|
|
234
|
+
path.type = PATH_FUNC_TYPE.BREAK;
|
|
235
|
+
return path;
|
|
236
|
+
}
|
|
187
237
|
let p2 = false;
|
|
188
238
|
const isOnly = typeof path[x1] === 'undefined' && typeof path[y1] === 'undefined';
|
|
189
239
|
if (!isOnly) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/browser/playground/path-edit/utils.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/browser/playground/path-edit/utils.tsx"],"names":[],"mappings":"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"}
|