@gedit/editor-2d 0.3.13 → 0.3.16

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 +29 -3
  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 +15 -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 +469 -110
  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 +38 -4
  33. package/src/browser/playground/path-edit/path-edit-layer-svg-path.tsx +303 -26
  34. package/src/browser/playground/path-edit/utils.tsx +80 -17
  35. package/src/browser/playground/path-edit-layer.tsx +526 -122
  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 +1 @@
1
- {"version":3,"file":"editor2d-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/editor2d-contribution.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAE/B,aAAa,EACd,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,yBAAiB,gBAAgB,CAAC;IAEzB,MAAM,UAAU,EAAE,OAKxB,CAAC;IACK,MAAM,OAAO,EAAE,OAKrB,CAAC;IACK,MAAM,QAAQ,EAAE,OAKtB,CAAC;CACH;AAED,qBACa,oBAAqB,YAAW,+BAA+B,EAAE,mBAAmB,EAAE,yBAAyB;IAC1H,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAgB;IACZ,QAAQ,EAAE,gBAAgB,CAAC;IAClB,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAChE,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;IAErF,OAAO,IAAI,IAAI;IAWf,sBAAsB,IAAI,IAAI;IA2C9B,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAqBjD,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAuB3D,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,GAAG,OAAO;IAMpF,YAAY,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAiCjE,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMnD"}
1
+ {"version":3,"file":"editor2d-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/editor2d-contribution.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAE/B,aAAa,EACd,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,yBAAiB,gBAAgB,CAAC;IAEzB,MAAM,UAAU,EAAE,OAKxB,CAAC;IACK,MAAM,OAAO,EAAE,OAKrB,CAAC;IACK,MAAM,QAAQ,EAAE,OAKtB,CAAC;CACH;AAED,qBACa,oBAAqB,YAAW,+BAA+B,EAAE,mBAAmB,EAAE,yBAAyB;IAC1H,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAgB;IACZ,QAAQ,EAAE,gBAAgB,CAAC;IAClB,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAChE,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;IAErF,OAAO,IAAI,IAAI;IAWf,sBAAsB,IAAI,IAAI;IA2C9B,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAsBjD,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAuB3D,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,GAAG,OAAO;IAMpF,YAAY,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAiCjE,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMnD"}
@@ -100,24 +100,25 @@ let Editor2dContribution = class Editor2dContribution {
100
100
  }
101
101
  }
102
102
  registerCommands(commands) {
103
- commands.registerCommand(Editor2dCommands.FULLSCREEN, {
104
- execute: widget => this.withWidget(widget, () => {
105
- this.appShell.mainPanel.toggleMaximized();
106
- return true;
107
- }),
108
- isEnabled: widget => this.withWidget(widget, () => true),
109
- isVisible: widget => this.withWidget(widget, () => true),
110
- });
111
- commands.registerCommand(Editor2dCommands.ZOOM_IN, {
112
- execute: widget => this.withWidget(widget, () => true),
113
- isEnabled: widget => this.withWidget(widget, () => true),
114
- isVisible: widget => this.withWidget(widget, () => true),
115
- });
116
- commands.registerCommand(Editor2dCommands.ZOOM_OUT, {
117
- execute: widget => this.withWidget(widget, () => true),
118
- isEnabled: widget => this.withWidget(widget, () => true),
119
- isVisible: widget => this.withWidget(widget, () => true),
120
- });
103
+ // 画布右上角的 icon 注册事件;
104
+ // commands.registerCommand(Editor2dCommands.FULLSCREEN, {
105
+ // execute: widget => this.withWidget(widget, () => {
106
+ // this.appShell.mainPanel.toggleMaximized();
107
+ // return true;
108
+ // }),
109
+ // isEnabled: widget => this.withWidget(widget, () => true),
110
+ // isVisible: widget => this.withWidget(widget, () => true),
111
+ // });
112
+ // commands.registerCommand(Editor2dCommands.ZOOM_IN, {
113
+ // execute: widget => this.withWidget(widget, () => true),
114
+ // isEnabled: widget => this.withWidget(widget, () => true),
115
+ // isVisible: widget => this.withWidget(widget, () => true),
116
+ // });
117
+ // commands.registerCommand(Editor2dCommands.ZOOM_OUT, {
118
+ // execute: widget => this.withWidget(widget, () => true),
119
+ // isEnabled: widget => this.withWidget(widget, () => true),
120
+ // isVisible: widget => this.withWidget(widget, () => true),
121
+ // });
121
122
  }
