@gedit/editor-2d 0.2.45 → 0.2.47
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/model/editor2d-document.d.ts +11 -2
- package/lib/browser/model/editor2d-document.d.ts.map +1 -1
- package/lib/browser/model/editor2d-document.js +44 -8
- package/lib/browser/model/editor2d-document.js.map +1 -1
- package/lib/browser/model/editor2d-model-container.d.ts.map +1 -1
- package/lib/browser/model/editor2d-model-container.js +1 -1
- package/lib/browser/model/editor2d-model-container.js.map +1 -1
- package/lib/browser/model/editor2d-model.d.ts +2 -0
- package/lib/browser/model/editor2d-model.d.ts.map +1 -1
- package/lib/browser/model/editor2d-model.js +5 -0
- package/lib/browser/model/editor2d-model.js.map +1 -1
- package/lib/browser/model/editor2d.d.ts +2 -0
- package/lib/browser/model/editor2d.d.ts.map +1 -1
- package/lib/browser/model/editor2d.js +4 -2
- package/lib/browser/model/editor2d.js.map +1 -1
- package/lib/browser/playground/canvas-draw.d.ts.map +1 -1
- package/lib/browser/playground/canvas-draw.js +30 -27
- package/lib/browser/playground/canvas-draw.js.map +1 -1
- package/lib/browser/playground/canvas-layer.d.ts +14 -2
- package/lib/browser/playground/canvas-layer.d.ts.map +1 -1
- package/lib/browser/playground/canvas-layer.js +96 -50
- package/lib/browser/playground/canvas-layer.js.map +1 -1
- package/lib/browser/playground/index.d.ts +2 -0
- package/lib/browser/playground/index.d.ts.map +1 -1
- package/lib/browser/playground/index.js +2 -0
- package/lib/browser/playground/index.js.map +1 -1
- package/lib/browser/playground/path-edit/index.d.ts +4 -0
- package/lib/browser/playground/path-edit/index.d.ts.map +1 -0
- package/lib/browser/playground/path-edit/index.js +20 -0
- package/lib/browser/playground/path-edit/index.js.map +1 -0
- package/lib/browser/playground/path-edit/path-edit-layer-move-point.d.ts +18 -0
- package/lib/browser/playground/path-edit/path-edit-layer-move-point.d.ts.map +1 -0
- package/lib/browser/playground/path-edit/path-edit-layer-move-point.js +52 -0
- package/lib/browser/playground/path-edit/path-edit-layer-move-point.js.map +1 -0
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.d.ts +21 -0
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.d.ts.map +1 -0
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.js +158 -0
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.js.map +1 -0
- package/lib/browser/playground/path-edit/utils.d.ts +37 -0
- package/lib/browser/playground/path-edit/utils.d.ts.map +1 -0
- package/lib/browser/playground/path-edit/utils.js +236 -0
- package/lib/browser/playground/path-edit/utils.js.map +1 -0
- package/lib/browser/playground/path-edit-layer.d.ts +32 -12
- package/lib/browser/playground/path-edit-layer.d.ts.map +1 -1
- package/lib/browser/playground/path-edit-layer.js +460 -146
- package/lib/browser/playground/path-edit-layer.js.map +1 -1
- package/lib/browser/playground/playground-context.d.ts +5 -2
- package/lib/browser/playground/playground-context.d.ts.map +1 -1
- package/lib/browser/playground/playground-context.js +13 -2
- package/lib/browser/playground/playground-context.js.map +1 -1
- package/lib/browser/playground/playground-contribution.d.ts +2 -1
- package/lib/browser/playground/playground-contribution.d.ts.map +1 -1
- package/lib/browser/playground/playground-contribution.js +4 -21
- package/lib/browser/playground/playground-contribution.js.map +1 -1
- package/lib/browser/playground/selection-entity-manager.d.ts.map +1 -1
- package/lib/browser/playground/selection-entity-manager.js +24 -8
- package/lib/browser/playground/selection-entity-manager.js.map +1 -1
- package/lib/browser/playground/selector-extend-renderer.d.ts +2 -1
- package/lib/browser/playground/selector-extend-renderer.d.ts.map +1 -1
- package/lib/browser/playground/selector-extend-renderer.js +50 -21
- package/lib/browser/playground/selector-extend-renderer.js.map +1 -1
- package/lib/browser/utils/snapshot.d.ts +1 -0
- package/lib/browser/utils/snapshot.d.ts.map +1 -1
- package/lib/browser/utils/snapshot.js +11 -0
- package/lib/browser/utils/snapshot.js.map +1 -1
- package/package.json +9 -7
- package/src/browser/model/editor2d-document.ts +44 -6
- package/src/browser/model/editor2d-model-container.ts +2 -0
- package/src/browser/model/editor2d-model.ts +2 -0
- package/src/browser/model/editor2d.ts +4 -1
- package/src/browser/playground/canvas-draw.ts +30 -25
- package/src/browser/playground/canvas-layer.ts +97 -52
- package/src/browser/playground/index.ts +2 -0
- package/src/browser/playground/path-edit/index.ts +3 -0
- package/src/browser/playground/path-edit/path-edit-layer-move-point.tsx +108 -0
- package/src/browser/playground/path-edit/path-edit-layer-svg-path.tsx +283 -0
- package/src/browser/playground/path-edit/utils.tsx +285 -0
- package/src/browser/playground/path-edit-layer.tsx +563 -216
- package/src/browser/playground/playground-context.ts +7 -1
- package/src/browser/playground/playground-contribution.ts +2 -21
- package/src/browser/playground/selection-entity-manager.tsx +34 -6
- package/src/browser/playground/selector-extend-renderer.tsx +69 -37
- package/src/browser/style/path-edit-layer.less +17 -30
- package/src/browser/svg/pen_close.svg +24 -0
- package/src/browser/utils/snapshot.ts +11 -0
- package/lib/browser/playground/path-edit-layer-move-point.d.ts +0 -15
- package/lib/browser/playground/path-edit-layer-move-point.d.ts.map +0 -1
- package/lib/browser/playground/path-edit-layer-move-point.js +0 -47
- package/lib/browser/playground/path-edit-layer-move-point.js.map +0 -1
- package/lib/browser/playground/path-edit-layer-svg-path.d.ts +0 -11
- package/lib/browser/playground/path-edit-layer-svg-path.d.ts.map +0 -1
- package/lib/browser/playground/path-edit-layer-svg-path.js +0 -21
- package/lib/browser/playground/path-edit-layer-svg-path.js.map +0 -1
- package/src/browser/playground/path-edit-layer-move-point.tsx +0 -71
- package/src/browser/playground/path-edit-layer-svg-path.tsx +0 -50
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SvgPath = void 0;
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const canvas_draw_1 = require("@gedit/canvas-draw");
|
|
6
|
+
const path_edit_layer_move_point_1 = require("./path-edit-layer-move-point");
|
|
7
|
+
const path_edit_layer_1 = require("../path-edit-layer");
|
|
8
|
+
const clsx_1 = require("clsx");
|
|
9
|
+
const utils_1 = require("@gedit/utils");
|
|
10
|
+
const playground_1 = require("@gedit/playground");
|
|
11
|
+
const SvgPath = ({ width, height, paths = [], closed, scale, selection = [], selectMode, getPosFromMouseEvent, getPointIsStartOrEnd, }) => {
|
|
12
|
+
var _a;
|
|
13
|
+
const isMultiple = selection.length > 1; // 多选模式;
|
|
14
|
+
const isSelect = selectMode !== playground_1.PathSelectMode.ADD_PATH; // 选择点模式
|
|
15
|
+
const [hideMovePoint, setHideMovePoint] = React.useState(false);
|
|
16
|
+
const [closePath, setClosePath] = React.useState(false);
|
|
17
|
+
const onHideMovePoint = () => {
|
|
18
|
+
setHideMovePoint(true);
|
|
19
|
+
};
|
|
20
|
+
const onShowMovePoint = () => {
|
|
21
|
+
setHideMovePoint(false);
|
|
22
|
+
};
|
|
23
|
+
const onClosePath = () => {
|
|
24
|
+
setClosePath(true);
|
|
25
|
+
};
|
|
26
|
+
const onReClosePath = () => {
|
|
27
|
+
setClosePath(false);
|
|
28
|
+
};
|
|
29
|
+
const { onPointMouseDown, onClosePath: onClosedPath, onPathAddPoint, onBezierPointMouseDown, } = React.useContext(path_edit_layer_1.PathEditLayerEventContext);
|
|
30
|
+
const p = [...paths];
|
|
31
|
+
if (closed) {
|
|
32
|
+
p.push(Object.assign(Object.assign({}, paths[0]), { id: (0, utils_1.generateUuid)() }));
|
|
33
|
+
}
|
|
34
|
+
const pathsStringArray = (0, canvas_draw_1.getPointsToPaths)(p);
|
|
35
|
+
/**
|
|
36
|
+
* 路径点
|
|
37
|
+
* 1. 没有任何点的情况,显示默认移动点,不绘制路径;
|
|
38
|
+
* 2. 有点的情况,显示所有点,绘制最后点到移动点的路径;
|
|
39
|
+
* 3. 选中中间点的情况,不显示移动点与路径;
|
|
40
|
+
* 4. 选中起始点的情况,显示移动点,绘制起点到移动点的路径,反转点的 x1=x2, y1=y2;
|
|
41
|
+
* 5. 选中贝赛尔点时,不显示移动点与路径;
|
|
42
|
+
* @param bezierSelect 是否选中贝赛尔点
|
|
43
|
+
* @param pointIsStartOrEnd 是否选中起始点或结束点
|
|
44
|
+
* @param currentPointIndex 当前选中点的索引
|
|
45
|
+
* @param closePointIndex 当前选中点的闭合点索引
|
|
46
|
+
*/
|
|
47
|
+
const bezierSelect = !isMultiple &&
|
|
48
|
+
selection[0] &&
|
|
49
|
+
typeof selection[0].bezierKey !== 'undefined';
|
|
50
|
+
const pointIsStartOrEnd = getPointIsStartOrEnd();
|
|
51
|
+
const currentPointIndex = !isSelect && selection.length
|
|
52
|
+
? paths.findIndex(c => c.id === selection[0].pointId)
|
|
53
|
+
: undefined;
|
|
54
|
+
const closePointIndex = currentPointIndex === paths.length - 1 ? 0 : paths.length - 1;
|
|
55
|
+
const allPoints = paths.map((item, i) => {
|
|
56
|
+
/**
|
|
57
|
+
* 经过点时,是否关闭路径;
|
|
58
|
+
* 条件:
|
|
59
|
+
* 1. 点的数量大于2; 或者点的数量等于2,但是有一点不是直线时;
|
|
60
|
+
* 2. 不是闭合路径时; 闭合路径了选择器是 select_bezier;
|
|
61
|
+
* 3. 不是多选模式;
|
|
62
|
+
* 4. 第一帧或最后一帧时;
|
|
63
|
+
* 5. 选中的点是起始点时,最后一点是闭合点;选中的点是结束点时,第一点是闭合点;
|
|
64
|
+
*/
|
|
65
|
+
const closePoint = (paths.length > 2 ||
|
|
66
|
+
(paths.length === 2 &&
|
|
67
|
+
paths.some(c => c.type !== canvas_draw_1.PATH_FUNC_TYPE.STRAIGHT))) &&
|
|
68
|
+
!closed &&
|
|
69
|
+
!isMultiple &&
|
|
70
|
+
pointIsStartOrEnd &&
|
|
71
|
+
closePointIndex === i;
|
|
72
|
+
return (React.createElement("circle", { className: (0, clsx_1.default)('gedit-path-edit-layer-point', {
|
|
73
|
+
'gedit-path-edit-layer-point-closed': closePoint,
|
|
74
|
+
'gedit-path-edit-layer-point-active': selection.some(c => c.pointId === item.id) && !bezierSelect,
|
|
75
|
+
}), cx: item.x, cy: item.y, r: 4 / scale, key: item.id, strokeWidth: "1", onMouseDown: e => {
|
|
76
|
+
e.preventDefault();
|
|
77
|
+
e.stopPropagation();
|
|
78
|
+
if (closePoint) {
|
|
79
|
+
onClosedPath();
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
onPointMouseDown === null || onPointMouseDown === void 0 ? void 0 : onPointMouseDown(e, item);
|
|
83
|
+
}, onMouseEnter: closePoint ? onClosePath : onHideMovePoint, onMouseLeave: closePoint ? onReClosePath : onShowMovePoint }));
|
|
84
|
+
});
|
|
85
|
+
// 贝塞尔点
|
|
86
|
+
const bezierPointNodes = [];
|
|
87
|
+
const bezierPathNodes = [];
|
|
88
|
+
const bezierPoints = [];
|
|
89
|
+
// 插入贝塞尔点
|
|
90
|
+
selection.forEach(item => {
|
|
91
|
+
const { pointId: currentPointId } = item;
|
|
92
|
+
const index = paths.findIndex(c => c.id === currentPointId);
|
|
93
|
+
// 关闭路径把第一个贝赛尔点加入
|
|
94
|
+
if (closed) {
|
|
95
|
+
if (index === paths.length - 1) {
|
|
96
|
+
bezierPoints.push(paths[0]);
|
|
97
|
+
}
|
|
98
|
+
if (index === 0) {
|
|
99
|
+
bezierPoints.push(paths[paths.length - 1]);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// 前后两点加当前开启贝赛尔点
|
|
103
|
+
paths.filter((_, i) => i >= index - 1 && i <= index + 1).forEach(c => {
|
|
104
|
+
if (bezierPoints.some(d => d.id === c.id)) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
bezierPoints.push(c);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
bezierPoints.forEach((p, i) => {
|
|
111
|
+
const selectionNode = selection.find(c => c.pointId === p.id);
|
|
112
|
+
const { bezierKey, pointId: currentPointId } = selectionNode || {};
|
|
113
|
+
if (p.type === canvas_draw_1.PATH_FUNC_TYPE.STRAIGHT) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if ('x1' in p && 'y1' in p) {
|
|
117
|
+
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}` }));
|
|
118
|
+
bezierPointNodes.push(React.createElement("circle", { key: `${p.id}_${i}_x1_point`, className: (0, clsx_1.default)('gedit-path-edit-layer-point-bezier', {
|
|
119
|
+
'gedit-path-edit-layer-point-active': bezierKey === 'left' && currentPointId === p.id,
|
|
120
|
+
}), cx: p.x1, cy: p.y1, r: 3 / scale, onMouseDown: e => {
|
|
121
|
+
onBezierPointMouseDown(e, p, 'left');
|
|
122
|
+
}, onMouseEnter: onHideMovePoint, onMouseLeave: onShowMovePoint }));
|
|
123
|
+
}
|
|
124
|
+
if ('x2' in p && 'y2' in p) {
|
|
125
|
+
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}` }));
|
|
126
|
+
bezierPointNodes.push(React.createElement("circle", { key: `${p.id}_${i}x2_point`, className: (0, clsx_1.default)('gedit-path-edit-layer-point-bezier', {
|
|
127
|
+
'gedit-path-edit-layer-point-active': bezierKey === 'right' && currentPointId === p.id,
|
|
128
|
+
}), cx: p.x2, cy: p.y2, r: 3 / scale, onMouseDown: e => {
|
|
129
|
+
onBezierPointMouseDown(e, p, 'right');
|
|
130
|
+
}, onMouseEnter: onHideMovePoint, onMouseLeave: onShowMovePoint }));
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
const showDefaultMovePoint = !isMultiple && // 不是多选模式
|
|
134
|
+
!isSelect && // 不是选择模式
|
|
135
|
+
!hideMovePoint && // 没经过点时
|
|
136
|
+
!closed && // 不是关闭路径时
|
|
137
|
+
(!paths.length || // 没有点时
|
|
138
|
+
pointIsStartOrEnd); // 选中起始点或结束点时
|
|
139
|
+
// const ppp = [...paths, paths[0]];
|
|
140
|
+
// const bezierBox = getPathToBezier(ppp).map(c => c.bbox());
|
|
141
|
+
return (React.createElement("svg", { width: width || 300, height: height || 300, className: (0, clsx_1.default)('gedit-path-edit-layer-svg', {
|
|
142
|
+
// 'gedit-path-edit-layer-pen': !closed,
|
|
143
|
+
}) },
|
|
144
|
+
showDefaultMovePoint && (React.createElement(path_edit_layer_move_point_1.PointMoveDefault, { getPosFromMouseEvent: getPosFromMouseEvent, paths: paths, scale: scale, closePath: closePath, currentPointId: (_a = selection[0]) === null || _a === void 0 ? void 0 : _a.pointId })),
|
|
145
|
+
pathsStringArray.map((p, i) => (React.createElement("path", { className: (0, clsx_1.default)('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: e => {
|
|
146
|
+
e.preventDefault();
|
|
147
|
+
e.stopPropagation();
|
|
148
|
+
}, onClick: e => {
|
|
149
|
+
e.preventDefault();
|
|
150
|
+
e.stopPropagation();
|
|
151
|
+
onPathAddPoint(i, e);
|
|
152
|
+
} }))),
|
|
153
|
+
bezierPathNodes,
|
|
154
|
+
allPoints,
|
|
155
|
+
bezierPointNodes));
|
|
156
|
+
};
|
|
157
|
+
exports.SvgPath = SvgPath;
|
|
158
|
+
//# sourceMappingURL=path-edit-layer-svg-path.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PathChild, Point, PATH_FUNC_TYPE, PathSchema } from '@gedit/canvas-draw';
|
|
3
|
+
import { PositionSchema } from '@gedit/utils';
|
|
4
|
+
import { PointSchema } from './path-edit-layer-move-point';
|
|
5
|
+
import { Editor2dPathNode } from '../../model';
|
|
6
|
+
export declare const pathFuncIcon: {
|
|
7
|
+
icon: React.JSX.Element;
|
|
8
|
+
type: PATH_FUNC_TYPE;
|
|
9
|
+
name: string;
|
|
10
|
+
}[];
|
|
11
|
+
export declare const getLeftRightCenterPoint: (item: PathChild) => {
|
|
12
|
+
left: PathChild;
|
|
13
|
+
right: PathChild;
|
|
14
|
+
center: PathChild;
|
|
15
|
+
};
|
|
16
|
+
export declare const getBezierHullByPos: (points: [x: number, x: number, x: number, x: number, x: number, x: number, x: number, x: number], pos: Point) => {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
}[];
|
|
20
|
+
/**
|
|
21
|
+
* 按点获取扩展点
|
|
22
|
+
* @param c
|
|
23
|
+
* @param s
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
export declare const getExtendPositionByPoint: (c: Point, s: Point) => Point;
|
|
27
|
+
export declare const getExtendPositionByRadius: (c: PathChild, p: PathChild, r: number) => PathChild;
|
|
28
|
+
/**
|
|
29
|
+
* 获取点击线上的新增点
|
|
30
|
+
*/
|
|
31
|
+
export declare const getNewPoint: (point: PathChild, nextPoint: PathChild, pos: PointSchema) => PathChild;
|
|
32
|
+
export declare const setBezierMovePoint: (path: PathChild, key: 'left' | 'right', pos: PointSchema) => PathChild;
|
|
33
|
+
export declare const updatePathNodeData: (node: Editor2dPathNode) => {
|
|
34
|
+
path: PathSchema;
|
|
35
|
+
position: PositionSchema;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +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,EACX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAgB,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,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,KAAiD,CAAC;AAEhH,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,kBAAkB,SAAU,gBAAgB;UAAW,UAAU;cAAY,cAAc;CAsCvG,CAAC"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updatePathNodeData = exports.setBezierMovePoint = exports.getNewPoint = exports.getExtendPositionByRadius = exports.getExtendPositionByPoint = exports.getBezierHullByPos = exports.getLeftRightCenterPoint = exports.pathFuncIcon = void 0;
|
|
4
|
+
/* eslint-disable max-len*/
|
|
5
|
+
const React = require("react");
|
|
6
|
+
const canvas_draw_1 = require("@gedit/canvas-draw");
|
|
7
|
+
const bezier_js_1 = require("bezier-js");
|
|
8
|
+
const utils_1 = require("@gedit/utils");
|
|
9
|
+
exports.pathFuncIcon = [
|
|
10
|
+
{
|
|
11
|
+
icon: (React.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 16 16" },
|
|
12
|
+
React.createElement("g", { stroke: "none", fill: "currentColor", fillRule: "nonzero" },
|
|
13
|
+
React.createElement("path", { d: "M10.4684227,7.89241331 L13.8353656,11.2580367 C14.2258898,11.648561 14.2258898,12.281726 13.8353656,12.6722503 C13.6478292,12.8597867 13.3934753,12.9651435 13.1282588,12.9651435 L2.87174123,12.9651435 C2.31945648,12.9651435 1.87174123,12.5174282 1.87174123,11.9651435 C1.87174123,11.699927 1.97709807,11.4455731 2.16463445,11.2580367 L5.5315773,7.89241331 C6.17107192,8.50939201 7.04121784,8.88888889 8,8.88888889 C8.95878216,8.88888889 9.82892808,8.50939201 10.4684227,7.89241331 Z" }),
|
|
14
|
+
React.createElement("path", { d: "M8,3.11111111 C6.77270056,3.11111111 5.77777778,4.10603389 5.77777778,5.33333333 C5.77777778,6.56063278 6.77270056,7.55555556 8,7.55555556 C9.22729944,7.55555556 10.2222222,6.56063278 10.2222222,5.33333333 C10.2222222,4.10603389 9.22729944,3.11111111 8,3.11111111 Z M8,4 C8.73637967,4 9.33333333,4.59695367 9.33333333,5.33333333 C9.33333333,6.069713 8.73637967,6.66666667 8,6.66666667 C7.26362033,6.66666667 6.66666667,6.069713 6.66666667,5.33333333 C6.66666667,4.59695367 7.26362033,4 8,4 Z" })))),
|
|
15
|
+
type: canvas_draw_1.PATH_FUNC_TYPE.STRAIGHT,
|
|
16
|
+
name: '笔直',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
icon: (React.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 16 16" },
|
|
20
|
+
React.createElement("g", { stroke: "none", fill: "currentColor", fillRule: "nonzero" },
|
|
21
|
+
React.createElement("path", { d: "M11.0960993,7.08278272 C12.90892,7.79368793 13.8669699,9.26586873 13.9715946,11.4991392 C13.9974693,12.0508335 13.5711839,12.5190234 13.0194883,12.5448693 L12.9960956,12.545691 L12.9960956,12.545691 L3.02729199,12.5459649 C2.47501636,12.5459484 2.0273085,12.0982406 2.0273085,11.5459649 C2.0273085,11.5303611 2.02767372,11.5147595 2.02840387,11.4991728 C2.13302028,9.26588707 3.09106789,7.7936962 4.9025467,7.08260023 C5.51453959,8.16114343 6.67228276,8.88888889 8,8.88888889 C9.32771724,8.88888889 10.4854604,8.16114343 11.0960993,7.08278272 Z M8,3.11111111 C9.07494019,3.11111111 9.97161786,3.87434369 10.1776822,4.88845806 L12.3150306,4.88807899 C12.4866723,4.49608833 12.8780204,4.22222222 13.3333333,4.22222222 C13.9469831,4.22222222 14.4444444,4.71968361 14.4444444,5.33333333 C14.4444444,5.94698306 13.9469831,6.44444444 13.3333333,6.44444444 C12.8776416,6.44444444 12.4860212,6.17012247 12.3146027,5.77760908 L10.1776822,5.7782086 C9.97161786,6.79232298 9.07494019,7.55555556 8,7.55555556 C6.92505981,7.55555556 6.02838214,6.79232298 5.82231777,5.7782086 L3.68539731,5.77760908 C3.51397881,6.17012247 3.1223584,6.44444444 2.66666667,6.44444444 C2.05301694,6.44444444 1.55555556,5.94698306 1.55555556,5.33333333 C1.55555556,4.71968361 2.05301694,4.22222222 2.66666667,4.22222222 C3.12197961,4.22222222 3.51332769,4.49608833 3.68496938,4.88807899 L5.82231777,4.88845806 C6.02838214,3.87434369 6.92505981,3.11111111 8,3.11111111 Z M8,4 C7.26362033,4 6.66666667,4.59695367 6.66666667,5.33333333 C6.66666667,6.069713 7.26362033,6.66666667 8,6.66666667 C8.73637967,6.66666667 9.33333333,6.069713 9.33333333,5.33333333 C9.33333333,4.59695367 8.73637967,4 8,4 Z M2.66666667,4.66666667 C2.29847683,4.66666667 2,4.9651435 2,5.33333333 C2,5.70152317 2.29847683,6 2.66666667,6 C3.0348565,6 3.33333333,5.70152317 3.33333333,5.33333333 C3.33333333,4.9651435 3.0348565,4.66666667 2.66666667,4.66666667 Z M13.3333333,4.66666667 C12.9651435,4.66666667 12.6666667,4.9651435 12.6666667,5.33333333 C12.6666667,5.70152317 12.9651435,6 13.3333333,6 C13.7015232,6 14,5.70152317 14,5.33333333 C14,4.9651435 13.7015232,4.66666667 13.3333333,4.66666667 Z" })))),
|
|
22
|
+
type: canvas_draw_1.PATH_FUNC_TYPE.EQUAL,
|
|
23
|
+
name: '平衡对称',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
icon: (React.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 16 16" },
|
|
27
|
+
React.createElement("g", { stroke: "none", fill: "currentColor", fillRule: "nonzero" },
|
|
28
|
+
React.createElement("path", { d: "M4.9025467,7.08260023 C5.51453959,8.16114343 6.67228277,8.88888889 8,8.88888889 C8.74203543,8.88888889 9.43097987,8.66157939 10.0009996,8.27279411 L10.1137604,8.37175614 L10.1137604,8.37175614 L10.2225556,8.46711111 L10.2278018,8.60314648 C10.3091765,9.75637815 11.2705058,10.6666667 12.4444444,10.6666667 L12.5461712,10.6633099 C12.6121342,10.7325386 12.6759208,10.800472 12.7375309,10.8671103 C13.1124477,11.272636 13.087643,11.9053101 12.6821225,12.2802325 C12.4973359,12.4510762 12.2549271,12.5459649 12.0032653,12.5459649 L3.027292,12.5459649 C2.47501636,12.5459484 2.0273085,12.0982406 2.0273085,11.5459649 C2.0273085,11.5303612 2.02767373,11.5147595 2.02840387,11.4991728 C2.13302028,9.26588707 3.09106789,7.7936962 4.9025467,7.08260023 Z M8,3.11111111 C9.22729944,3.11111111 10.2222222,4.10603389 10.2222222,5.33333333 C10.2222222,5.49236269 10.2055174,5.64749043 10.1737666,5.79705753 L11.8370907,7.45894334 C12.2356667,7.30306411 12.7061115,7.38611945 13.0281014,7.70810937 C13.4620173,8.14202525 13.4620173,8.84554189 13.0281014,9.27945777 C12.5941856,9.71337365 11.8906689,9.71337365 11.456753,9.27945777 C11.1345303,8.95723505 11.0515878,8.48634268 11.2079255,8.08758262 L9.78192352,6.66134751 C9.37675045,7.20412589 8.72941562,7.55555556 8,7.55555556 C6.92505981,7.55555556 6.02838214,6.79232298 5.82231777,5.7782086 L3.68539731,5.77760908 C3.51397881,6.17012247 3.1223584,6.44444444 2.66666667,6.44444444 C2.05301694,6.44444444 1.55555556,5.94698306 1.55555556,5.33333333 C1.55555556,4.71968361 2.05301694,4.22222222 2.66666667,4.22222222 C3.07649292,4.22222222 3.43449636,4.44410206 3.62710432,4.77428908 L3.68502542,4.888207 L5.82231777,4.88845806 C6.02838214,3.87434369 6.92505981,3.11111111 8,3.11111111 Z M11.7710227,8.02237905 C11.5106732,8.28272858 11.5106732,8.70483856 11.7710227,8.96518809 C12.0313722,9.22553762 12.4534822,9.22553762 12.7138318,8.96518809 C12.9741813,8.70483856 12.9741813,8.28272858 12.7138318,8.02237905 C12.4534822,7.76202952 12.0313722,7.76202952 11.7710227,8.02237905 Z M8,4 C7.26362033,4 6.66666667,4.59695367 6.66666667,5.33333333 C6.66666667,6.069713 7.26362033,6.66666667 8,6.66666667 C8.73637967,6.66666667 9.33333333,6.069713 9.33333333,5.33333333 C9.33333333,4.59695367 8.73637967,4 8,4 Z M2.66666667,4.66666667 C2.29847683,4.66666667 2,4.9651435 2,5.33333333 C2,5.70152317 2.29847683,6 2.66666667,6 C3.0348565,6 3.33333333,5.70152317 3.33333333,5.33333333 C3.33333333,4.9651435 3.0348565,4.66666667 2.66666667,4.66666667 Z" })))),
|
|
29
|
+
type: canvas_draw_1.PATH_FUNC_TYPE.BREAK,
|
|
30
|
+
name: '断开链接',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
icon: (React.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 16 16" },
|
|
34
|
+
React.createElement("g", { stroke: "none", fill: "currentColor", fillRule: "nonzero" },
|
|
35
|
+
React.createElement("path", { d: "M9.48113654,6.75735761 C11.4348163,7.48824028 12.802824,8.97509642 13.5854936,11.2162897 C13.7675572,11.7376913 13.4924892,12.307972 12.9710939,12.4900537 C12.8651151,12.5270636 12.7536611,12.5459649 12.6414058,12.5459649 L2.93734326,12.5459649 C2.41280388,12.5459761 1.97740772,12.1406813 1.93989294,11.6174852 C1.79069809,9.53675393 2.20550284,8.05786209 3.18430719,7.18080967 C3.80834692,8.20534701 4.93545969,8.88888889 6.22222222,8.88888889 C7.67952934,8.88888889 8.93206301,8.01214956 9.48113654,6.75735761 Z M8.39990445,5.7782086 C8.19384008,6.79232298 7.29716241,7.55555556 6.22222222,7.55555556 C5.14728203,7.55555556 4.25060437,6.79232298 4.04453999,5.7782086 L3.68539731,5.77760908 C3.51397881,6.17012247 3.1223584,6.44444444 2.66666667,6.44444444 C2.05301694,6.44444444 1.55555556,5.94698306 1.55555556,5.33333333 C1.55555556,4.71968361 2.05301694,4.22222222 2.66666667,4.22222222 C3.07649292,4.22222222 3.43449636,4.44410206 3.62710432,4.77428908 L3.68502542,4.888207 L4.04453999,4.88845806 C4.25060437,3.87434369 5.14728203,3.11111111 6.22222222,3.11111111 C7.29716241,3.11111111 8.19384008,3.87434369 8.39990445,4.88845806 L10.5371968,4.888207 C10.7088093,4.49614795 11.1001931,4.22222222 11.5555556,4.22222222 C12.1692053,4.22222222 12.6666667,4.71968361 12.6666667,5.33333333 C12.6666667,5.94698306 12.1692053,6.44444444 11.5555556,6.44444444 C11.0998638,6.44444444 10.7082434,6.17012247 10.5368249,5.77760908 Z M6.22222222,4 C5.48584256,4 4.88888889,4.59695367 4.88888889,5.33333333 C4.88888889,6.069713 5.48584256,6.66666667 6.22222222,6.66666667 C6.95860189,6.66666667 7.55555556,6.069713 7.55555556,5.33333333 C7.55555556,4.59695367 6.95860189,4 6.22222222,4 Z M11.5555556,4.66666667 C11.1873657,4.66666667 10.8888889,4.9651435 10.8888889,5.33333333 C10.8888889,5.70152317 11.1873657,6 11.5555556,6 C11.9237454,6 12.2222222,5.70152317 12.2222222,5.33333333 C12.2222222,4.9651435 11.9237454,4.66666667 11.5555556,4.66666667 Z M2.66666667,4.66666667 C2.29847683,4.66666667 2,4.9651435 2,5.33333333 C2,5.70152317 2.29847683,6 2.66666667,6 C3.0348565,6 3.33333333,5.70152317 3.33333333,5.33333333 C3.33333333,4.9651435 3.0348565,4.66666667 2.66666667,4.66666667 Z" })))),
|
|
36
|
+
type: canvas_draw_1.PATH_FUNC_TYPE.UNEQUAL,
|
|
37
|
+
name: '平衡不对称',
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
const getLeftRightCenterPoint = (item) => {
|
|
41
|
+
var _a, _b, _c, _d;
|
|
42
|
+
const l = { x: (_a = item.x1) !== null && _a !== void 0 ? _a : item.x, y: (_b = item.y1) !== null && _b !== void 0 ? _b : item.y };
|
|
43
|
+
const r = { x: (_c = item.x2) !== null && _c !== void 0 ? _c : item.x, y: (_d = item.y2) !== null && _d !== void 0 ? _d : item.y };
|
|
44
|
+
const c = { x: item.x, y: item.y };
|
|
45
|
+
return {
|
|
46
|
+
left: l,
|
|
47
|
+
right: r,
|
|
48
|
+
center: c,
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
exports.getLeftRightCenterPoint = getLeftRightCenterPoint;
|
|
52
|
+
const getBezierHullByPos = (points, pos) => {
|
|
53
|
+
// 判断是二次还是三次贝塞尔曲线
|
|
54
|
+
/* const [x1, y1, x2, y2, x3, y3, x4, y4] = points;
|
|
55
|
+
let p: BezierArray | BezierArray<number, 6> = points;
|
|
56
|
+
const isQuadratic = x1 === x2 && y1 === y2 || x3 === x4 && y3 === y4;
|
|
57
|
+
if (isQuadratic) {
|
|
58
|
+
const xB = x1 === x2 && y1 === y2 ? x3 : x1;
|
|
59
|
+
const yB = x1 === x2 && y1 === y2 ? y3 : y1;
|
|
60
|
+
p = [x1, y1, xB, yB, x4, y4];
|
|
61
|
+
} */
|
|
62
|
+
const bezier = new bezier_js_1.Bezier(...points);
|
|
63
|
+
const { t = 0 } = bezier.project(pos);
|
|
64
|
+
const h = bezier.hull(t);
|
|
65
|
+
const hull = h.slice(-6);
|
|
66
|
+
return hull;
|
|
67
|
+
};
|
|
68
|
+
exports.getBezierHullByPos = getBezierHullByPos;
|
|
69
|
+
/**
|
|
70
|
+
* 按点获取扩展点
|
|
71
|
+
* @param c
|
|
72
|
+
* @param s
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
const getExtendPositionByPoint = (c, s) => ({ x: c.x * 2 - s.x, y: c.y * 2 - s.y });
|
|
76
|
+
exports.getExtendPositionByPoint = getExtendPositionByPoint;
|
|
77
|
+
const getExtendPositionByRadius = (c, p, r) => {
|
|
78
|
+
const ang = (Math.atan2(p.y - c.y, p.x - c.x) / Math.PI) * 180;
|
|
79
|
+
const angle = 180 + ang;
|
|
80
|
+
const x = c.x + r * Math.cos((angle * Math.PI) / 180);
|
|
81
|
+
const y = c.y + r * Math.sin((angle * Math.PI) / 180);
|
|
82
|
+
// console.log(ang, angle);
|
|
83
|
+
return { x, y };
|
|
84
|
+
};
|
|
85
|
+
exports.getExtendPositionByRadius = getExtendPositionByRadius;
|
|
86
|
+
/**
|
|
87
|
+
* 获取点击线上的新增点
|
|
88
|
+
*/
|
|
89
|
+
const getNewPoint = (point, nextPoint, pos) => {
|
|
90
|
+
var _a, _b, _c, _d;
|
|
91
|
+
const afterQuadratic = point.type === canvas_draw_1.PATH_FUNC_TYPE.STRAIGHT &&
|
|
92
|
+
nextPoint.type !== canvas_draw_1.PATH_FUNC_TYPE.STRAIGHT &&
|
|
93
|
+
typeof nextPoint.x1 === 'number' &&
|
|
94
|
+
typeof nextPoint.y1 === 'number';
|
|
95
|
+
const beforeQuadratic = point.type !== canvas_draw_1.PATH_FUNC_TYPE.STRAIGHT &&
|
|
96
|
+
nextPoint.type === canvas_draw_1.PATH_FUNC_TYPE.STRAIGHT &&
|
|
97
|
+
typeof point.x2 === 'number' &&
|
|
98
|
+
typeof point.y2 === 'number';
|
|
99
|
+
const isQuadratic = beforeQuadratic || afterQuadratic;
|
|
100
|
+
const bezier = [
|
|
101
|
+
point.x,
|
|
102
|
+
point.y,
|
|
103
|
+
(_a = point.x2) !== null && _a !== void 0 ? _a : point.x,
|
|
104
|
+
(_b = point.y2) !== null && _b !== void 0 ? _b : point.y,
|
|
105
|
+
(_c = nextPoint.x1) !== null && _c !== void 0 ? _c : nextPoint.x,
|
|
106
|
+
(_d = nextPoint.y1) !== null && _d !== void 0 ? _d : nextPoint.y,
|
|
107
|
+
nextPoint.x,
|
|
108
|
+
nextPoint.y,
|
|
109
|
+
];
|
|
110
|
+
if (isQuadratic) {
|
|
111
|
+
// 转换三次贝赛尔
|
|
112
|
+
const cubic = (0, canvas_draw_1.quadraticToCubic)({
|
|
113
|
+
x: point.x,
|
|
114
|
+
y: point.y,
|
|
115
|
+
}, {
|
|
116
|
+
x: beforeQuadratic ? point.x2 : nextPoint.x1,
|
|
117
|
+
y: beforeQuadratic ? point.y2 : nextPoint.y1,
|
|
118
|
+
}, {
|
|
119
|
+
x: nextPoint.x,
|
|
120
|
+
y: nextPoint.y,
|
|
121
|
+
});
|
|
122
|
+
bezier[2] = cubic[0];
|
|
123
|
+
bezier[3] = cubic[1];
|
|
124
|
+
bezier[4] = cubic[2];
|
|
125
|
+
bezier[5] = cubic[3];
|
|
126
|
+
}
|
|
127
|
+
const hull = (0, exports.getBezierHullByPos)(bezier, pos);
|
|
128
|
+
/**
|
|
129
|
+
* 0, 1, 2: 二次贝赛尔点,1为中心点,没用
|
|
130
|
+
* 3, 4: 三次点,
|
|
131
|
+
* 5: 新增点
|
|
132
|
+
*/
|
|
133
|
+
const newPoint = {
|
|
134
|
+
x: hull[5].x,
|
|
135
|
+
y: hull[5].y,
|
|
136
|
+
x1: hull[3].x,
|
|
137
|
+
y1: hull[3].y,
|
|
138
|
+
x2: hull[4].x,
|
|
139
|
+
y2: hull[4].y,
|
|
140
|
+
id: (0, utils_1.generateUuid)(),
|
|
141
|
+
type: canvas_draw_1.PATH_FUNC_TYPE.UNEQUAL,
|
|
142
|
+
};
|
|
143
|
+
let pCenter;
|
|
144
|
+
if (point.type !== canvas_draw_1.PATH_FUNC_TYPE.STRAIGHT) {
|
|
145
|
+
point.type = canvas_draw_1.PATH_FUNC_TYPE.UNEQUAL;
|
|
146
|
+
point.x2 = (0, canvas_draw_1.toFixedValue)(hull[0].x, 4);
|
|
147
|
+
point.y2 = (0, canvas_draw_1.toFixedValue)(hull[0].y, 4);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
// 不是贝赛尔时,转换回二次贝赛尔点;
|
|
151
|
+
pCenter = (0, canvas_draw_1.cubicToQuadratic)(hull[5], hull[3]);
|
|
152
|
+
newPoint.x1 = (0, canvas_draw_1.toFixedValue)(pCenter.x, 4);
|
|
153
|
+
newPoint.y1 = (0, canvas_draw_1.toFixedValue)(pCenter.y, 4);
|
|
154
|
+
}
|
|
155
|
+
if (nextPoint.type !== canvas_draw_1.PATH_FUNC_TYPE.STRAIGHT) {
|
|
156
|
+
nextPoint.type = canvas_draw_1.PATH_FUNC_TYPE.UNEQUAL;
|
|
157
|
+
nextPoint.x1 = (0, canvas_draw_1.toFixedValue)(hull[2].x, 4);
|
|
158
|
+
nextPoint.y1 = (0, canvas_draw_1.toFixedValue)(hull[2].y, 4);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
pCenter = (0, canvas_draw_1.cubicToQuadratic)(hull[5], hull[4]);
|
|
162
|
+
newPoint.x2 = (0, canvas_draw_1.toFixedValue)(pCenter.x, 4);
|
|
163
|
+
newPoint.y2 = (0, canvas_draw_1.toFixedValue)(pCenter.y, 4);
|
|
164
|
+
}
|
|
165
|
+
return newPoint;
|
|
166
|
+
};
|
|
167
|
+
exports.getNewPoint = getNewPoint;
|
|
168
|
+
const setBezierMovePoint = (path, key, pos) => {
|
|
169
|
+
const { type } = path;
|
|
170
|
+
const x = key === 'left' ? 'x1' : 'x2';
|
|
171
|
+
const x1 = key === 'left' ? 'x2' : 'x1';
|
|
172
|
+
const y = key === 'left' ? 'y1' : 'y2';
|
|
173
|
+
const y1 = key === 'left' ? 'y2' : 'y1';
|
|
174
|
+
const center = { x: path.x, y: path.y };
|
|
175
|
+
const currentPoint = { x: pos.x, y: pos.y };
|
|
176
|
+
path[x] = (0, canvas_draw_1.toFixedValue)(pos.x, 4);
|
|
177
|
+
path[y] = (0, canvas_draw_1.toFixedValue)(pos.y, 4);
|
|
178
|
+
let p2 = false;
|
|
179
|
+
const isOnly = typeof path[x1] === 'undefined' && typeof path[y1] === 'undefined';
|
|
180
|
+
if (!isOnly) {
|
|
181
|
+
switch (type) {
|
|
182
|
+
case canvas_draw_1.PATH_FUNC_TYPE.EQUAL:
|
|
183
|
+
p2 = (0, exports.getExtendPositionByPoint)(center, currentPoint);
|
|
184
|
+
break;
|
|
185
|
+
case canvas_draw_1.PATH_FUNC_TYPE.UNEQUAL:
|
|
186
|
+
// 取半径,走圆周;
|
|
187
|
+
const radius = (0, canvas_draw_1.getLineWidth)(center, { x: path[x1], y: path[y1] });
|
|
188
|
+
p2 = (0, exports.getExtendPositionByRadius)(center, currentPoint, radius);
|
|
189
|
+
break;
|
|
190
|
+
default:
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
if (p2) {
|
|
194
|
+
path[x1] = (0, canvas_draw_1.toFixedValue)(p2.x, 4);
|
|
195
|
+
path[y1] = (0, canvas_draw_1.toFixedValue)(p2.y, 4);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return path;
|
|
199
|
+
};
|
|
200
|
+
exports.setBezierMovePoint = setBezierMovePoint;
|
|
201
|
+
const updatePathNodeData = (node) => {
|
|
202
|
+
const { position, origin, path } = node;
|
|
203
|
+
const { paths: p = [], closed } = path;
|
|
204
|
+
const paths = [...p];
|
|
205
|
+
if (closed) {
|
|
206
|
+
paths.push(paths[0]);
|
|
207
|
+
}
|
|
208
|
+
const bounds = (0, canvas_draw_1.getPathBounds)(paths);
|
|
209
|
+
const x = bounds.minX + bounds.width * ((origin === null || origin === void 0 ? void 0 : origin.x) || 0.5);
|
|
210
|
+
const y = bounds.minY + bounds.height * ((origin === null || origin === void 0 ? void 0 : origin.y) || 0.5);
|
|
211
|
+
const newPath = p.map(c => {
|
|
212
|
+
const item = Object.assign(Object.assign({}, c), { x: (0, canvas_draw_1.toFixedValue)(c.x - x, 4), y: (0, canvas_draw_1.toFixedValue)(c.y - y, 4) });
|
|
213
|
+
if (typeof c.x1 === 'number') {
|
|
214
|
+
item.x1 = (0, canvas_draw_1.toFixedValue)(c.x1 - x, 4);
|
|
215
|
+
}
|
|
216
|
+
if (typeof c.x2 === 'number') {
|
|
217
|
+
item.x2 = (0, canvas_draw_1.toFixedValue)(c.x2 - x, 4);
|
|
218
|
+
}
|
|
219
|
+
if (typeof c.y1 === 'number') {
|
|
220
|
+
item.y1 = (0, canvas_draw_1.toFixedValue)(c.y1 - y, 4);
|
|
221
|
+
}
|
|
222
|
+
if (typeof c.y2 === 'number') {
|
|
223
|
+
item.y2 = (0, canvas_draw_1.toFixedValue)(c.y2 - y, 4);
|
|
224
|
+
}
|
|
225
|
+
return item;
|
|
226
|
+
});
|
|
227
|
+
return {
|
|
228
|
+
path: Object.assign(Object.assign({}, path), { paths: newPath }),
|
|
229
|
+
position: {
|
|
230
|
+
x: x + ((position === null || position === void 0 ? void 0 : position.x) || 0),
|
|
231
|
+
y: y + ((position === null || position === void 0 ? void 0 : position.y) || 0),
|
|
232
|
+
},
|
|
233
|
+
};
|
|
234
|
+
};
|
|
235
|
+
exports.updatePathNodeData = updatePathNodeData;
|
|
236
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/browser/playground/path-edit/utils.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,56 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { EditorStateConfigEntity, Layer } from '@gedit/playground';
|
|
2
|
+
import { EditorStateConfigEntity, Layer, SelectorBoxConfigEntity } from '@gedit/playground';
|
|
3
3
|
import { DocumentEntity } from './entities/document-entity';
|
|
4
4
|
import { Editor2dDocument, Editor2dPathNode } from '../model';
|
|
5
5
|
import { PlaygroundContext2d } from './playground-context';
|
|
6
6
|
import { PathChild } from '@gedit/canvas-draw';
|
|
7
|
-
import {
|
|
7
|
+
import { Disposable } from '@gedit/utils';
|
|
8
|
+
import { PointSchema } from './path-edit';
|
|
9
|
+
export interface PathEditLayerEventContextProps {
|
|
10
|
+
onPointMouseDown: (e: React.MouseEvent, p: PathChild) => void;
|
|
11
|
+
onClosePath: () => void;
|
|
12
|
+
onSceneAddEvent: (event: keyof HTMLElementEventMap, cb: (e: MouseEvent) => void, toDispose?: boolean) => Disposable;
|
|
13
|
+
onBezierPointMouseDown: (e: React.MouseEvent, p: PathChild, key: string) => void;
|
|
14
|
+
onPathAddPoint: (index: number, e: React.MouseEvent) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const PathEditLayerEventContext: React.Context<PathEditLayerEventContextProps>;
|
|
8
17
|
/**
|
|
9
18
|
* 动态绘制层
|
|
10
19
|
*/
|
|
11
20
|
export declare class PathEditLayer extends Layer<PlaygroundContext2d> {
|
|
12
21
|
node: HTMLDivElement;
|
|
13
22
|
protected editorState: EditorStateConfigEntity;
|
|
23
|
+
protected selectorConfig: SelectorBoxConfigEntity;
|
|
14
24
|
documentEntity: DocumentEntity;
|
|
15
|
-
protected hideMovePoint: boolean;
|
|
16
25
|
currentPathNode?: Editor2dPathNode;
|
|
17
|
-
currentPointId?: string;
|
|
18
26
|
startPos?: PathChild;
|
|
19
|
-
|
|
27
|
+
protected bezierStartPos?: {
|
|
28
|
+
x: number;
|
|
29
|
+
y: number;
|
|
30
|
+
key: 'left' | 'right';
|
|
31
|
+
path: PathChild;
|
|
32
|
+
};
|
|
33
|
+
get document(): Editor2dDocument | undefined;
|
|
20
34
|
get isEnabled(): boolean;
|
|
21
35
|
onZoom(scale: number): void;
|
|
36
|
+
addDispose(disposable: Disposable[]): void;
|
|
37
|
+
reNodeData(): void;
|
|
38
|
+
updateNodeData(): void;
|
|
39
|
+
protected isOnePoint(point?: PathChild): boolean;
|
|
40
|
+
protected isLastPoint(point?: PathChild): boolean;
|
|
41
|
+
protected getPointIsStartOrEnd(point?: PathChild): boolean;
|
|
22
42
|
onReady(): void;
|
|
23
43
|
/**
|
|
24
44
|
* 创建路径
|
|
25
45
|
* @param pos - 当前鼠标点击的位置
|
|
26
46
|
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
protected onBezierPointMouseDown(e: React.MouseEvent, p: PathChild, key:
|
|
30
|
-
protected
|
|
31
|
-
protected
|
|
32
|
-
protected
|
|
33
|
-
protected
|
|
47
|
+
initPath(pos: PointSchema): void;
|
|
48
|
+
protected onBezierPointMove(pos: PointSchema): void;
|
|
49
|
+
protected onBezierPointMouseDown(e: React.MouseEvent, p: PathChild, key: 'left' | 'right'): void;
|
|
50
|
+
protected onSceneAddEvent(e: keyof HTMLElementEventMap, cb: (e: MouseEvent) => void, toDispose?: boolean): Disposable;
|
|
51
|
+
protected onPointMouseDown(e: React.MouseEvent, currentPoint: PathChild): void;
|
|
52
|
+
protected onPathAddPoint(i: number, e: React.MouseEvent): void;
|
|
53
|
+
protected onClosePath(): void;
|
|
34
54
|
draw(): JSX.Element;
|
|
35
55
|
}
|
|
36
56
|
//# sourceMappingURL=path-edit-layer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-edit-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/path-edit-layer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"path-edit-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/path-edit-layer.tsx"],"names":[],"mappings":"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"}
|