@gedit/editor-2d 0.3.14 → 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.
- package/lib/browser/editor2d-contribution.d.ts.map +1 -1
- package/lib/browser/editor2d-contribution.js +19 -18
- package/lib/browser/editor2d-contribution.js.map +1 -1
- package/lib/browser/playground/canvas-layer.d.ts +2 -1
- package/lib/browser/playground/canvas-layer.d.ts.map +1 -1
- package/lib/browser/playground/canvas-layer.js +8 -1
- package/lib/browser/playground/canvas-layer.js.map +1 -1
- package/lib/browser/playground/path-edit/path-edit-layer-move-point.d.ts.map +1 -1
- package/lib/browser/playground/path-edit/path-edit-layer-move-point.js +29 -3
- package/lib/browser/playground/path-edit/path-edit-layer-move-point.js.map +1 -1
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.d.ts +9 -2
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.d.ts.map +1 -1
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.js +232 -13
- package/lib/browser/playground/path-edit/path-edit-layer-svg-path.js.map +1 -1
- package/lib/browser/playground/path-edit/utils.d.ts +15 -3
- package/lib/browser/playground/path-edit/utils.d.ts.map +1 -1
- package/lib/browser/playground/path-edit/utils.js +63 -13
- package/lib/browser/playground/path-edit/utils.js.map +1 -1
- package/lib/browser/playground/path-edit-layer.d.ts +46 -3
- package/lib/browser/playground/path-edit-layer.d.ts.map +1 -1
- package/lib/browser/playground/path-edit-layer.js +469 -110
- package/lib/browser/playground/path-edit-layer.js.map +1 -1
- package/lib/browser/playground/playground-contribution.d.ts.map +1 -1
- package/lib/browser/playground/playground-contribution.js +2 -0
- package/lib/browser/playground/playground-contribution.js.map +1 -1
- package/lib/browser/utils/bezier.path.utils.d.ts.map +1 -1
- package/lib/browser/utils/bezier.path.utils.js +3 -0
- package/lib/browser/utils/bezier.path.utils.js.map +1 -1
- package/package.json +7 -7
- package/src/browser/editor2d-contribution.ts +19 -18
- package/src/browser/playground/canvas-layer.ts +6 -1
- package/src/browser/playground/path-edit/path-edit-layer-move-point.tsx +38 -4
- package/src/browser/playground/path-edit/path-edit-layer-svg-path.tsx +303 -26
- package/src/browser/playground/path-edit/utils.tsx +80 -17
- package/src/browser/playground/path-edit-layer.tsx +526 -122
- package/src/browser/playground/playground-contribution.ts +2 -0
- package/src/browser/style/path-edit-layer.less +17 -5
- package/src/browser/svg/drag_path.svg +17 -0
- package/src/browser/utils/bezier.path.utils.ts +3 -0
|
@@ -1 +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;
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAGhB,aAAa,EACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAgB,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,KAAW,gBAAgB,CAoBhC;AApBD,WAAiB,gBAAgB;IAC/B,MAAM,iBAAiB,GAAG,UAAU,CAAC;IACxB,2BAAU,GAAY;QACjC,EAAE,EAAE,qBAAqB;QACzB,QAAQ,EAAE,iBAAiB;QAC3B,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,gDAAgD;KAC5D,CAAC;IACW,wBAAO,GAAY;QAC9B,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,4CAA4C;QACvD,KAAK,EAAE,IAAI;KACZ,CAAC;IACW,yBAAQ,GAAY;QAC/B,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,6CAA6C;QACxD,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC,EApBgB,gBAAgB,KAAhB,gBAAgB,QAoBhC;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAA1B;QACG,kBAAa,GAAa,EAAE,CAAC;QAC7B,mBAAc,GAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"editor2d-contribution.js","sourceRoot":"","sources":["../../src/browser/editor2d-contribution.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAGhB,aAAa,EACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAgB,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,KAAW,gBAAgB,CAoBhC;AApBD,WAAiB,gBAAgB;IAC/B,MAAM,iBAAiB,GAAG,UAAU,CAAC;IACxB,2BAAU,GAAY;QACjC,EAAE,EAAE,qBAAqB;QACzB,QAAQ,EAAE,iBAAiB;QAC3B,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,gDAAgD;KAC5D,CAAC;IACW,wBAAO,GAAY;QAC9B,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,4CAA4C;QACvD,KAAK,EAAE,IAAI;KACZ,CAAC;IACW,yBAAQ,GAAY;QAC/B,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,6CAA6C;QACxD,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC,EApBgB,gBAAgB,KAAhB,gBAAgB,QAoBhC;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAA1B;QACG,kBAAa,GAAa,EAAE,CAAC;QAC7B,mBAAc,GAAa,EAAE,CAAC;IAuJxC,CAAC;IAhJC,OAAO;QACL,iFAAiF;QACjF,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YACvC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC,aAA+B,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5H,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAG,EAAE;YAC3C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,sBAAsB;;QACpB,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,aAAkC,CAAC;QACxE,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,YAAiC,CAAC;QACtE,IAAI,OAAwB,CAAC;QAC7B,IAAI,UAA2B,CAAC;QAChC,IAAI,qBAAqB,GAAG,KAAK,CAAC;QAClC,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,aAAa,EAAE;YACjB,IAAI,aAAa,CAAC,eAAe,EAAE;gBACjC,OAAO,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;aAC3C;iBAAM,IAAI,aAAa,CAAC,cAAc,EAAE;gBACvC,OAAO,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;aAC1C;SACF;QACD,IAAI,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE;YACjD,UAAU,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;SAC5C;QACD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE;YAC9E,kBAAkB,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE;YACvF,qBAAqB,GAAG,IAAI,CAAC;SAC9B;QACD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAChD,IAAI,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAQ,CAAC,QAAQ,EAAE,EAAE;gBACxE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;aAC1B;iBAAM;gBACL,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,QAAQ;QACR,IAAI,qBAAqB,EAAE;YACzB,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACtD;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACvD;QACD,OAAO;QACP,IAAI,kBAAkB,EAAE;YACtB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACrD;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACtD;IACH,CAAC;IACD,gBAAgB,CAAC,QAAyB;QACxC,oBAAoB;QACpB,0DAA0D;QAC1D,uDAAuD;QACvD,iDAAiD;QACjD,mBAAmB;QACnB,QAAQ;QACR,8DAA8D;QAC9D,8DAA8D;QAC9D,MAAM;QACN,uDAAuD;QACvD,4DAA4D;QAC5D,8DAA8D;QAC9D,8DAA8D;QAC9D,MAAM;QACN,wDAAwD;QACxD,4DAA4D;QAC5D,8DAA8D;QAC9D,8DAA8D;QAC9D,MAAM;IACR,CAAC;IAED,oBAAoB,CAAC,QAA+B;QAClD;;;;;cAKM;QACN;;;;;;;;;;;;;UAaE;IACJ,CAAC;IAES,UAAU,CAAC,MAAc,EAAE,EAAqC;QACxE,IAAI,MAAM,IAAI,MAAM,YAAY,YAAY,IAAK,MAAuB,CAAC,MAAM,YAAY,aAAa,EAAE;YACxG,OAAO,EAAE,CAAE,MAAuB,CAAC,MAAuB,CAAC,CAAC;SAC7D;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,YAAY,CAAC,aAA6B,EAAE,KAAoB;QAC9D,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1C,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAChH,IAAI,QAAQ,CAAC,eAAe,EAAE;gBAC5B,MAAM,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC1D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBACnB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACnB;wBACD,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BAC/C,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACzB;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACtC;IACH,CAAC;CACF,CAAA;AAtJC;IAAC,MAAM,CAAC,gBAAgB,CAAC;8BAAW,gBAAgB;sDAAC;AACrD;IAAC,MAAM,CAAC,yBAAyB,CAAC;8BAAuC,yBAAyB;+DAAC;AACnG;IAAC,MAAM,CAAC,qBAAqB,CAAC;8BAAmC,qBAAqB;2DAAC;AACvF;IAAC,MAAM,CAAC,aAAa,CAAC;;4DAAwC;AAC9D;IAAC,MAAM,CAAC,sBAAsB,CAAC;8BAA+B,sBAAsB;iEAAC;AAP1E,oBAAoB;IADhC,UAAU,EAAE;GACA,oBAAoB,CAyJhC;SAzJY,oBAAoB"}
|
|
@@ -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;
|
|
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":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAqB,MAAM,mBAAmB,CAAC;
|
|
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,
|
|
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:
|
|
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":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,
|
|
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,
|
|
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
|
-
|
|
8
|
+
import { getParallelPositionByPoint } from '../../utils/bezier.path.utils';
|
|
9
|
+
import { getBezierPointArray, createBezier, getPathCenter } from './utils';
|
|
10
|
+
export const SvgPath = ({ node, width, height, paths, scale, selection = [], selectMode, getPosFromMouseEvent, getPointIsStartOrEnd, getPathMousePos, showAllBezier, onUpdateNodeData, pathPosToCanvasPos, }) => {
|
|
9
11
|
var _a;
|
|
10
|
-
const { path
|
|
12
|
+
const { path } = node || {};
|
|
11
13
|
const { closed } = path || {};
|
|
14
|
+
const { onPointMouseDown, onClosePath: onClosedPath, onPathAddPoint, onBezierPointMouseDown, isCtrlKey, isShiftKey, } = React.useContext(PathEditLayerEventContext);
|
|
12
15
|
const isMultiple = selection.length > 1; // 多选模式;
|
|
13
16
|
const isSelect = selectMode !== PathSelectMode.ADD_PATH; // 选择点模式
|
|
14
17
|
const [hideMovePoint, setHideMovePoint] = React.useState(false);
|
|
15
18
|
const [closePath, setClosePath] = React.useState(false);
|
|
19
|
+
const [showPathAddPoint, setShowPathAddPoint] = React.useState(false);
|
|
20
|
+
const [lineHover, setLineHover] = React.useState(-1);
|
|
21
|
+
const noPathClickRef = React.useRef(false);
|
|
22
|
+
const pathDragStartRef = React.useRef();
|
|
16
23
|
const onHideMovePoint = () => {
|
|
17
24
|
setHideMovePoint(true);
|
|
18
25
|
};
|
|
@@ -29,7 +36,177 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
29
36
|
e.preventDefault();
|
|
30
37
|
e.stopPropagation();
|
|
31
38
|
};
|
|
32
|
-
const
|
|
39
|
+
const onPathMove = (i, e) => {
|
|
40
|
+
if (isCtrlKey) {
|
|
41
|
+
setShowPathAddPoint(false);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const { path = { paths: [] } } = node || {};
|
|
45
|
+
const { paths: p = [] } = path;
|
|
46
|
+
const point = p[i];
|
|
47
|
+
const nextPoint = p[i + 1] || p[0];
|
|
48
|
+
const pos = getPathMousePos(e);
|
|
49
|
+
const bezierPoint = getBezierPointArray(point, nextPoint);
|
|
50
|
+
const bezier = showPathAddPoint !== false
|
|
51
|
+
? showPathAddPoint.bezier
|
|
52
|
+
: createBezier(bezierPoint);
|
|
53
|
+
// if (isShiftKey) {
|
|
54
|
+
// const centerT = getPathCenter(bezier);
|
|
55
|
+
// const centerPoint = bezier.get(centerT);
|
|
56
|
+
// const center = bezier.project(centerPoint);
|
|
57
|
+
// setShowPathAddPoint({ ...center, bezier });
|
|
58
|
+
// return;
|
|
59
|
+
// }
|
|
60
|
+
// const projectPos = bezier.project(pos);
|
|
61
|
+
setShowPathAddPoint(Object.assign(Object.assign({}, pos), { bezier }));
|
|
62
|
+
};
|
|
63
|
+
const onPathMouseDown = (i, e) => {
|
|
64
|
+
if (isCtrlKey) {
|
|
65
|
+
const { path = { paths: [] } } = node || {};
|
|
66
|
+
const { paths: p = [] } = path;
|
|
67
|
+
const point = p[i];
|
|
68
|
+
const nextIndex = p[i + 1] ? i + 1 : 0;
|
|
69
|
+
const nextPoint = p[nextIndex];
|
|
70
|
+
const pos = getPathMousePos(e);
|
|
71
|
+
const bezierPoint = getBezierPointArray(point, nextPoint);
|
|
72
|
+
const bezier = createBezier(bezierPoint);
|
|
73
|
+
const projectPos = bezier.project(pos);
|
|
74
|
+
const offset = {
|
|
75
|
+
x: pos.x - projectPos.x,
|
|
76
|
+
y: pos.y - projectPos.y,
|
|
77
|
+
};
|
|
78
|
+
noPathClickRef.current = false;
|
|
79
|
+
pathDragStartRef.current = {
|
|
80
|
+
bezier,
|
|
81
|
+
startPos: pos,
|
|
82
|
+
point: projectPos,
|
|
83
|
+
index: i,
|
|
84
|
+
nextIndex,
|
|
85
|
+
offset,
|
|
86
|
+
};
|
|
87
|
+
setLineHover(i);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
const onPointDoubleClick = (point) => (e) => {
|
|
91
|
+
e.preventDefault();
|
|
92
|
+
e.stopPropagation();
|
|
93
|
+
// 双击切换点的 type
|
|
94
|
+
if (!path) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const index = path === null || path === void 0 ? void 0 : path.paths.findIndex(c => c.id === point.id);
|
|
98
|
+
if (typeof index === 'undefined') {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const currentPoint = path === null || path === void 0 ? void 0 : path.paths[index];
|
|
102
|
+
if (!currentPoint) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const v = currentPoint.type;
|
|
106
|
+
switch (v) {
|
|
107
|
+
case PATH_FUNC_TYPE.EQUAL:
|
|
108
|
+
case PATH_FUNC_TYPE.UNEQUAL:
|
|
109
|
+
case PATH_FUNC_TYPE.BREAK:
|
|
110
|
+
delete currentPoint.x1;
|
|
111
|
+
delete currentPoint.y1;
|
|
112
|
+
delete currentPoint.x2;
|
|
113
|
+
delete currentPoint.y2;
|
|
114
|
+
currentPoint.type = PATH_FUNC_TYPE.STRAIGHT;
|
|
115
|
+
break;
|
|
116
|
+
case PATH_FUNC_TYPE.STRAIGHT: {
|
|
117
|
+
const prevPoint = paths[index - 1] || paths[paths.length - 1];
|
|
118
|
+
const nextPoint = paths[index + 1] || paths[0];
|
|
119
|
+
const { p1, p2 } = getParallelPositionByPoint(prevPoint, nextPoint, point);
|
|
120
|
+
currentPoint.x1 = p1.x;
|
|
121
|
+
currentPoint.y1 = p1.y;
|
|
122
|
+
currentPoint.x2 = p2.x;
|
|
123
|
+
currentPoint.y2 = p2.y;
|
|
124
|
+
currentPoint.type = PATH_FUNC_TYPE.EQUAL;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
default:
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
onUpdateNodeData();
|
|
131
|
+
};
|
|
132
|
+
// const t = getBezierPointArray(paths[0], paths[1]);
|
|
133
|
+
// console.log(paths[0], paths[1], t, cubicToQuadratic(paths[0], {x: t[2], y: t[3]}));
|
|
134
|
+
React.useEffect(() => {
|
|
135
|
+
const onMouseMove = (e) => {
|
|
136
|
+
if (pathDragStartRef.current) {
|
|
137
|
+
noPathClickRef.current = true;
|
|
138
|
+
const pos = getPathMousePos(e);
|
|
139
|
+
const { bezier, nextIndex, index, point, offset, } = pathDragStartRef.current;
|
|
140
|
+
const currentPoint = bezier.get(point.t || 0);
|
|
141
|
+
const dx = pos.x - offset.x - currentPoint.x;
|
|
142
|
+
const dy = pos.y - offset.y - currentPoint.y;
|
|
143
|
+
bezier.points[1].x += dx;
|
|
144
|
+
bezier.points[1].y += dy;
|
|
145
|
+
bezier.points[2].x += dx;
|
|
146
|
+
bezier.points[2].y += dy;
|
|
147
|
+
bezier.update();
|
|
148
|
+
const start = path === null || path === void 0 ? void 0 : path.paths[index];
|
|
149
|
+
const end = path === null || path === void 0 ? void 0 : path.paths[nextIndex];
|
|
150
|
+
if (!start || !end) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
let pCenter;
|
|
154
|
+
const p1 = bezier.points[1];
|
|
155
|
+
const p2 = bezier.points[2];
|
|
156
|
+
// 全是 straight 时,转换为 unequal
|
|
157
|
+
if (start.type === PATH_FUNC_TYPE.STRAIGHT &&
|
|
158
|
+
end.type === PATH_FUNC_TYPE.STRAIGHT) {
|
|
159
|
+
start.type = PATH_FUNC_TYPE.BREAK;
|
|
160
|
+
start.x1 = p1.x;
|
|
161
|
+
start.y1 = p1.y;
|
|
162
|
+
start.x2 = start.x;
|
|
163
|
+
start.y2 = start.x;
|
|
164
|
+
end.type = PATH_FUNC_TYPE.BREAK;
|
|
165
|
+
end.x1 = p2.x;
|
|
166
|
+
end.y1 = p2.x;
|
|
167
|
+
end.x2 = end.x;
|
|
168
|
+
end.y2 = end.y;
|
|
169
|
+
}
|
|
170
|
+
if (start.type === PATH_FUNC_TYPE.STRAIGHT &&
|
|
171
|
+
end.type !== PATH_FUNC_TYPE.STRAIGHT) {
|
|
172
|
+
end.type = PATH_FUNC_TYPE.BREAK;
|
|
173
|
+
pCenter = cubicToQuadratic(start, p1);
|
|
174
|
+
end.x1 = pCenter.x;
|
|
175
|
+
end.y1 = pCenter.y;
|
|
176
|
+
}
|
|
177
|
+
if (start.type !== PATH_FUNC_TYPE.STRAIGHT &&
|
|
178
|
+
end.type === PATH_FUNC_TYPE.STRAIGHT) {
|
|
179
|
+
start.type = PATH_FUNC_TYPE.BREAK;
|
|
180
|
+
pCenter = cubicToQuadratic(end, p2);
|
|
181
|
+
start.x2 = pCenter.x;
|
|
182
|
+
start.y2 = pCenter.y;
|
|
183
|
+
}
|
|
184
|
+
if (start.type !== PATH_FUNC_TYPE.STRAIGHT &&
|
|
185
|
+
end.type !== PATH_FUNC_TYPE.STRAIGHT) {
|
|
186
|
+
start.x2 = p1.x;
|
|
187
|
+
start.y2 = p1.y;
|
|
188
|
+
start.type = PATH_FUNC_TYPE.BREAK;
|
|
189
|
+
end.x1 = p2.x;
|
|
190
|
+
end.y1 = p2.y;
|
|
191
|
+
end.type = PATH_FUNC_TYPE.BREAK;
|
|
192
|
+
}
|
|
193
|
+
onUpdateNodeData(true);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
const onMouseUp = (e) => {
|
|
197
|
+
if (pathDragStartRef.current) {
|
|
198
|
+
pathDragStartRef.current = undefined;
|
|
199
|
+
setLineHover(-1);
|
|
200
|
+
onUpdateNodeData();
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
document.addEventListener('mousemove', onMouseMove);
|
|
204
|
+
document.addEventListener('mouseup', onMouseUp);
|
|
205
|
+
return () => {
|
|
206
|
+
document.removeEventListener('mousemove', onMouseMove);
|
|
207
|
+
document.removeEventListener('mouseup', onMouseUp);
|
|
208
|
+
};
|
|
209
|
+
}, [path === null || path === void 0 ? void 0 : path.paths]);
|
|
33
210
|
const p = [...paths];
|
|
34
211
|
if (closed) {
|
|
35
212
|
p.push(Object.assign(Object.assign({}, paths[0]), { id: generateUuid() }));
|
|
@@ -75,7 +252,7 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
75
252
|
return (React.createElement("circle", { className: clsx('gedit-path-edit-layer-point', {
|
|
76
253
|
'gedit-path-edit-layer-point-closed': closePoint,
|
|
77
254
|
'gedit-path-edit-layer-point-active': selection.some(c => c.pointId === item.id) && !bezierSelect,
|
|
78
|
-
}), cx: item.x, cy: item.y, r: 4 / scale, key: item.id, strokeWidth: "1", onDoubleClick:
|
|
255
|
+
}), cx: item.x, cy: item.y, r: 4 / scale, key: item.id, strokeWidth: "1", onDoubleClick: onPointDoubleClick(item), onMouseDown: e => {
|
|
79
256
|
e.preventDefault();
|
|
80
257
|
e.stopPropagation();
|
|
81
258
|
if (closePoint) {
|
|
@@ -89,8 +266,11 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
89
266
|
const bezierPointNodes = [];
|
|
90
267
|
const bezierPathNodes = [];
|
|
91
268
|
const bezierPoints = [];
|
|
269
|
+
const selectionBezier = showAllBezier
|
|
270
|
+
? paths.map(c => ({ pointId: c.id }))
|
|
271
|
+
: selection;
|
|
92
272
|
// 插入贝塞尔点
|
|
93
|
-
|
|
273
|
+
selectionBezier.forEach(item => {
|
|
94
274
|
const { pointId: currentPointId } = item;
|
|
95
275
|
const index = paths.findIndex(c => c.id === currentPointId);
|
|
96
276
|
// 关闭路径把第一个贝赛尔点加入
|
|
@@ -113,7 +293,7 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
113
293
|
});
|
|
114
294
|
});
|
|
115
295
|
bezierPoints.forEach((p, i) => {
|
|
116
|
-
const selectionNode =
|
|
296
|
+
const selectionNode = selectionBezier.find(c => c.pointId === p.id);
|
|
117
297
|
const { bezierKey, pointId: currentPointId } = selectionNode || {};
|
|
118
298
|
if (p.type === PATH_FUNC_TYPE.STRAIGHT) {
|
|
119
299
|
return;
|
|
@@ -122,7 +302,7 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
122
302
|
bezierPathNodes.push(React.createElement("path", { key: `${p.id}_${i}_x1-line`, className: "gedit-path-edit-layer-point-bezier-line", strokeWidth: 1 / scale, d: `M${p.x},${p.y} L${p.x1},${p.y1}` }));
|
|
123
303
|
bezierPointNodes.push(React.createElement("circle", { key: `${p.id}_${i}_x1_point`, className: clsx('gedit-path-edit-layer-point-bezier', {
|
|
124
304
|
'gedit-path-edit-layer-point-active': bezierKey === 'left' && currentPointId === p.id,
|
|
125
|
-
}), cx: p.x1, cy: p.y1, r: 3 / scale, onDoubleClick:
|
|
305
|
+
}), cx: p.x1, cy: p.y1, r: 3 / scale, onDoubleClick: onPointDoubleClick(p), onMouseDown: e => {
|
|
126
306
|
onBezierPointMouseDown(e, p, 'left');
|
|
127
307
|
}, onMouseEnter: onHideMovePoint, onMouseLeave: onShowMovePoint }));
|
|
128
308
|
}
|
|
@@ -130,7 +310,7 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
130
310
|
bezierPathNodes.push(React.createElement("path", { key: `${p.id}_${i}_x2-line`, className: "gedit-path-edit-layer-point-bezier-line", strokeWidth: 1 / scale, d: `M${p.x},${p.y} L${p.x2},${p.y2}` }));
|
|
131
311
|
bezierPointNodes.push(React.createElement("circle", { key: `${p.id}_${i}x2_point`, className: clsx('gedit-path-edit-layer-point-bezier', {
|
|
132
312
|
'gedit-path-edit-layer-point-active': bezierKey === 'right' && currentPointId === p.id,
|
|
133
|
-
}), cx: p.x2, cy: p.y2, r: 3 / scale, onDoubleClick:
|
|
313
|
+
}), cx: p.x2, cy: p.y2, r: 3 / scale, onDoubleClick: onPointDoubleClick(p), onMouseDown: e => {
|
|
134
314
|
onBezierPointMouseDown(e, p, 'right');
|
|
135
315
|
}, onMouseEnter: onHideMovePoint, onMouseLeave: onShowMovePoint }));
|
|
136
316
|
}
|
|
@@ -143,6 +323,22 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
143
323
|
pointIsStartOrEnd); // 选中起始点或结束点时
|
|
144
324
|
// const ppp = [...paths, paths[0]];
|
|
145
325
|
// const bezierBox = getPathToBezier(ppp).map(c => c.bbox());
|
|
326
|
+
const hoverPointPos = {
|
|
327
|
+
x: 0,
|
|
328
|
+
y: 0,
|
|
329
|
+
};
|
|
330
|
+
if (showPathAddPoint) {
|
|
331
|
+
const { bezier } = showPathAddPoint;
|
|
332
|
+
let pathPoint = showPathAddPoint;
|
|
333
|
+
if (isShiftKey) {
|
|
334
|
+
const centerT = getPathCenter(bezier);
|
|
335
|
+
pathPoint = bezier.get(centerT);
|
|
336
|
+
}
|
|
337
|
+
const pos = bezier.project(pathPoint);
|
|
338
|
+
const transitionPos = pathPosToCanvasPos(pos);
|
|
339
|
+
hoverPointPos.x = transitionPos.x;
|
|
340
|
+
hoverPointPos.y = transitionPos.y;
|
|
341
|
+
}
|
|
146
342
|
return (React.createElement("svg", { width: width, height: height,
|
|
147
343
|
/* style={{
|
|
148
344
|
transformOrigin: '0 0',
|
|
@@ -151,14 +347,37 @@ export const SvgPath = ({ node, width, height, paths, scale, selection = [], sel
|
|
|
151
347
|
}deg) scale(${nodeScale.x}, ${nodeScale.y})`,
|
|
152
348
|
}} */
|
|
153
349
|
className: clsx('gedit-path-edit-layer-svg', {
|
|
154
|
-
|
|
350
|
+
// 'gedit-path-edit-layer-pen': !closed,
|
|
351
|
+
'gedit-path-edit-layer-drag': lineHover !== -1,
|
|
155
352
|
}) },
|
|
156
|
-
showDefaultMovePoint && (React.createElement(PointMoveDefault, { getPosFromMouseEvent: getPosFromMouseEvent, paths: paths, scale: scale, closePath: closePath, currentPointId: (_a = selection[0]) === null || _a === void 0 ? void 0 : _a.pointId })),
|
|
157
|
-
pathsStringArray.map((
|
|
353
|
+
showDefaultMovePoint && lineHover === -1 && (React.createElement(PointMoveDefault, { getPosFromMouseEvent: getPosFromMouseEvent, paths: paths, scale: scale, closePath: closePath, currentPointId: (_a = selection[0]) === null || _a === void 0 ? void 0 : _a.pointId })),
|
|
354
|
+
pathsStringArray.map((pStr, i) => (React.createElement("path", { className: clsx('gedit-path-edit-layer-path', {
|
|
355
|
+
'gedit-path-edit-layer-pen': !isCtrlKey,
|
|
356
|
+
'gedit-path-edit-layer-drag': isCtrlKey,
|
|
357
|
+
'gedit-path-edit-layer-path-active': lineHover === i,
|
|
358
|
+
}), key: i.toString(), strokeLinecap: "round", strokeWidth: 2 / scale, d: pStr, onMouseEnter: e => {
|
|
359
|
+
onHideMovePoint();
|
|
360
|
+
}, onMouseLeave: () => {
|
|
361
|
+
onShowMovePoint();
|
|
362
|
+
setShowPathAddPoint(false);
|
|
363
|
+
}, onMouseMove: e => {
|
|
364
|
+
onPathMove(i, e);
|
|
365
|
+
}, onMouseDown: e => {
|
|
366
|
+
onClickStopPropagation(e);
|
|
367
|
+
onPathMouseDown(i, e);
|
|
368
|
+
}, onDoubleClick: onClickStopPropagation, onClick: e => {
|
|
158
369
|
e.preventDefault();
|
|
159
370
|
e.stopPropagation();
|
|
160
|
-
|
|
371
|
+
if (!noPathClickRef.current && !isCtrlKey) {
|
|
372
|
+
onPathAddPoint(i, e);
|
|
373
|
+
}
|
|
374
|
+
noPathClickRef.current = false;
|
|
161
375
|
} }))),
|
|
376
|
+
showPathAddPoint && !isCtrlKey && (React.createElement("circle", { className: "gedit-path-edit-layer-hover-point", cx: hoverPointPos.x, cy: hoverPointPos.y, r: 4 / scale, strokeWidth: "1", onMouseDown: e => {
|
|
377
|
+
e.preventDefault();
|
|
378
|
+
e.stopPropagation();
|
|
379
|
+
onPathAddPoint(paths.length - 1, e);
|
|
380
|
+
} })),
|
|
162
381
|
bezierPathNodes,
|
|
163
382
|
allPoints,
|
|
164
383
|
bezierPointNodes));
|