122
123
  registerToolbarItems(toolbars) {
123
124
  /* toolbars.registerItem({
@@ -1 +1 @@
1
- {"version":3,"file":"editor2d-contribution.js","sourceRoot":"","sources":["../../src/browser/editor2d-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor2d-contribution.js","sourceRoot":"","sources":["../../src/browser/editor2d-contribution.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="lodash" />
3
- import { Layer, PipelineDimension } from '@gedit/playground';
3
+ import { EditorStateConfigEntity, Layer, PipelineDimension } from '@gedit/playground';
4
4
  import { DocumentEntity } from './entities';
5
5
  import { PlaygroundContext2d } from './playground-context';
6
6
  import { Editor2dDocument, Editor2dNode } from '../model';
@@ -9,6 +9,7 @@ import { CanvasDraw, CanvasDrawLoadingState, GameObjectChangeEvent } from './can
9
9
  import { GameObject, GameWidgetIDE } from '@gedit/render-engine-ide';
10
10
  export declare class CanvasLayer extends Layer<PlaygroundContext2d> {
11
11
  documentEntity: DocumentEntity;
12
+ protected editorState: EditorStateConfigEntity;
12
13
  node: HTMLDivElement;
13
14
  protected scene?: HTMLElement;
14
15
  protected selectionEntityManager: SelectionEntityManager;
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAU,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAuB,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EAEV,aAAa,EACd,MAAM,0BAA0B,CAAC;AA2DlC,qBAAa,WAAY,SAAQ,KAAK,CAAC,mBAAmB,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IACvD,IAAI,iBAAqD;IACzD,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACzD,SAAS,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;IACpC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,CAAM;IACxC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IAC3D,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC;IACxC,OAAO,IAAI,IAAI;IA4Ff,cAAc,0CAAqB,OAAO,WAgBvC;IAEH,kBAAkB,CAAC,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAgClD,YAAY,IAAI,MAAM;IAKtB,IAAI,QAAQ,IAAI,gBAAgB,GAAG,SAAS,CAE3C;IAED;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,sBAAsB,GAAG,IAAI;IAgBzD,SAAS,CAAC,MAAM,IAAI,IAAI;IAcxB,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAM3D,MAAM,6CAgBH;IACH,QAAQ,wCAAmB,iBAAiB,WAMzC;IACH,QAAQ,0CAAqB;QAAE,SAAS,MAAM,CAAC;QAAC,SAAS,MAAM,CAAA;KAAE,WAK9D;IAEH,OAAO,CAAC,gBAAgB,CAAwB;IAGhD,mBAAmB,6CAqBX;IACR,IAAI,IAAI,IAAI;CAqBb"}
1
+ {"version":3,"file":"canvas-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAe,uBAAuB,EAAU,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAuB,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EAEV,aAAa,EACd,MAAM,0BAA0B,CAAC;AA2DlC,qBAAa,WAAY,SAAQ,KAAK,CAAC,mBAAmB,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAEvD,SAAS,CAAC,WAAW,EAAE,uBAAuB,CAAC;IAC/C,IAAI,iBAAqD;IACzD,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACzD,SAAS,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;IACpC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,CAAM;IACxC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IAC3D,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC;IACxC,OAAO,IAAI,IAAI;IA+Ff,cAAc,0CAAqB,OAAO,WAgBvC;IAEH,kBAAkB,CAAC,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAgClD,YAAY,IAAI,MAAM;IAKtB,IAAI,QAAQ,IAAI,gBAAgB,GAAG,SAAS,CAE3C;IAED;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,sBAAsB,GAAG,IAAI;IAgBzD,SAAS,CAAC,MAAM,IAAI,IAAI;IAcxB,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAM3D,MAAM,6CAgBH;IACH,QAAQ,wCAAmB,iBAAiB,WAMzC;IACH,QAAQ,0CAAqB;QAAE,SAAS,MAAM,CAAC;QAAC,SAAS,MAAM,CAAA;KAAE,WAK9D;IAEH,OAAO,CAAC,gBAAgB,CAAwB;IAGhD,mBAAmB,6CAqBX;IACR,IAAI,IAAI,IAAI;CAqBb"}
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { entity, Layer } from '@gedit/playground';
10
+ import { EditorState, EditorStateConfigEntity, entity, Layer } from '@gedit/playground';
11
11
  import { DocumentEntity /* Editor2dEntity */ } from './entities';
