@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.
Files changed (39) hide show
  1. package/lib/browser/editor2d-contribution.d.ts.map +1 -1
  2. package/lib/browser/editor2d-contribution.js +19 -18
  3. package/lib/browser/editor2d-contribution.js.map +1 -1
  4. package/lib/browser/playground/canvas-layer.d.ts +2 -1
  5. package/lib/browser/playground/canvas-layer.d.ts.map +1 -1
  6. package/lib/browser/playground/canvas-layer.js +8 -1
  7. package/lib/browser/playground/canvas-layer.js.map +1 -1
  8. package/lib/browser/playground/path-edit/path-edit-layer-move-point.d.ts.map +1 -1
  9. package/lib/browser/playground/path-edit/path-edit-layer-move-point.js +38 -4
  10. package/lib/browser/playground/path-edit/path-edit-layer-move-point.js.map +1 -1
  11. package/lib/browser/playground/path-edit/path-edit-layer-svg-path.d.ts +9 -2
  12. package/lib/browser/playground/path-edit/path-edit-layer-svg-path.d.ts.map +1 -1
  13. package/lib/browser/playground/path-edit/path-edit-layer-svg-path.js +232 -13
  14. package/lib/browser/playground/path-edit/path-edit-layer-svg-path.js.map +1 -1
  15. package/lib/browser/playground/path-edit/utils.d.ts +16 -3
  16. package/lib/browser/playground/path-edit/utils.d.ts.map +1 -1
  17. package/lib/browser/playground/path-edit/utils.js +63 -13
  18. package/lib/browser/playground/path-edit/utils.js.map +1 -1
  19. package/lib/browser/playground/path-edit-layer.d.ts +46 -3
  20. package/lib/browser/playground/path-edit-layer.d.ts.map +1 -1
  21. package/lib/browser/playground/path-edit-layer.js +533 -171
  22. package/lib/browser/playground/path-edit-layer.js.map +1 -1
  23. package/lib/browser/playground/playground-contribution.d.ts.map +1 -1
  24. package/lib/browser/playground/playground-contribution.js +2 -0
  25. package/lib/browser/playground/playground-contribution.js.map +1 -1
  26. package/lib/browser/utils/bezier.path.utils.d.ts.map +1 -1
  27. package/lib/browser/utils/bezier.path.utils.js +3 -0
  28. package/lib/browser/utils/bezier.path.utils.js.map +1 -1
  29. package/package.json +7 -7
  30. package/src/browser/editor2d-contribution.ts +19 -18
  31. package/src/browser/playground/canvas-layer.ts +6 -1
  32. package/src/browser/playground/path-edit/path-edit-layer-move-point.tsx +50 -5
  33. package/src/browser/playground/path-edit/path-edit-layer-svg-path.tsx +303 -26
  34. package/src/browser/playground/path-edit/utils.tsx +82 -17
  35. package/src/browser/playground/path-edit-layer.tsx +585 -216
  36. package/src/browser/playground/playground-contribution.ts +2 -0
  37. package/src/browser/style/path-edit-layer.less +17 -5
  38. package/src/browser/svg/drag_path.svg +17 -0
  39. 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
- export const SvgPath = ({ node, width, height, paths, scale, selection = [], selectMode, getPosFromMouseEvent, getPointIsStartOrEnd, }) => {
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, } = node || {};
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 { onPointMouseDown, onClosePath: onClosedPath, onPathAddPoint, onBezierPointMouseDown, } = React.useContext(PathEditLayerEventContext);
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: onClickStopPropagation, onMouseDown: e => {
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
- selection.forEach(item => {
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 = selection.find(c => c.pointId === p.id);
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: onClickStopPropagation, onMouseDown: e => {
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: onClickStopPropagation, onMouseDown: e => {
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
- // 'gedit-path-edit-layer-pen': !closed,
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((p, i) => (React.createElement("path", { className: clsx('gedit-path-edit-layer-path', 'gedit-path-edit-layer-pen'), key: i.toString(), strokeLinecap: "round", strokeWidth: 1.5 / scale, d: p, onMouseEnter: onHideMovePoint, onMouseLeave: onShowMovePoint, onMouseDown: onClickStopPropagation, onDoubleClick: onClickStopPropagation, onClick: e => {
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
- onPathAddPoint(i, e);
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":"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"}
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 getBezierHullByPos: (points: [x: number, x: number, x: number, x: number, x: number, x: number, x: number, x: number], pos: Point) => {
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) => PathChild;
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,EAEX,MAAM,oBAAoB,CAAC;AAE5B,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,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,kBAAkB,0GAExB,KAAK,KACT;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAe1B,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;;GAEG;AACH,eAAO,MAAM,WAAW,UACf,SAAS,aACL,SAAS,OACf,WAAW,KACf,SAgFF,CAAC;AAEF,eAAO,MAAM,kBAAkB,SACvB,SAAS,OACV,MAAM,GAAG,OAAO,OAChB,WAAW,KACf,SAgCF,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
+ {"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 getBezierHullByPos = (points, pos) => {
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 = new Bezier(...points);
73
- const { t = 0 } = bezier.project(pos);
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
- const hull = getBezierHullByPos(bezier, pos);
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
- const currentPoint = { x: pos.x, y: pos.y };
185
- path[x] = toFixedValue(pos.x, 2);
186
- path[y] = toFixedValue(pos.y, 2);
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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"}