@gedit/editor-2d 0.3.4 → 0.3.6
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/LICENSE +21 -0
- package/lib/browser/editor2d-anim-path-selection-service.d.ts +24 -0
- package/lib/browser/editor2d-anim-path-selection-service.d.ts.map +1 -0
- package/lib/browser/editor2d-anim-path-selection-service.js +52 -0
- package/lib/browser/editor2d-anim-path-selection-service.js.map +1 -0
- package/lib/browser/editor2d-context-key-service.js +7 -10
- package/lib/browser/editor2d-context-key-service.js.map +1 -1
- package/lib/browser/editor2d-contribution.js +25 -28
- package/lib/browser/editor2d-contribution.js.map +1 -1
- package/lib/browser/editor2d-frontend-module.d.ts.map +1 -1
- package/lib/browser/editor2d-frontend-module.js +38 -38
- package/lib/browser/editor2d-frontend-module.js.map +1 -1
- package/lib/browser/editor2d-label-provider.js +18 -21
- package/lib/browser/editor2d-label-provider.js.map +1 -1
- package/lib/browser/editor2d-model-provider.js +16 -19
- package/lib/browser/editor2d-model-provider.js.map +1 -1
- package/lib/browser/editor2d-ref-provider-contribution.js +13 -16
- package/lib/browser/editor2d-ref-provider-contribution.js.map +1 -1
- package/lib/browser/editor2d-service.d.ts +2 -0
- package/lib/browser/editor2d-service.d.ts.map +1 -1
- package/lib/browser/editor2d-service.js +28 -27
- package/lib/browser/editor2d-service.js.map +1 -1
- package/lib/browser/index.d.ts +2 -0
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +6 -20
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/model/editor2d-document.d.ts +22 -9
- package/lib/browser/model/editor2d-document.d.ts.map +1 -1
- package/lib/browser/model/editor2d-document.js +248 -133
- package/lib/browser/model/editor2d-document.js.map +1 -1
- package/lib/browser/model/editor2d-iterator.js +1 -5
- package/lib/browser/model/editor2d-iterator.js.map +1 -1
- package/lib/browser/model/editor2d-model-container.js +22 -26
- package/lib/browser/model/editor2d-model-container.js.map +1 -1
- package/lib/browser/model/editor2d-model.js +21 -24
- package/lib/browser/model/editor2d-model.js.map +1 -1
- package/lib/browser/model/editor2d-selection.js +7 -10
- package/lib/browser/model/editor2d-selection.js.map +1 -1
- package/lib/browser/model/editor2d-widget.js +17 -20
- package/lib/browser/model/editor2d-widget.js.map +1 -1
- package/lib/browser/model/editor2d.d.ts.map +1 -1
- package/lib/browser/model/editor2d.js +37 -35
- package/lib/browser/model/editor2d.js.map +1 -1
- package/lib/browser/model/index.js +7 -23
- package/lib/browser/model/index.js.map +1 -1
- package/lib/browser/model/utils/anim.utils.d.ts +2 -1
- package/lib/browser/model/utils/anim.utils.d.ts.map +1 -1
- package/lib/browser/model/utils/anim.utils.js +14 -16
- package/lib/browser/model/utils/anim.utils.js.map +1 -1
- package/lib/browser/model/utils/index.js +1 -17
- package/lib/browser/model/utils/index.js.map +1 -1
- package/lib/browser/playground/anim-path-edit-layer.d.ts +33 -0
- package/lib/browser/playground/anim-path-edit-layer.d.ts.map +1 -0
- package/lib/browser/playground/anim-path-edit-layer.js +352 -0
- package/lib/browser/playground/anim-path-edit-layer.js.map +1 -0
- package/lib/browser/playground/canvas-draw.d.ts +3 -0
- package/lib/browser/playground/canvas-draw.d.ts.map +1 -1
- package/lib/browser/playground/canvas-draw.js +57 -39
- package/lib/browser/playground/canvas-draw.js.map +1 -1
- package/lib/browser/playground/canvas-layer.d.ts.map +1 -1
- package/lib/browser/playground/canvas-layer.js +29 -32
- package/lib/browser/playground/canvas-layer.js.map +1 -1
- package/lib/browser/playground/entities/document-entity.js +2 -6
- package/lib/browser/playground/entities/document-entity.js.map +1 -1
- package/lib/browser/playground/entities/editor2d-entity.js +3 -7
- package/lib/browser/playground/entities/editor2d-entity.js.map +1 -1
- package/lib/browser/playground/entities/extend-entity.js +2 -6
- package/lib/browser/playground/entities/extend-entity.js.map +1 -1
- package/lib/browser/playground/entities/index.js +3 -19
- package/lib/browser/playground/entities/index.js.map +1 -1
- package/lib/browser/playground/extend-edit/gradient-conic-node.d.ts +4 -0
- package/lib/browser/playground/extend-edit/gradient-conic-node.d.ts.map +1 -0
- package/lib/browser/playground/extend-edit/gradient-conic-node.js +69 -0
- package/lib/browser/playground/extend-edit/gradient-conic-node.js.map +1 -0
- package/lib/browser/playground/{extend-edit-layer-point-event.d.ts → extend-edit/gradient-edit-layer-point-event.d.ts} +1 -1
- package/lib/browser/playground/extend-edit/gradient-edit-layer-point-event.d.ts.map +1 -0
- package/lib/browser/playground/{extend-edit-layer-point-event.js → extend-edit/gradient-edit-layer-point-event.js} +3 -28
- package/lib/browser/playground/extend-edit/gradient-edit-layer-point-event.js.map +1 -0
- package/lib/browser/playground/extend-edit/gradient-node.d.ts +13 -0
- package/lib/browser/playground/extend-edit/gradient-node.d.ts.map +1 -0
- package/lib/browser/playground/extend-edit/gradient-node.js +154 -0
- package/lib/browser/playground/extend-edit/gradient-node.js.map +1 -0
- package/lib/browser/playground/extend-edit-layer.d.ts +0 -8
- package/lib/browser/playground/extend-edit-layer.d.ts.map +1 -1
- package/lib/browser/playground/extend-edit-layer.js +30 -249
- package/lib/browser/playground/extend-edit-layer.js.map +1 -1
- package/lib/browser/playground/index.js +11 -30
- package/lib/browser/playground/index.js.map +1 -1
- package/lib/browser/playground/path-edit/anim-path-edit-svg.d.ts +17 -0
- package/lib/browser/playground/path-edit/anim-path-edit-svg.d.ts.map +1 -0
- package/lib/browser/playground/path-edit/anim-path-edit-svg.js +58 -0
- package/lib/browser/playground/path-edit/anim-path-edit-svg.js.map +1 -0
- package/lib/browser/playground/path-edit/index.js +3 -19
- package/lib/browser/playground/path-edit/index.js.map +1 -1
- package/lib/browser/playground/path-edit/path-edit-layer-move-point.d.ts +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 +9 -39
- 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 +2 -6
- 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 +20 -50
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.js.map +1 -1
- package/lib/browser/playground/path-edit/utils.js +64 -100
- package/lib/browser/playground/path-edit/utils.js.map +1 -1
- package/lib/browser/playground/path-edit-layer.d.ts.map +1 -1
- package/lib/browser/playground/path-edit-layer.js +67 -95
- package/lib/browser/playground/path-edit-layer.js.map +1 -1
- package/lib/browser/playground/playground-context.d.ts +3 -3
- package/lib/browser/playground/playground-context.d.ts.map +1 -1
- package/lib/browser/playground/playground-context.js +48 -54
- package/lib/browser/playground/playground-context.js.map +1 -1
- package/lib/browser/playground/playground-contribution.d.ts.map +1 -1
- package/lib/browser/playground/playground-contribution.js +41 -42
- 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 +26 -54
- package/lib/browser/playground/selection-entity-manager.js.map +1 -1
- package/lib/browser/playground/selector-extend-icons.js +12 -39
- package/lib/browser/playground/selector-extend-icons.js.map +1 -1
- package/lib/browser/playground/selector-extend-renderer.js +22 -52
- package/lib/browser/playground/selector-extend-renderer.js.map +1 -1
- package/lib/browser/utils/bezier.path.utils.d.ts +23 -0
- package/lib/browser/utils/bezier.path.utils.d.ts.map +1 -0
- package/lib/browser/utils/bezier.path.utils.js +64 -0
- package/lib/browser/utils/bezier.path.utils.js.map +1 -0
- package/lib/browser/utils/bounds.d.ts.map +1 -1
- package/lib/browser/utils/bounds.js +17 -22
- package/lib/browser/utils/bounds.js.map +1 -1
- package/lib/browser/utils/snapshot.js +17 -20
- package/lib/browser/utils/snapshot.js.map +1 -1
- package/lib/i18n/zh-CN.js +1 -3
- package/lib/i18n/zh-CN.js.map +1 -1
- package/package.json +11 -10
- package/src/browser/editor2d-anim-path-selection-service.ts +48 -0
- package/src/browser/editor2d-frontend-module.ts +2 -0
- package/src/browser/editor2d-service.ts +2 -0
- package/src/browser/index.ts +2 -1
- package/src/browser/model/editor2d-document.ts +198 -20
- package/src/browser/model/editor2d.ts +13 -2
- package/src/browser/model/utils/anim.utils.ts +10 -6
- package/src/browser/playground/anim-path-edit-layer.tsx +435 -0
- package/src/browser/playground/canvas-draw.ts +37 -2
- package/src/browser/playground/canvas-layer.ts +1 -0
- package/src/browser/playground/extend-edit/gradient-conic-node.tsx +106 -0
- package/src/browser/playground/extend-edit/gradient-node.tsx +232 -0
- package/src/browser/playground/extend-edit-layer.tsx +32 -312
- package/src/browser/playground/path-edit/anim-path-edit-svg.tsx +168 -0
- package/src/browser/playground/path-edit/path-edit-layer-move-point.tsx +1 -1
- package/src/browser/playground/path-edit/path-edit-layer-svg-path.tsx +3 -7
- package/src/browser/playground/path-edit/utils.tsx +1 -1
- package/src/browser/playground/path-edit-layer.tsx +4 -4
- package/src/browser/playground/playground-context.ts +2 -6
- package/src/browser/playground/playground-contribution.ts +2 -0
- package/src/browser/playground/selection-entity-manager.tsx +7 -7
- package/src/browser/style/path-edit-layer.less +13 -5
- package/src/browser/utils/bezier.path.utils.ts +89 -0
- package/src/browser/utils/bounds.ts +0 -1
- package/lib/browser/playground/extend-edit-layer-point-event.d.ts.map +0 -1
- package/lib/browser/playground/extend-edit-layer-point-event.js.map +0 -1
- /package/src/browser/playground/{extend-edit-layer-point-event.tsx → extend-edit/gradient-edit-layer-point-event.tsx} +0 -0
|
@@ -1,39 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.PointMoveDefault = void 0;
|
|
30
|
-
const React = __importStar(require("react"));
|
|
31
|
-
const canvas_draw_1 = require("@gedit/canvas-draw");
|
|
32
|
-
const path_edit_layer_1 = require("../path-edit-layer");
|
|
33
|
-
const clsx_1 = __importDefault(require("clsx"));
|
|
34
|
-
const PointMoveDefault = ({ getPosFromMouseEvent, paths, scale, closePath, currentPointId, }) => {
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PATH_FUNC_TYPE, getPointsToPath } from '@gedit/canvas-draw';
|
|
3
|
+
import { PathEditLayerEventContext } from '../path-edit-layer';
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
export const PointMoveDefault = ({ getPosFromMouseEvent, paths, scale, closePath, currentPointId, }) => {
|
|
35
6
|
const [movePoint, setMovePoint] = React.useState();
|
|
36
|
-
const { onSceneAddEvent } = React.useContext(
|
|
7
|
+
const { onSceneAddEvent } = React.useContext(PathEditLayerEventContext);
|
|
37
8
|
const endPoint = paths[paths.length - 1];
|
|
38
9
|
const startPoint = paths[0];
|
|
39
10
|
/**
|
|
@@ -53,7 +24,7 @@ const PointMoveDefault = ({ getPosFromMouseEvent, paths, scale, closePath, curre
|
|
|
53
24
|
}
|
|
54
25
|
const onMove = (e) => {
|
|
55
26
|
const pos = getPosFromMouseEvent(e);
|
|
56
|
-
setMovePoint(Object.assign(Object.assign({}, pos), { type:
|
|
27
|
+
setMovePoint(Object.assign(Object.assign({}, pos), { type: PATH_FUNC_TYPE.STRAIGHT }));
|
|
57
28
|
};
|
|
58
29
|
React.useEffect(() => {
|
|
59
30
|
const event = onSceneAddEvent('mousemove', onMove);
|
|
@@ -73,10 +44,9 @@ const PointMoveDefault = ({ getPosFromMouseEvent, paths, scale, closePath, curre
|
|
|
73
44
|
return null;
|
|
74
45
|
}
|
|
75
46
|
const line = lineStartPoint &&
|
|
76
|
-
|
|
47
|
+
getPointsToPath([lineStartPoint, closePath ? lineEndPoint : movePoint]);
|
|
77
48
|
return (React.createElement(React.Fragment, null,
|
|
78
49
|
line && (React.createElement("path", { className: "gedit-path-edit-layer-line", d: line, strokeLinecap: "round", strokeWidth: 1.5 / scale })),
|
|
79
|
-
React.createElement("circle", { className: (
|
|
50
|
+
React.createElement("circle", { className: clsx('gedit-path-edit-layer-point', 'gedit-path-edit-layer-point-move', 'gedit-path-edit-layer-pen'), cx: closePath ? startPoint.x : movePoint.x, cy: closePath ? startPoint.y : movePoint.y, r: 4 / scale })));
|
|
80
51
|
};
|
|
81
|
-
exports.PointMoveDefault = PointMoveDefault;
|
|
82
52
|
//# sourceMappingURL=path-edit-layer-move-point.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-edit-layer-move-point.js","sourceRoot":"","sources":["../../../../src/browser/playground/path-edit/path-edit-layer-move-point.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"path-edit-layer-move-point.js","sourceRoot":"","sources":["../../../../src/browser/playground/path-edit/path-edit-layer-move-point.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { PathChild } from '@gedit/canvas-draw';
|
|
3
3
|
import { PointDefaultProps } from './path-edit-layer-move-point';
|
|
4
|
-
import { PathSelectMode } from '@gedit/playground';
|
|
4
|
+
import { PathSelectMode, PathPointSelection } from '@gedit/playground';
|
|
5
5
|
import { Editor2dPathNode } from '../../model';
|
|
6
|
-
export interface PointSelection {
|
|
7
|
-
pointId?: string;
|
|
8
|
-
bezierKey?: string;
|
|
9
|
-
}
|
|
10
6
|
export interface PathSVGProps {
|
|
11
7
|
width: number;
|
|
12
8
|
height: number;
|
|
13
9
|
paths: PathChild[];
|
|
14
10
|
node?: Editor2dPathNode;
|
|
15
11
|
scale: number;
|
|
16
|
-
selection?:
|
|
12
|
+
selection?: PathPointSelection[];
|
|
17
13
|
selectMode?: PathSelectMode;
|
|
18
14
|
getPosFromMouseEvent: PointDefaultProps['getPosFromMouseEvent'];
|
|
19
15
|
getPointIsStartOrEnd: () => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-edit-layer-svg-path.d.ts","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,EACL,SAAS,EAGV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"path-edit-layer-svg-path.d.ts","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,EACL,SAAS,EAGV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,oBAAoB,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;IAChE,oBAAoB,EAAE,MAAM,OAAO,CAAC;CACrC;AAED,eAAO,MAAM,OAAO,8GAUjB,YAAY,sBAiQd,CAAC"}
|
|
@@ -1,45 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.SvgPath = void 0;
|
|
30
|
-
const React = __importStar(require("react"));
|
|
31
|
-
const canvas_draw_1 = require("@gedit/canvas-draw");
|
|
32
|
-
const path_edit_layer_move_point_1 = require("./path-edit-layer-move-point");
|
|
33
|
-
const path_edit_layer_1 = require("../path-edit-layer");
|
|
34
|
-
const clsx_1 = __importDefault(require("clsx"));
|
|
35
|
-
const utils_1 = require("@gedit/utils");
|
|
36
|
-
const playground_1 = require("@gedit/playground");
|
|
37
|
-
const SvgPath = ({ node, width, height, paths, scale, selection = [], selectMode, getPosFromMouseEvent, getPointIsStartOrEnd, }) => {
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PATH_FUNC_TYPE, getPointsToPaths /* getPathToBezier */, } from '@gedit/canvas-draw';
|
|
3
|
+
import { PointMoveDefault, } from './path-edit-layer-move-point';
|
|
4
|
+
import { PathEditLayerEventContext } from '../path-edit-layer';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import { generateUuid } from '@gedit/utils';
|
|
7
|
+
import { PathSelectMode } from '@gedit/playground';
|
|
8
|
+
export const SvgPath = ({ node, width, height, paths, scale, selection = [], selectMode, getPosFromMouseEvent, getPointIsStartOrEnd, }) => {
|
|
38
9
|
var _a;
|
|
39
10
|
const { path, } = node || {};
|
|
40
11
|
const { closed } = path || {};
|
|
41
12
|
const isMultiple = selection.length > 1; // 多选模式;
|
|
42
|
-
const isSelect = selectMode !==
|
|
13
|
+
const isSelect = selectMode !== PathSelectMode.ADD_PATH; // 选择点模式
|
|
43
14
|
const [hideMovePoint, setHideMovePoint] = React.useState(false);
|
|
44
15
|
const [closePath, setClosePath] = React.useState(false);
|
|
45
16
|
const onHideMovePoint = () => {
|
|
@@ -58,12 +29,12 @@ const SvgPath = ({ node, width, height, paths, scale, selection = [], selectMode
|
|
|
58
29
|
e.preventDefault();
|
|
59
30
|
e.stopPropagation();
|
|
60
31
|
};
|
|
61
|
-
const { onPointMouseDown, onClosePath: onClosedPath, onPathAddPoint, onBezierPointMouseDown, } = React.useContext(
|
|
32
|
+
const { onPointMouseDown, onClosePath: onClosedPath, onPathAddPoint, onBezierPointMouseDown, } = React.useContext(PathEditLayerEventContext);
|
|
62
33
|
const p = [...paths];
|
|
63
34
|
if (closed) {
|
|
64
|
-
p.push(Object.assign(Object.assign({}, paths[0]), { id:
|
|
35
|
+
p.push(Object.assign(Object.assign({}, paths[0]), { id: generateUuid() }));
|
|
65
36
|
}
|
|
66
|
-
const pathsStringArray =
|
|
37
|
+
const pathsStringArray = getPointsToPaths(p);
|
|
67
38
|
/**
|
|
68
39
|
* 路径点
|
|
69
40
|
* 1. 没有任何点的情况,显示默认移动点,不绘制路径;
|
|
@@ -96,12 +67,12 @@ const SvgPath = ({ node, width, height, paths, scale, selection = [], selectMode
|
|
|
96
67
|
*/
|
|
97
68
|
const closePoint = (paths.length > 2 ||
|
|
98
69
|
(paths.length === 2 &&
|
|
99
|
-
paths.some(c => c.type !==
|
|
70
|
+
paths.some(c => c.type !== PATH_FUNC_TYPE.STRAIGHT))) &&
|
|
100
71
|
!closed &&
|
|
101
72
|
!isMultiple &&
|
|
102
73
|
pointIsStartOrEnd &&
|
|
103
74
|
closePointIndex === i;
|
|
104
|
-
return (React.createElement("circle", { className: (
|
|
75
|
+
return (React.createElement("circle", { className: clsx('gedit-path-edit-layer-point', {
|
|
105
76
|
'gedit-path-edit-layer-point-closed': closePoint,
|
|
106
77
|
'gedit-path-edit-layer-point-active': selection.some(c => c.pointId === item.id) && !bezierSelect,
|
|
107
78
|
}), cx: item.x, cy: item.y, r: 4 / scale, key: item.id, strokeWidth: "1", onDoubleClick: onClickStopPropagation, onMouseDown: e => {
|
|
@@ -144,12 +115,12 @@ const SvgPath = ({ node, width, height, paths, scale, selection = [], selectMode
|
|
|
144
115
|
bezierPoints.forEach((p, i) => {
|
|
145
116
|
const selectionNode = selection.find(c => c.pointId === p.id);
|
|
146
117
|
const { bezierKey, pointId: currentPointId } = selectionNode || {};
|
|
147
|
-
if (p.type ===
|
|
118
|
+
if (p.type === PATH_FUNC_TYPE.STRAIGHT) {
|
|
148
119
|
return;
|
|
149
120
|
}
|
|
150
121
|
if ('x1' in p && 'y1' in p) {
|
|
151
122
|
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}` }));
|
|
152
|
-
bezierPointNodes.push(React.createElement("circle", { key: `${p.id}_${i}_x1_point`, className: (
|
|
123
|
+
bezierPointNodes.push(React.createElement("circle", { key: `${p.id}_${i}_x1_point`, className: clsx('gedit-path-edit-layer-point-bezier', {
|
|
153
124
|
'gedit-path-edit-layer-point-active': bezierKey === 'left' && currentPointId === p.id,
|
|
154
125
|
}), cx: p.x1, cy: p.y1, r: 3 / scale, onDoubleClick: onClickStopPropagation, onMouseDown: e => {
|
|
155
126
|
onBezierPointMouseDown(e, p, 'left');
|
|
@@ -157,7 +128,7 @@ const SvgPath = ({ node, width, height, paths, scale, selection = [], selectMode
|
|
|
157
128
|
}
|
|
158
129
|
if ('x2' in p && 'y2' in p) {
|
|
159
130
|
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}` }));
|
|
160
|
-
bezierPointNodes.push(React.createElement("circle", { key: `${p.id}_${i}x2_point`, className: (
|
|
131
|
+
bezierPointNodes.push(React.createElement("circle", { key: `${p.id}_${i}x2_point`, className: clsx('gedit-path-edit-layer-point-bezier', {
|
|
161
132
|
'gedit-path-edit-layer-point-active': bezierKey === 'right' && currentPointId === p.id,
|
|
162
133
|
}), cx: p.x2, cy: p.y2, r: 3 / scale, onDoubleClick: onClickStopPropagation, onMouseDown: e => {
|
|
163
134
|
onBezierPointMouseDown(e, p, 'right');
|
|
@@ -179,11 +150,11 @@ const SvgPath = ({ node, width, height, paths, scale, selection = [], selectMode
|
|
|
179
150
|
(rotation * 180) / Math.PI
|
|
180
151
|
}deg) scale(${nodeScale.x}, ${nodeScale.y})`,
|
|
181
152
|
}} */
|
|
182
|
-
className: (
|
|
153
|
+
className: clsx('gedit-path-edit-layer-svg', {
|
|
183
154
|
// 'gedit-path-edit-layer-pen': !closed,
|
|
184
155
|
}) },
|
|
185
|
-
showDefaultMovePoint && (React.createElement(
|
|
186
|
-
pathsStringArray.map((p, i) => (React.createElement("path", { className: (
|
|
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 => {
|
|
187
158
|
e.preventDefault();
|
|
188
159
|
e.stopPropagation();
|
|
189
160
|
onPathAddPoint(i, e);
|
|
@@ -192,5 +163,4 @@ const SvgPath = ({ node, width, height, paths, scale, selection = [], selectMode
|
|
|
192
163
|
allPoints,
|
|
193
164
|
bezierPointNodes));
|
|
194
165
|
};
|
|
195
|
-
exports.SvgPath = SvgPath;
|
|
196
166
|
//# sourceMappingURL=path-edit-layer-svg-path.js.map
|
|
@@ -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":"
|
|
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,36 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.updatePathNodeData = exports.inverseTransformToData = exports.transformToData = exports.setBezierMovePoint = exports.getNewPoint = exports.getExtendPositionByRadius = exports.getExtendPositionByPoint = exports.getBezierHullByPos = exports.getLeftRightCenterPoint = exports.pathFuncIcon = exports.transformRotation = void 0;
|
|
27
1
|
/* eslint-disable max-len*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
const transformRotation = (p1, p2, rotation) => {
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { toFixedValue, PATH_FUNC_TYPE, getLineWidth, quadraticToCubic, cubicToQuadratic, getPathBounds, getPathSizeBounds, } from '@gedit/canvas-draw';
|
|
4
|
+
import { Bezier } from 'bezier-js';
|
|
5
|
+
import { generateUuid, } from '@gedit/utils';
|
|
6
|
+
const cloneDeep = require('lodash.clonedeep');
|
|
7
|
+
export const transformRotation = (p1, p2, rotation) => {
|
|
34
8
|
if (!rotation) {
|
|
35
9
|
return p1;
|
|
36
10
|
}
|
|
@@ -43,39 +17,38 @@ const transformRotation = (p1, p2, rotation) => {
|
|
|
43
17
|
y: rotationY * Math.cos(rotation) + rotationX * Math.sin(rotation) + y2,
|
|
44
18
|
};
|
|
45
19
|
};
|
|
46
|
-
|
|
47
|
-
exports.pathFuncIcon = [
|
|
20
|
+
export const pathFuncIcon = [
|
|
48
21
|
{
|
|
49
22
|
icon: (React.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 16 16" },
|
|
50
23
|
React.createElement("g", { stroke: "none", fill: "currentColor", fillRule: "nonzero" },
|
|
51
24
|
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" }),
|
|
52
25
|
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" })))),
|
|
53
|
-
type:
|
|
26
|
+
type: PATH_FUNC_TYPE.STRAIGHT,
|
|
54
27
|
name: '笔直',
|
|
55
28
|
},
|
|
56
29
|
{
|
|
57
30
|
icon: (React.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 16 16" },
|
|
58
31
|
React.createElement("g", { stroke: "none", fill: "currentColor", fillRule: "nonzero" },
|
|
59
32
|
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" })))),
|
|
60
|
-
type:
|
|
33
|
+
type: PATH_FUNC_TYPE.EQUAL,
|
|
61
34
|
name: '平衡对称',
|
|
62
35
|
},
|
|
63
36
|
{
|
|
64
37
|
icon: (React.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 16 16" },
|
|
65
38
|
React.createElement("g", { stroke: "none", fill: "currentColor", fillRule: "nonzero" },
|
|
66
39
|
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" })))),
|
|
67
|
-
type:
|
|
40
|
+
type: PATH_FUNC_TYPE.BREAK,
|
|
68
41
|
name: '断开链接',
|
|
69
42
|
},
|
|
70
43
|
{
|
|
71
44
|
icon: (React.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 16 16" },
|
|
72
45
|
React.createElement("g", { stroke: "none", fill: "currentColor", fillRule: "nonzero" },
|
|
73
46
|
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" })))),
|
|
74
|
-
type:
|
|
47
|
+
type: PATH_FUNC_TYPE.UNEQUAL,
|
|
75
48
|
name: '平衡不对称',
|
|
76
49
|
},
|
|
77
50
|
];
|
|
78
|
-
const getLeftRightCenterPoint = (item) => {
|
|
51
|
+
export const getLeftRightCenterPoint = (item) => {
|
|
79
52
|
var _a, _b, _c, _d;
|
|
80
53
|
const l = { x: (_a = item.x1) !== null && _a !== void 0 ? _a : item.x, y: (_b = item.y1) !== null && _b !== void 0 ? _b : item.y };
|
|
81
54
|
const r = { x: (_c = item.x2) !== null && _c !== void 0 ? _c : item.x, y: (_d = item.y2) !== null && _d !== void 0 ? _d : item.y };
|
|
@@ -86,8 +59,7 @@ const getLeftRightCenterPoint = (item) => {
|
|
|
86
59
|
center: c,
|
|
87
60
|
};
|
|
88
61
|
};
|
|
89
|
-
|
|
90
|
-
const getBezierHullByPos = (points, pos) => {
|
|
62
|
+
export const getBezierHullByPos = (points, pos) => {
|
|
91
63
|
// 判断是二次还是三次贝塞尔曲线
|
|
92
64
|
/* const [x1, y1, x2, y2, x3, y3, x4, y4] = points;
|
|
93
65
|
let p: BezierArray | BezierArray<number, 6> = points;
|
|
@@ -97,25 +69,23 @@ const getBezierHullByPos = (points, pos) => {
|
|
|
97
69
|
const yB = x1 === x2 && y1 === y2 ? y3 : y1;
|
|
98
70
|
p = [x1, y1, xB, yB, x4, y4];
|
|
99
71
|
} */
|
|
100
|
-
const bezier = new
|
|
72
|
+
const bezier = new Bezier(...points);
|
|
101
73
|
const { t = 0 } = bezier.project(pos);
|
|
102
74
|
const h = bezier.hull(t);
|
|
103
75
|
const hull = h.slice(-6);
|
|
104
76
|
return hull;
|
|
105
77
|
};
|
|
106
|
-
exports.getBezierHullByPos = getBezierHullByPos;
|
|
107
78
|
/**
|
|
108
79
|
* 按点获取扩展点
|
|
109
80
|
* @param c
|
|
110
81
|
* @param s
|
|
111
82
|
* @returns
|
|
112
83
|
*/
|
|
113
|
-
const getExtendPositionByPoint = (c, s) => ({
|
|
84
|
+
export const getExtendPositionByPoint = (c, s) => ({
|
|
114
85
|
x: c.x * 2 - s.x,
|
|
115
86
|
y: c.y * 2 - s.y,
|
|
116
87
|
});
|
|
117
|
-
|
|
118
|
-
const getExtendPositionByRadius = (c, p, r) => {
|
|
88
|
+
export const getExtendPositionByRadius = (c, p, r) => {
|
|
119
89
|
const ang = (Math.atan2(p.y - c.y, p.x - c.x) / Math.PI) * 180;
|
|
120
90
|
const angle = 180 + ang;
|
|
121
91
|
const x = c.x + r * Math.cos((angle * Math.PI) / 180);
|
|
@@ -123,18 +93,17 @@ const getExtendPositionByRadius = (c, p, r) => {
|
|
|
123
93
|
// console.log(ang, angle);
|
|
124
94
|
return { x, y };
|
|
125
95
|
};
|
|
126
|
-
exports.getExtendPositionByRadius = getExtendPositionByRadius;
|
|
127
96
|
/**
|
|
128
97
|
* 获取点击线上的新增点
|
|
129
98
|
*/
|
|
130
|
-
const getNewPoint = (point, nextPoint, pos) => {
|
|
99
|
+
export const getNewPoint = (point, nextPoint, pos) => {
|
|
131
100
|
var _a, _b, _c, _d;
|
|
132
|
-
const afterQuadratic = point.type ===
|
|
133
|
-
nextPoint.type !==
|
|
101
|
+
const afterQuadratic = point.type === PATH_FUNC_TYPE.STRAIGHT &&
|
|
102
|
+
nextPoint.type !== PATH_FUNC_TYPE.STRAIGHT &&
|
|
134
103
|
typeof nextPoint.x1 === 'number' &&
|
|
135
104
|
typeof nextPoint.y1 === 'number';
|
|
136
|
-
const beforeQuadratic = point.type !==
|
|
137
|
-
nextPoint.type ===
|
|
105
|
+
const beforeQuadratic = point.type !== PATH_FUNC_TYPE.STRAIGHT &&
|
|
106
|
+
nextPoint.type === PATH_FUNC_TYPE.STRAIGHT &&
|
|
138
107
|
typeof point.x2 === 'number' &&
|
|
139
108
|
typeof point.y2 === 'number';
|
|
140
109
|
const isQuadratic = beforeQuadratic || afterQuadratic;
|
|
@@ -150,7 +119,7 @@ const getNewPoint = (point, nextPoint, pos) => {
|
|
|
150
119
|
];
|
|
151
120
|
if (isQuadratic) {
|
|
152
121
|
// 转换三次贝赛尔
|
|
153
|
-
const cubic =
|
|
122
|
+
const cubic = quadraticToCubic({
|
|
154
123
|
x: point.x,
|
|
155
124
|
y: point.y,
|
|
156
125
|
}, {
|
|
@@ -165,7 +134,7 @@ const getNewPoint = (point, nextPoint, pos) => {
|
|
|
165
134
|
bezier[4] = cubic[2];
|
|
166
135
|
bezier[5] = cubic[3];
|
|
167
136
|
}
|
|
168
|
-
const hull =
|
|
137
|
+
const hull = getBezierHullByPos(bezier, pos);
|
|
169
138
|
/**
|
|
170
139
|
* 0, 1, 2: 二次贝赛尔点,1为中心点,没用
|
|
171
140
|
* 3, 4: 三次点,
|
|
@@ -178,35 +147,34 @@ const getNewPoint = (point, nextPoint, pos) => {
|
|
|
178
147
|
y1: hull[3].y,
|
|
179
148
|
x2: hull[4].x,
|
|
180
149
|
y2: hull[4].y,
|
|
181
|
-
id:
|
|
182
|
-
type:
|
|
150
|
+
id: generateUuid(),
|
|
151
|
+
type: PATH_FUNC_TYPE.UNEQUAL,
|
|
183
152
|
};
|
|
184
153
|
let pCenter;
|
|
185
|
-
if (point.type !==
|
|
186
|
-
point.type =
|
|
187
|
-
point.x2 =
|
|
188
|
-
point.y2 =
|
|
154
|
+
if (point.type !== PATH_FUNC_TYPE.STRAIGHT) {
|
|
155
|
+
point.type = PATH_FUNC_TYPE.UNEQUAL;
|
|
156
|
+
point.x2 = toFixedValue(hull[0].x, 4);
|
|
157
|
+
point.y2 = toFixedValue(hull[0].y, 4);
|
|
189
158
|
}
|
|
190
159
|
else {
|
|
191
160
|
// 不是贝赛尔时,转换回二次贝赛尔点;
|
|
192
|
-
pCenter =
|
|
193
|
-
newPoint.x1 =
|
|
194
|
-
newPoint.y1 =
|
|
161
|
+
pCenter = cubicToQuadratic(hull[5], hull[3]);
|
|
162
|
+
newPoint.x1 = toFixedValue(pCenter.x, 4);
|
|
163
|
+
newPoint.y1 = toFixedValue(pCenter.y, 4);
|
|
195
164
|
}
|
|
196
|
-
if (nextPoint.type !==
|
|
197
|
-
nextPoint.type =
|
|
198
|
-
nextPoint.x1 =
|
|
199
|
-
nextPoint.y1 =
|
|
165
|
+
if (nextPoint.type !== PATH_FUNC_TYPE.STRAIGHT) {
|
|
166
|
+
nextPoint.type = PATH_FUNC_TYPE.UNEQUAL;
|
|
167
|
+
nextPoint.x1 = toFixedValue(hull[2].x, 4);
|
|
168
|
+
nextPoint.y1 = toFixedValue(hull[2].y, 4);
|
|
200
169
|
}
|
|
201
170
|
else {
|
|
202
|
-
pCenter =
|
|
203
|
-
newPoint.x2 =
|
|
204
|
-
newPoint.y2 =
|
|
171
|
+
pCenter = cubicToQuadratic(hull[5], hull[4]);
|
|
172
|
+
newPoint.x2 = toFixedValue(pCenter.x, 4);
|
|
173
|
+
newPoint.y2 = toFixedValue(pCenter.y, 4);
|
|
205
174
|
}
|
|
206
175
|
return newPoint;
|
|
207
176
|
};
|
|
208
|
-
|
|
209
|
-
const setBezierMovePoint = (path, key, pos) => {
|
|
177
|
+
export const setBezierMovePoint = (path, key, pos) => {
|
|
210
178
|
const { type } = path;
|
|
211
179
|
const x = key === 'left' ? 'x1' : 'x2';
|
|
212
180
|
const x1 = key === 'left' ? 'x2' : 'x1';
|
|
@@ -214,37 +182,36 @@ const setBezierMovePoint = (path, key, pos) => {
|
|
|
214
182
|
const y1 = key === 'left' ? 'y2' : 'y1';
|
|
215
183
|
const center = { x: path.x, y: path.y };
|
|
216
184
|
const currentPoint = { x: pos.x, y: pos.y };
|
|
217
|
-
path[x] =
|
|
218
|
-
path[y] =
|
|
185
|
+
path[x] = toFixedValue(pos.x, 4);
|
|
186
|
+
path[y] = toFixedValue(pos.y, 4);
|
|
219
187
|
let p2 = false;
|
|
220
188
|
const isOnly = typeof path[x1] === 'undefined' && typeof path[y1] === 'undefined';
|
|
221
189
|
if (!isOnly) {
|
|
222
190
|
switch (type) {
|
|
223
|
-
case
|
|
224
|
-
p2 =
|
|
191
|
+
case PATH_FUNC_TYPE.EQUAL:
|
|
192
|
+
p2 = getExtendPositionByPoint(center, currentPoint);
|
|
225
193
|
break;
|
|
226
|
-
case
|
|
194
|
+
case PATH_FUNC_TYPE.UNEQUAL:
|
|
227
195
|
// 取半径,走圆周;
|
|
228
|
-
const radius =
|
|
229
|
-
p2 =
|
|
196
|
+
const radius = getLineWidth(center, { x: path[x1], y: path[y1] });
|
|
197
|
+
p2 = getExtendPositionByRadius(center, currentPoint, radius);
|
|
230
198
|
break;
|
|
231
199
|
default:
|
|
232
200
|
break;
|
|
233
201
|
}
|
|
234
202
|
if (p2) {
|
|
235
|
-
path[x1] =
|
|
236
|
-
path[y1] =
|
|
203
|
+
path[x1] = toFixedValue(p2.x, 4);
|
|
204
|
+
path[y1] = toFixedValue(p2.y, 4);
|
|
237
205
|
}
|
|
238
206
|
}
|
|
239
207
|
return path;
|
|
240
208
|
};
|
|
241
|
-
|
|
242
|
-
const transformToData = (point, transform) => {
|
|
209
|
+
export const transformToData = (point, transform) => {
|
|
243
210
|
const { scale = { x: 1, y: 1 }, rotation = 0 } = transform;
|
|
244
211
|
let { x, y } = point;
|
|
245
212
|
x *= scale.x;
|
|
246
213
|
y *= scale.y;
|
|
247
|
-
const rx =
|
|
214
|
+
const rx = transformRotation({ x, y }, { x: 0, y: 0 }, rotation);
|
|
248
215
|
x = rx.x;
|
|
249
216
|
y = rx.y;
|
|
250
217
|
return {
|
|
@@ -252,46 +219,44 @@ const transformToData = (point, transform) => {
|
|
|
252
219
|
y,
|
|
253
220
|
};
|
|
254
221
|
};
|
|
255
|
-
|
|
256
|
-
const inverseTransformToData = (point, transform) => {
|
|
222
|
+
export const inverseTransformToData = (point, transform) => {
|
|
257
223
|
const { scale, rotation } = transform;
|
|
258
224
|
let { x, y } = point;
|
|
259
|
-
const r =
|
|
225
|
+
const r = transformRotation({ x, y }, { x: 0, y: 0 }, -rotation);
|
|
260
226
|
x = r.x;
|
|
261
227
|
y = r.y;
|
|
262
228
|
x /= scale.x;
|
|
263
229
|
y /= scale.y;
|
|
264
230
|
return { x, y };
|
|
265
231
|
};
|
|
266
|
-
|
|
267
|
-
const updatePathNodeData = (node) => {
|
|
232
|
+
export const updatePathNodeData = (node) => {
|
|
268
233
|
const { position = { x: 0, y: 0 }, origin = { x: 0.5, y: 0.5 }, path, style, size, rotation = 0, scale = { x: 1, y: 1 }, } = node;
|
|
269
234
|
const { paths: p = [], closed } = path;
|
|
270
|
-
const paths =
|
|
235
|
+
const paths = cloneDeep(p);
|
|
271
236
|
if (closed) {
|
|
272
|
-
paths.push(
|
|
237
|
+
paths.push(cloneDeep(paths[0]));
|
|
273
238
|
}
|
|
274
|
-
const bounds =
|
|
275
|
-
const { contentWidth, contentHeight } =
|
|
239
|
+
const bounds = getPathBounds(paths);
|
|
240
|
+
const { contentWidth, contentHeight } = getPathSizeBounds(style.line, bounds);
|
|
276
241
|
let x = bounds.minX + bounds.width * origin.x;
|
|
277
242
|
let y = bounds.minY + bounds.height * origin.y;
|
|
278
243
|
const newPath = p.map(c => {
|
|
279
|
-
const item = Object.assign(Object.assign({}, c), { x:
|
|
244
|
+
const item = Object.assign(Object.assign({}, c), { x: toFixedValue(c.x - x, 4), y: toFixedValue(c.y - y, 4) });
|
|
280
245
|
if (typeof c.x1 === 'number') {
|
|
281
|
-
item.x1 =
|
|
246
|
+
item.x1 = toFixedValue(c.x1 - x, 4);
|
|
282
247
|
}
|
|
283
248
|
if (typeof c.x2 === 'number') {
|
|
284
|
-
item.x2 =
|
|
249
|
+
item.x2 = toFixedValue(c.x2 - x, 4);
|
|
285
250
|
}
|
|
286
251
|
if (typeof c.y1 === 'number') {
|
|
287
|
-
item.y1 =
|
|
252
|
+
item.y1 = toFixedValue(c.y1 - y, 4);
|
|
288
253
|
}
|
|
289
254
|
if (typeof c.y2 === 'number') {
|
|
290
|
-
item.y2 =
|
|
255
|
+
item.y2 = toFixedValue(c.y2 - y, 4);
|
|
291
256
|
}
|
|
292
257
|
return item;
|
|
293
258
|
});
|
|
294
|
-
const t =
|
|
259
|
+
const t = transformToData({ x, y }, { scale, rotation });
|
|
295
260
|
x = t.x;
|
|
296
261
|
y = t.y;
|
|
297
262
|
x += position.x;
|
|
@@ -305,5 +270,4 @@ const updatePathNodeData = (node) => {
|
|
|
305
270
|
},
|
|
306
271
|
};
|
|
307
272
|
};
|
|
308
|
-
exports.updatePathNodeData = updatePathNodeData;
|
|
309
273
|
//# sourceMappingURL=utils.js.map
|