12
12
  import { domUtils } from '@gedit/utils/lib/browser';
13
13
  import { Rectangle } from '@gedit/math';
@@ -207,6 +207,9 @@ export class CanvasLayer extends Layer {
207
207
  this.canvasDrawer.onGameObjectChange(this.onGameObjectChange.bind(this)),
208
208
  this.canvasDrawer.onLoading(this.updateLoading.bind(this)),
209
209
  this.listenPlaygroundEvent('mousedown', () => {
210
+ if (this.editorState.is(EditorState.EDIT_PATH_STATE.id)) {
211
+ return;
212
+ }
210
213
  this.context.syncToSelectionTree(this.selectionEntityManager);
211
214
  }, -2),
212
215
  ]);
@@ -320,4 +323,8 @@ __decorate([
320
323
  entity(DocumentEntity),
321
324
  __metadata("design:type", DocumentEntity)
322
325
  ], CanvasLayer.prototype, "documentEntity", void 0);
326
+ __decorate([
327
+ entity(EditorStateConfigEntity),
328
+ __metadata("design:type", EditorStateConfigEntity)
329
+ ], CanvasLayer.prototype, "editorState", void 0);
323
330
  //# sourceMappingURL=canvas-layer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-layer.js","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas-layer.js","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"path-edit-layer-move-point.d.ts","sourceRoot":"","sources":["../../../../src/browser/playground/path-edit/path-edit-layer-move-point.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAmC,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,oBAAoB,EAAE,CACpB,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,EACD,QAAQ,CAAC,EAAE,OAAO,KACf,cAAc,CAAC;IACpB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,gBAAgB,uEAO1B,iBAAiB,6BAkFnB,CAAC"}
1
+ {"version":3,"file":"path-edit-layer-move-point.d.ts","sourceRoot":"","sources":["../../../../src/browser/playground/path-edit/path-edit-layer-move-point.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,SAAS,EAIV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,oBAAoB,EAAE,CACpB,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,EACD,QAAQ,CAAC,EAAE,OAAO,KACf,cAAc,CAAC;IACpB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,eAAO,MAAM,gBAAgB,uEAM1B,iBAAiB,6BA8GnB,CAAC"}
@@ -1,10 +1,12 @@
1
1
  import * as React from 'react';
2
- import { PATH_FUNC_TYPE, getPointsToPath } from '@gedit/canvas-draw';
2
+ import { PATH_FUNC_TYPE, getPointsToPath, asVec, } from '@gedit/canvas-draw';
3
3
  import { PathEditLayerEventContext } from '../path-edit-layer';
4
4
  import clsx from 'clsx';
5
+ const angleArray = [0, 45, 90, 135, 180, 225, 270, 315, 360];
5
6
  export const PointMoveDefault = ({ getPosFromMouseEvent, paths, scale, closePath, currentPointId, }) => {
6
7
  const [movePoint, setMovePoint] = React.useState();
7
- const { onSceneAddEvent } = React.useContext(PathEditLayerEventContext);
8
+ const { onSceneAddEvent, isShiftKey } = React.useContext(PathEditLayerEventContext);
9
+ const shiftKeyRef = React.useRef(isShiftKey);
8
10
  const endPoint = paths[paths.length - 1];
9
11
  const startPoint = paths[0];
10
12
  /**
@@ -22,8 +24,32 @@ export const PointMoveDefault = ({ getPosFromMouseEvent, paths, scale, closePath
22
24
  const { x1: e1, x2: e2, y1: r1, y2: r2 } = lineEndPoint;
23
25
  lineEndPoint = Object.assign(Object.assign({}, lineEndPoint), { x1: e2, x2: e1, y1: r2, y2: r1 });
24
26
  }
27
+ React.useEffect(() => {
28
+ if (isShiftKey !== shiftKeyRef.current) {
29
+ shiftKeyRef.current = isShiftKey;
30
+ }
31
+ }, [isShiftKey]);
25
32
  const onMove = (e) => {
33
+ var _a;
26
34
  const pos = getPosFromMouseEvent(e);
35
+ // 按住 shift 键,移动点在直线上
36
+ if (shiftKeyRef.current && lineStartPoint) {
37
+ const arc = asVec(lineStartPoint, pos);
38
+ let angle = (arc.ang / Math.PI) * 180;
39
+ angle = angle < 0 ? 360 + angle : angle;
40
+ const angleIndex = angleArray.findIndex(a => a > angle);
41
+ const prevAngle = (_a = angleArray[angleIndex - 1]) !== null && _a !== void 0 ? _a : angleArray[angleArray.length - 1];
42
+ const nextAngle = angleArray[angleIndex];
43
+ const convertAngle = Math.abs(angle - prevAngle) > Math.abs(nextAngle - angle)
44
+ ? nextAngle
45
+ : prevAngle;
46
+ // 取转换角度后的坐标值
47
+ const rad = (convertAngle / 180) * Math.PI;
48
+ const x = Math.cos(rad) * arc.len + lineStartPoint.x;
49
+ const y = Math.sin(rad) * arc.len + lineStartPoint.y;
50
+ pos.x = x;
51
+ pos.y = y;
52
+ }
27
53
  setMovePoint(Object.assign(Object.assign({}, pos), { type: PATH_FUNC_TYPE.STRAIGHT }));
28
54
  };
29
55
  React.useEffect(() => {
@@ -46,7 +72,7 @@ export const PointMoveDefault = ({ getPosFromMouseEvent, paths, scale, closePath
46
72
  const line = lineStartPoint &&
47
73
  getPointsToPath([lineStartPoint, closePath ? lineEndPoint : movePoint]);
48
74
  return (React.createElement(React.Fragment, null,
49
- line && (React.createElement("path", { className: "gedit-path-edit-layer-line", d: line, strokeLinecap: "round", strokeWidth: 1.5 / scale })),
75
+ line && (React.createElement("path", { className: "gedit-path-edit-layer-line", d: line, strokeLinecap: "round", strokeWidth: 2 / scale })),
50
76
  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 })));
51
77
  };
52
78
  //# 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":"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"}
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,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { PathChild } from '@gedit/canvas-draw';
3
- import { PointDefaultProps } from './path-edit-layer-move-point';
3
+ import { PointDefaultProps, PointSchema } from './path-edit-layer-move-point';
4
4
  import { PathSelectMode, PathPointSelection } from '@gedit/playground';
5
5
  import { Editor2dPathNode } from '../../model';
6
6
  export interface PathSVGProps {
@@ -13,6 +13,13 @@ export interface PathSVGProps {
13
13
  selectMode?: PathSelectMode;
14
14
  getPosFromMouseEvent: PointDefaultProps['getPosFromMouseEvent'];
15
15
  getPointIsStartOrEnd: () => boolean;
16
+ showAllBezier?: boolean;
17
+ getPathMousePos: (e: {
18
+ clientX: number;
19
+ clientY: number;
20
+ }) => PointSchema;
21
+ onUpdateNodeData: (b?: boolean) => void;
22
+ pathPosToCanvasPos: (c: PathChild) => PathChild;
16
23
  }
17
- export declare const SvgPath: ({ node, width, height, paths, scale, selection, selectMode, getPosFromMouseEvent, getPointIsStartOrEnd, }: PathSVGProps) => React.JSX.Element;
24
+ export declare const SvgPath: ({ node, width, height, paths, scale, selection, selectMode, getPosFromMouseEvent, getPointIsStartOrEnd, getPathMousePos, showAllBezier, onUpdateNodeData, pathPosToCanvasPos, }: PathSVGProps) => React.JSX.Element;
18
25
  //# sourceMappingURL=path-edit-layer-svg-path.d.ts.map
@@ -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,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
+ {"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,EAIV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,iBAAiB,EACjB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAK/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;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,WAAW,CAAC;IAC1E,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,kBAAkB,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,SAAS,CAAC;CACjD;AAED,eAAO,MAAM,OAAO,oLAcjB,YAAY,sBAygBd,CAAC"}
@@ -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));