@gedit/editor-2d 0.1.114 → 0.2.0
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-context-key-service.js +24 -35
- package/lib/browser/editor2d-context-key-service.js.map +1 -1
- package/lib/browser/editor2d-contribution.js +89 -139
- package/lib/browser/editor2d-contribution.js.map +1 -1
- package/lib/browser/editor2d-frontend-module.js +20 -20
- package/lib/browser/editor2d-frontend-module.js.map +1 -1
- package/lib/browser/editor2d-label-provider.d.ts +0 -1
- package/lib/browser/editor2d-label-provider.d.ts.map +1 -1
- package/lib/browser/editor2d-label-provider.js +37 -58
- package/lib/browser/editor2d-label-provider.js.map +1 -1
- package/lib/browser/editor2d-model-provider.js +61 -127
- package/lib/browser/editor2d-model-provider.js.map +1 -1
- package/lib/browser/editor2d-ref-provider-contribution.d.ts +1 -1
- package/lib/browser/editor2d-ref-provider-contribution.d.ts.map +1 -1
- package/lib/browser/editor2d-ref-provider-contribution.js +46 -112
- package/lib/browser/editor2d-ref-provider-contribution.js.map +1 -1
- package/lib/browser/editor2d-service.js +66 -85
- package/lib/browser/editor2d-service.js.map +1 -1
- package/lib/browser/model/editor2d-document.d.ts +46 -20
- package/lib/browser/model/editor2d-document.d.ts.map +1 -1
- package/lib/browser/model/editor2d-document.js +602 -549
- package/lib/browser/model/editor2d-document.js.map +1 -1
- package/lib/browser/model/editor2d-iterator.js +27 -67
- package/lib/browser/model/editor2d-iterator.js.map +1 -1
- package/lib/browser/model/editor2d-model-container.js +10 -21
- package/lib/browser/model/editor2d-model-container.js.map +1 -1
- package/lib/browser/model/editor2d-model.js +77 -92
- package/lib/browser/model/editor2d-model.js.map +1 -1
- package/lib/browser/model/editor2d-selection.js +16 -43
- package/lib/browser/model/editor2d-selection.js.map +1 -1
- package/lib/browser/model/editor2d-widget.js +71 -90
- package/lib/browser/model/editor2d-widget.js.map +1 -1
- package/lib/browser/model/editor2d.d.ts +8 -4
- package/lib/browser/model/editor2d.d.ts.map +1 -1
- package/lib/browser/model/editor2d.js +61 -128
- package/lib/browser/model/editor2d.js.map +1 -1
- package/lib/browser/model/utils/anim.utils.d.ts +3 -0
- package/lib/browser/model/utils/anim.utils.d.ts.map +1 -1
- package/lib/browser/model/utils/anim.utils.js +24 -18
- package/lib/browser/model/utils/anim.utils.js.map +1 -1
- package/lib/browser/playground/canvas-draw.d.ts +8 -0
- package/lib/browser/playground/canvas-draw.d.ts.map +1 -1
- package/lib/browser/playground/canvas-draw.js +164 -252
- package/lib/browser/playground/canvas-draw.js.map +1 -1
- package/lib/browser/playground/canvas-layer.d.ts +10 -2
- package/lib/browser/playground/canvas-layer.d.ts.map +1 -1
- package/lib/browser/playground/canvas-layer.js +78 -102
- package/lib/browser/playground/canvas-layer.js.map +1 -1
- package/lib/browser/playground/entities/document-entity.js +8 -28
- package/lib/browser/playground/entities/document-entity.js.map +1 -1
- package/lib/browser/playground/entities/editor2d-entity.js +14 -37
- package/lib/browser/playground/entities/editor2d-entity.js.map +1 -1
- package/lib/browser/playground/entities/extend-entity.d.ts +10 -0
- package/lib/browser/playground/entities/extend-entity.d.ts.map +1 -0
- package/lib/browser/playground/entities/extend-entity.js +34 -0
- package/lib/browser/playground/entities/extend-entity.js.map +1 -0
- package/lib/browser/playground/entities/index.d.ts +1 -0
- package/lib/browser/playground/entities/index.d.ts.map +1 -1
- package/lib/browser/playground/entities/index.js +1 -0
- package/lib/browser/playground/entities/index.js.map +1 -1
- package/lib/browser/playground/extend-edit-layer-point-event.d.ts +30 -0
- package/lib/browser/playground/extend-edit-layer-point-event.d.ts.map +1 -0
- package/lib/browser/playground/extend-edit-layer-point-event.js +50 -0
- package/lib/browser/playground/extend-edit-layer-point-event.js.map +1 -0
- package/lib/browser/playground/extend-edit-layer.d.ts +38 -0
- package/lib/browser/playground/extend-edit-layer.d.ts.map +1 -0
- package/lib/browser/playground/extend-edit-layer.js +335 -0
- package/lib/browser/playground/extend-edit-layer.js.map +1 -0
- package/lib/browser/playground/index.d.ts +1 -0
- package/lib/browser/playground/index.d.ts.map +1 -1
- package/lib/browser/playground/index.js +1 -0
- package/lib/browser/playground/index.js.map +1 -1
- package/lib/browser/playground/path-edit-layer-move-point.d.ts +15 -0
- package/lib/browser/playground/path-edit-layer-move-point.d.ts.map +1 -0
- package/lib/browser/playground/path-edit-layer-move-point.js +47 -0
- package/lib/browser/playground/path-edit-layer-move-point.js.map +1 -0
- package/lib/browser/playground/path-edit-layer-svg-path.d.ts +11 -0
- package/lib/browser/playground/path-edit-layer-svg-path.d.ts.map +1 -0
- package/lib/browser/playground/path-edit-layer-svg-path.js +21 -0
- package/lib/browser/playground/path-edit-layer-svg-path.js.map +1 -0
- package/lib/browser/playground/path-edit-layer.d.ts +36 -0
- package/lib/browser/playground/path-edit-layer.d.ts.map +1 -0
- package/lib/browser/playground/path-edit-layer.js +257 -0
- package/lib/browser/playground/path-edit-layer.js.map +1 -0
- package/lib/browser/playground/playground-context.d.ts +3 -1
- package/lib/browser/playground/playground-context.d.ts.map +1 -1
- package/lib/browser/playground/playground-context.js +49 -47
- package/lib/browser/playground/playground-context.js.map +1 -1
- package/lib/browser/playground/playground-contribution.d.ts +2 -0
- package/lib/browser/playground/playground-contribution.d.ts.map +1 -1
- package/lib/browser/playground/playground-contribution.js +100 -67
- package/lib/browser/playground/playground-contribution.js.map +1 -1
- package/lib/browser/playground/selection-entity-manager.js +74 -132
- package/lib/browser/playground/selection-entity-manager.js.map +1 -1
- package/lib/browser/playground/selector-extend-icons.js +15 -16
- package/lib/browser/playground/selector-extend-icons.js.map +1 -1
- package/lib/browser/playground/selector-extend-renderer.d.ts +3 -2
- package/lib/browser/playground/selector-extend-renderer.d.ts.map +1 -1
- package/lib/browser/playground/selector-extend-renderer.js +67 -52
- package/lib/browser/playground/selector-extend-renderer.js.map +1 -1
- package/lib/browser/utils/snapshot.d.ts.map +1 -1
- package/lib/browser/utils/snapshot.js +81 -172
- package/lib/browser/utils/snapshot.js.map +1 -1
- package/package.json +9 -7
- package/src/browser/editor2d-label-provider.ts +1 -15
- package/src/browser/editor2d-ref-provider-contribution.ts +8 -8
- package/src/browser/model/editor2d-document.ts +284 -51
- package/src/browser/model/editor2d.ts +21 -5
- package/src/browser/model/utils/anim.utils.ts +9 -2
- package/src/browser/playground/canvas-draw.ts +31 -17
- package/src/browser/playground/canvas-layer.ts +25 -3
- package/src/browser/playground/entities/extend-entity.ts +37 -0
- package/src/browser/playground/entities/index.ts +1 -0
- package/src/browser/playground/extend-edit-layer-point-event.tsx +71 -0
- package/src/browser/playground/extend-edit-layer.tsx +442 -0
- package/src/browser/playground/index.ts +1 -0
- package/src/browser/playground/path-edit-layer-move-point.tsx +71 -0
- package/src/browser/playground/path-edit-layer-svg-path.tsx +50 -0
- package/src/browser/playground/path-edit-layer.tsx +330 -0
- package/src/browser/playground/playground-context.ts +2 -0
- package/src/browser/playground/playground-contribution.ts +37 -3
- package/src/browser/playground/selector-extend-renderer.tsx +43 -10
- package/src/browser/style/canvas-layer.css +16 -0
- package/src/browser/style/extend-edit-layer.less +127 -0
- package/src/browser/style/index.less +2 -1
- package/src/browser/style/path-edit-layer.less +72 -0
- package/src/browser/svg/pen+.svg +24 -0
- package/src/browser/utils/snapshot.ts +1 -0
- package/lib/browser/playground/canvas-draw-layer.d.ts +0 -22
- package/lib/browser/playground/canvas-draw-layer.d.ts.map +0 -1
- package/lib/browser/playground/canvas-draw-layer.js +0 -126
- package/lib/browser/playground/canvas-draw-layer.js.map +0 -1
- package/src/browser/playground/canvas-draw-layer.tsx +0 -88
- package/src/browser/style/canvas-draw-layer.less +0 -24
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
.gedit-extend-edit-layer {
|
|
2
|
+
z-index: 20;
|
|
3
|
+
.gedit-extend-edit-item {
|
|
4
|
+
position: absolute;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.gedit-extend-range-point {
|
|
9
|
+
position: absolute;
|
|
10
|
+
left: -5px;
|
|
11
|
+
top: -5px;
|
|
12
|
+
width: 10px;
|
|
13
|
+
height: 10px;
|
|
14
|
+
}
|
|
15
|
+
.gedit-extend-range-point,
|
|
16
|
+
.gedit-extend-color-point {
|
|
17
|
+
> div {
|
|
18
|
+
content: "";
|
|
19
|
+
display: block;
|
|
20
|
+
width: 10px;
|
|
21
|
+
height: 10px;
|
|
22
|
+
position: relative;
|
|
23
|
+
border: 1px solid #fff;
|
|
24
|
+
background-color: #ccc;
|
|
25
|
+
box-shadow: 0 0 4px fade(#262626, 50);
|
|
26
|
+
transition: transform 0.3s;
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
&:hover {
|
|
29
|
+
transform: scale(1.2);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.gedit-extend-center-point > div {
|
|
35
|
+
top: -5px;
|
|
36
|
+
}
|
|
37
|
+
.gedit-extend-radius-point {
|
|
38
|
+
> div {
|
|
39
|
+
top: 5px;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
.gedit-extend-color-point-active {
|
|
43
|
+
transform: scale(1.3);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.gedit-extend-color-point {
|
|
47
|
+
width: 8px;
|
|
48
|
+
height: 8px;
|
|
49
|
+
position: absolute;
|
|
50
|
+
left: -4px;
|
|
51
|
+
top: -4px;
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
> div {
|
|
54
|
+
width: 8px;
|
|
55
|
+
height: 8px;
|
|
56
|
+
border-radius: 100%;
|
|
57
|
+
top: 0;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.gedit-extend-range-line {
|
|
62
|
+
background-color: #fff;
|
|
63
|
+
background-clip: padding-box;
|
|
64
|
+
height: 5px;
|
|
65
|
+
position: absolute;
|
|
66
|
+
left: 0;
|
|
67
|
+
top: -2.5px;
|
|
68
|
+
border: 2px solid transparent;
|
|
69
|
+
border-left: none;
|
|
70
|
+
border-right: none;
|
|
71
|
+
transform-origin: 0 2.5px;
|
|
72
|
+
cursor: copy;
|
|
73
|
+
}
|
|
74
|
+
.gedit-extend-radial-box {
|
|
75
|
+
border: 1px solid #fff;
|
|
76
|
+
border-radius: 100%;
|
|
77
|
+
position: absolute;
|
|
78
|
+
box-shadow: 0 0 1px 0 fade(#262626, 50) inset;
|
|
79
|
+
}
|
|
80
|
+
.gedit-extend-radial-point {
|
|
81
|
+
width: 10px;
|
|
82
|
+
height: 10px;
|
|
83
|
+
left: -5px;
|
|
84
|
+
top: 50%;
|
|
85
|
+
margin-top: -5px;
|
|
86
|
+
position: absolute;
|
|
87
|
+
background-color: #ccc;
|
|
88
|
+
border-radius: 100%;
|
|
89
|
+
border: 1px solid #fff;
|
|
90
|
+
transition: transform 0.45s;
|
|
91
|
+
:hover {
|
|
92
|
+
transform: scale(1.2);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.gedit-extend-origin {
|
|
97
|
+
&-wrapper {
|
|
98
|
+
position: absolute;
|
|
99
|
+
margin-left: -7px;
|
|
100
|
+
margin-top: -7px;
|
|
101
|
+
width: 14px;
|
|
102
|
+
height: 14px;
|
|
103
|
+
}
|
|
104
|
+
background-color: #fff;
|
|
105
|
+
-webkit-mask: var(--g-playground-icon-origin);
|
|
106
|
+
mask: var(--g-playground-icon-origin);
|
|
107
|
+
width: 14px;
|
|
108
|
+
height: 14px;
|
|
109
|
+
cursor: move;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.gedit-extend-angle {
|
|
113
|
+
&-wrapper {
|
|
114
|
+
width: 14px;
|
|
115
|
+
height: 14px;
|
|
116
|
+
margin-left: -7px;
|
|
117
|
+
margin-top: -7px;
|
|
118
|
+
}
|
|
119
|
+
width: 14px;
|
|
120
|
+
height: 14px;
|
|
121
|
+
margin-left: 7px;
|
|
122
|
+
border: 1px solid #fff;
|
|
123
|
+
background-color: #ccc;
|
|
124
|
+
box-shadow: 0 0 4px #262626;
|
|
125
|
+
clip-path: path("M0 7 L14 0 L14 14z");
|
|
126
|
+
cursor: pointer;
|
|
127
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
@import './engine2d.css';
|
|
2
2
|
@import './canvas-layer.css';
|
|
3
|
-
@import './
|
|
3
|
+
@import './path-edit-layer.less';
|
|
4
4
|
@import './selector-extend.less';
|
|
5
|
+
@import './extend-edit-layer.less';
|
|
5
6
|
|
|
6
7
|
:root {
|
|
7
8
|
--g-mask-transparent: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAADAAAAAATDPpdAAAAfUlEQVQoFbVQQQ7AIAgD7Sf8/8s8+gd1s0vIptMlHkZiUGyBVmOMRwux4B2AhBDEOWflK6uqgICRYLVn3Zh9C6t+5G3CcqXVkKYPnQYCvfdSSpFaa8ejaM05N223S0QQmFJ6NeIfaN1I4JtnNmFb9L8Ergm6MWrg7jP36NIJC0BbmAiDWGoAAAAASUVORK5CYII=');;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
.gedit-path-edit-layer {
|
|
2
|
+
position: absolute;
|
|
3
|
+
left: 0;
|
|
4
|
+
top: 0;
|
|
5
|
+
overflow: visible;
|
|
6
|
+
z-index: 20;
|
|
7
|
+
&-point {
|
|
8
|
+
position: absolute;
|
|
9
|
+
width: 8px;
|
|
10
|
+
height: 8px;
|
|
11
|
+
border-radius: 100%;
|
|
12
|
+
top: -4px;
|
|
13
|
+
left: -4px;
|
|
14
|
+
background-color: #fff; //var(--g-playground-select);
|
|
15
|
+
border: 1px solid #ccc;
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
z-index: 50;
|
|
18
|
+
&-move {
|
|
19
|
+
z-index: 0;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
&-point-bezier {
|
|
23
|
+
position: absolute;
|
|
24
|
+
width: 6px;
|
|
25
|
+
height: 6px;
|
|
26
|
+
top: -3px;
|
|
27
|
+
left: -3px;
|
|
28
|
+
background-color: #fff;//var(--g-playground-select);
|
|
29
|
+
border: 1px solid #ccc;
|
|
30
|
+
border-radius: 100%;
|
|
31
|
+
cursor: pointer;
|
|
32
|
+
z-index: 50;
|
|
33
|
+
&-line {
|
|
34
|
+
height: 1px;
|
|
35
|
+
position: absolute;
|
|
36
|
+
top: 0;
|
|
37
|
+
left: 0;
|
|
38
|
+
transform-origin: 0% 50%;
|
|
39
|
+
background-color: #bbb;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
&-pen {
|
|
43
|
+
// 移出画布
|
|
44
|
+
cursor: url(../svg/pen+.svg), copy;
|
|
45
|
+
}
|
|
46
|
+
&-line {
|
|
47
|
+
height: 1px;
|
|
48
|
+
background-color: #ccc;
|
|
49
|
+
position: absolute;
|
|
50
|
+
top: 0;
|
|
51
|
+
left: 0;
|
|
52
|
+
transform-origin: 0% 50%;
|
|
53
|
+
z-index: 0;
|
|
54
|
+
}
|
|
55
|
+
&-svg {
|
|
56
|
+
position: absolute;
|
|
57
|
+
overflow: visible;
|
|
58
|
+
left: 0;
|
|
59
|
+
top: 0;
|
|
60
|
+
cursor: url(../svg/pen+.svg), copy;
|
|
61
|
+
z-index: 1;
|
|
62
|
+
}
|
|
63
|
+
&-path {
|
|
64
|
+
stroke: #fff000;
|
|
65
|
+
fill: none;
|
|
66
|
+
// stroke-width: 1px;
|
|
67
|
+
pointer-events: auto;
|
|
68
|
+
&:hover {
|
|
69
|
+
stroke: var(--g-playground-select);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>编组 2</title>
|
|
4
|
+
<defs>
|
|
5
|
+
<rect id="path-1" x="0" y="0" width="20" height="20"></rect>
|
|
6
|
+
</defs>
|
|
7
|
+
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
8
|
+
<g id="3-Pen-+-形状结合-蒙版">
|
|
9
|
+
<mask id="mask-2" fill="white">
|
|
10
|
+
<use xlink:href="#path-1"></use>
|
|
11
|
+
</mask>
|
|
12
|
+
<g id="蒙版"></g>
|
|
13
|
+
<g id="3-Pen" mask="url(#mask-2)">
|
|
14
|
+
<g transform="translate(-8.950265, -5.827689)">
|
|
15
|
+
<g id="编组-3" stroke="none" fill="none" fill-rule="evenodd" transform="translate(15.908060, 15.908060) rotate(-33.000000) translate(-15.908060, -15.908060) translate(4.408060, 4.408060)">
|
|
16
|
+
<path d="M15.2636045,3.54128301 C15.1463591,3.42389369 14.9824898,3.36270075 14.8080946,3.37118409 C14.6336994,3.37966742 14.4630852,3.45713108 14.3338359,3.58651099 L11.6470455,6.26392495 C11.5176657,6.39317434 11.440202,6.5637885 11.4317187,6.73818372 C11.4232353,6.91257893 11.4844283,7.07644824 11.6018176,7.1936937 L11.8768691,7.46874527 C10.5668432,8.45506005 9.02084742,9.03767617 7.45291352,9.13593476 C7.17991393,9.16129804 6.93457934,9.35190929 6.83636102,9.61496155 L3.41043657,18.7950899 C3.33416882,18.998745 3.35731687,19.2172739 3.47265178,19.3824321 C3.58798669,19.5475903 3.78145241,19.6392496 3.9926312,19.6287856 C4.06292863,19.6255581 4.13335027,19.6110664 4.20120966,19.5858632 L13.3818161,16.1500821 C13.6415844,16.0533232 13.8312241,15.8129004 13.8603634,15.5433857 C13.9604921,13.9787315 14.5428258,12.4364838 15.5270733,11.1292857 L15.8021248,11.4043373 C15.9193778,11.5205354 16.0825735,11.5809356 16.2560971,11.5723565 C16.4307018,11.5648704 16.6019069,11.488138 16.7318934,11.3591093 L19.4089874,8.67888942 C19.5435052,8.54879031 19.6244033,8.37447287 19.6330845,8.19600994 C19.6417657,8.01754702 19.5774832,7.8502918 19.4550144,7.73269363 L15.2636045,3.54128301 Z" id="路径" stroke="#FFFFFF" fill="#000000" fill-rule="nonzero" transform="translate(11.500000, 11.500000) rotate(-225.000000) translate(-11.500000, -11.500000) "></path>
|
|
17
|
+
<path d="M14.0272692,11.6425806 L7.59746366,14.049758 L10.7844497,10.8596464 C11.2245552,10.9666111 11.7106572,10.7537469 11.9661762,10.3421679 C12.2216953,9.93058893 12.1818754,9.42460131 11.869373,9.11209895 C11.5568707,8.79959659 11.050883,8.75977669 10.6393041,9.01529573 C10.2277251,9.27081477 10.0148608,9.7569168 10.1218256,10.1970223 L6.93171401,13.3840083 L9.33889138,6.9542028 C11.0769116,6.75281121 12.7662565,6.04449073 14.1937478,4.91862422 L16.0690989,6.79397534 C14.9422125,8.21892537 14.2317635,9.90598413 14.0272692,11.6425806 L14.0272692,11.6425806 Z" id="路径" fill="#FFFFFF" fill-rule="nonzero" transform="translate(11.500406, 9.484191) rotate(-225.000000) translate(-11.500406, -9.484191) "></path>
|
|
18
|
+
</g>
|
|
19
|
+
<path d="M23.1879258,6.71185268 C24.3227683,6.31096118 24.4529395,6.56265282 24.6021394,6.71185268 C24.7831038,6.89281709 24.8950326,7.14281709 24.8950326,7.41915954 L24.8950326,7.41915954 L24.8942326,9.41815943 L26.8950326,9.41895946 C27.171175,9.41895946 27.421175,9.53088827 27.6021394,9.71185268 C27.7831038,9.89281709 27.8950326,10.1428171 27.8950326,10.4189595 C27.8950326,10.6951018 27.7831038,10.9451018 27.6021394,11.1260662 C27.421175,11.3070306 27.171175,11.4189595 26.8948327,11.4189594 L26.8948327,11.4189594 L24.8942326,11.4181595 L24.8950326,13.4189595 C24.8950326,13.6951018 24.7831038,13.9451018 24.6021394,14.1260662 C24.421175,14.3070306 24.171175,14.4189595 23.8950326,14.4189595 C23.6188902,14.4189595 23.3688902,14.3070306 23.1879258,14.1260662 C23.0069614,13.9451018 22.8950326,13.6951018 22.8950326,13.4191594 L22.8950326,13.4191594 L22.8942326,11.4181595 L20.8950326,11.4189595 C20.6188902,11.4189595 20.3688902,11.3070306 20.1879258,11.1260662 C20.0069614,10.9451018 19.8950326,10.6951018 19.8950326,10.4189595 C19.8950326,10.1428171 20.0069614,9.89281709 20.1879258,9.71185268 C20.3688902,9.53088827 20.6188902,9.41895946 20.8948325,9.4189595 L20.8948325,9.4189595 L22.8942326,9.41815942 L22.8950326,7.41895946 C22.8950326,7.14281709 23.0069614,6.89281709 23.1879258,6.71185268 Z" id="形状结合" stroke="#FFFFFF" fill="#000000" fill-rule="nonzero"></path>
|
|
20
|
+
</g>
|
|
21
|
+
</g>
|
|
22
|
+
</g>
|
|
23
|
+
</g>
|
|
24
|
+
</svg>
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { EditorStateConfigEntity, Layer, PositionSchema } from '@gedit/playground';
|
|
3
|
-
import { DocumentEntity } from './entities/document-entity';
|
|
4
|
-
import { Editor2dDocument, Editor2dPathNode } from '../model';
|
|
5
|
-
/**
|
|
6
|
-
* 动态绘制层
|
|
7
|
-
*/
|
|
8
|
-
export declare class CanvasDrawLayer extends Layer {
|
|
9
|
-
node: HTMLDivElement;
|
|
10
|
-
protected editorState: EditorStateConfigEntity;
|
|
11
|
-
documentEntity: DocumentEntity;
|
|
12
|
-
currentPathNode?: Editor2dPathNode;
|
|
13
|
-
onReady(): void;
|
|
14
|
-
/**
|
|
15
|
-
* 创建路径
|
|
16
|
-
* @param pos - 当前鼠标点击的位置
|
|
17
|
-
*/
|
|
18
|
-
drawPath(pos: PositionSchema): void;
|
|
19
|
-
get document(): Editor2dDocument | undefined;
|
|
20
|
-
draw(): JSX.Element;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=canvas-draw-layer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-draw-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-draw-layer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,uBAAuB,EAAU,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG9D;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,IAAI,iBAA0D;IAC7B,SAAS,CAAC,WAAW,EAAE,uBAAuB,CAAC;IACxD,cAAc,EAAE,cAAc,CAAC;IAEvD,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC,OAAO,IAAI,IAAI;IAoBf;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IAanC,IAAI,QAAQ,IAAI,gBAAgB,GAAG,SAAS,CAE3C;IAED,IAAI,IAAI,GAAG,CAAC,OAAO;CA4BpB"}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
-
};
|
|
23
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
-
};
|
|
26
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.CanvasDrawLayer = void 0;
|
|
28
|
-
var React = require("react");
|
|
29
|
-
var playground_1 = require("@gedit/playground");
|
|
30
|
-
var document_entity_1 = require("./entities/document-entity");
|
|
31
|
-
var browser_1 = require("@gedit/utils/lib/browser");
|
|
32
|
-
var render_engine_1 = require("@gedit/render-engine");
|
|
33
|
-
var EDIT_PATH_STATE = 'STATE_PATH';
|
|
34
|
-
/**
|
|
35
|
-
* 动态绘制层
|
|
36
|
-
*/
|
|
37
|
-
var CanvasDrawLayer = /** @class */ (function (_super) {
|
|
38
|
-
__extends(CanvasDrawLayer, _super);
|
|
39
|
-
function CanvasDrawLayer() {
|
|
40
|
-
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
41
|
-
_this.node = browser_1.domUtils.createDivWithClass('gedit-canvas-draw-layer');
|
|
42
|
-
return _this;
|
|
43
|
-
}
|
|
44
|
-
CanvasDrawLayer.prototype.onReady = function () {
|
|
45
|
-
var _this = this;
|
|
46
|
-
this.toDispose.pushAll([
|
|
47
|
-
// 退出路径编辑
|
|
48
|
-
this.editorState.onCancel(EDIT_PATH_STATE, function () {
|
|
49
|
-
var _a;
|
|
50
|
-
// 如果只有一个点代表绘制不成功,则删除
|
|
51
|
-
if (_this.currentPathNode && _this.currentPathNode.path.paths.length <= 1) {
|
|
52
|
-
(_a = _this.document) === null || _a === void 0 ? void 0 : _a.delNode(_this.currentPathNode);
|
|
53
|
-
}
|
|
54
|
-
_this.currentPathNode = undefined;
|
|
55
|
-
}),
|
|
56
|
-
this.listenPlaygroundEvent('mousedown', function (e) {
|
|
57
|
-
// 当前编辑模式为路径编辑
|
|
58
|
-
if (_this.editorState.is(EDIT_PATH_STATE)) {
|
|
59
|
-
var pos = _this.getPosFromMouseEvent(e);
|
|
60
|
-
_this.drawPath(pos);
|
|
61
|
-
}
|
|
62
|
-
}, 10)
|
|
63
|
-
]);
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* 创建路径
|
|
67
|
-
* @param pos - 当前鼠标点击的位置
|
|
68
|
-
*/
|
|
69
|
-
CanvasDrawLayer.prototype.drawPath = function (pos) {
|
|
70
|
-
if (!this.document)
|
|
71
|
-
return;
|
|
72
|
-
// 创建一个空的路径节点,用于存储数据
|
|
73
|
-
if (!this.currentPathNode) {
|
|
74
|
-
this.currentPathNode = this.document.createDisplayNode(render_engine_1.GameObjectBaseType.PATH);
|
|
75
|
-
}
|
|
76
|
-
this.currentPathNode.path.paths.push({
|
|
77
|
-
x: pos.x,
|
|
78
|
-
y: pos.y,
|
|
79
|
-
});
|
|
80
|
-
this.document.updateNode(this.currentPathNode, {}, true);
|
|
81
|
-
};
|
|
82
|
-
Object.defineProperty(CanvasDrawLayer.prototype, "document", {
|
|
83
|
-
get: function () {
|
|
84
|
-
return this.documentEntity.config.document;
|
|
85
|
-
},
|
|
86
|
-
enumerable: false,
|
|
87
|
-
configurable: true
|
|
88
|
-
});
|
|
89
|
-
CanvasDrawLayer.prototype.draw = function () {
|
|
90
|
-
var _this = this;
|
|
91
|
-
if (!this.document)
|
|
92
|
-
return React.createElement(React.Fragment, null);
|
|
93
|
-
var allPoints = [];
|
|
94
|
-
var document = this.document;
|
|
95
|
-
this.document.queryNodesByTypes([render_engine_1.GameObjectBaseType.PATH]).forEach(function (node) {
|
|
96
|
-
node.path.paths.forEach(function (p, i) {
|
|
97
|
-
var onMouseDown = function (e) {
|
|
98
|
-
_this.startDrag(e.clientX, e.clientY, {
|
|
99
|
-
// 拖动
|
|
100
|
-
onDrag: function (dragEvent) {
|
|
101
|
-
var pos = dragEvent.endPos;
|
|
102
|
-
p.x = pos.x;
|
|
103
|
-
p.y = pos.y;
|
|
104
|
-
document.updateNode(node, {}, true);
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
e.preventDefault();
|
|
108
|
-
e.stopPropagation();
|
|
109
|
-
};
|
|
110
|
-
allPoints.push(React.createElement("div", { className: "gedit-canvas-draw-layer-point", key: "".concat(node.id, ".").concat(i), style: { left: p.x, top: p.y }, onMouseDown: onMouseDown }));
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
return React.createElement(React.Fragment, null, allPoints);
|
|
114
|
-
};
|
|
115
|
-
__decorate([
|
|
116
|
-
(0, playground_1.entity)(playground_1.EditorStateConfigEntity),
|
|
117
|
-
__metadata("design:type", playground_1.EditorStateConfigEntity)
|
|
118
|
-
], CanvasDrawLayer.prototype, "editorState", void 0);
|
|
119
|
-
__decorate([
|
|
120
|
-
(0, playground_1.entity)(document_entity_1.DocumentEntity),
|
|
121
|
-
__metadata("design:type", document_entity_1.DocumentEntity)
|
|
122
|
-
], CanvasDrawLayer.prototype, "documentEntity", void 0);
|
|
123
|
-
return CanvasDrawLayer;
|
|
124
|
-
}(playground_1.Layer));
|
|
125
|
-
exports.CanvasDrawLayer = CanvasDrawLayer;
|
|
126
|
-
//# sourceMappingURL=canvas-draw-layer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-draw-layer.js","sourceRoot":"","sources":["../../../src/browser/playground/canvas-draw-layer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { EditorStateConfigEntity, entity, Layer, PositionSchema } from '@gedit/playground';
|
|
3
|
-
import { DocumentEntity } from './entities/document-entity';
|
|
4
|
-
import { domUtils } from '@gedit/utils/lib/browser';
|
|
5
|
-
import { GameObjectBaseType } from '@gedit/render-engine';
|
|
6
|
-
import { Editor2dDocument, Editor2dPathNode } from '../model';
|
|
7
|
-
|
|
8
|
-
const EDIT_PATH_STATE = 'STATE_PATH';
|
|
9
|
-
/**
|
|
10
|
-
* 动态绘制层
|
|
11
|
-
*/
|
|
12
|
-
export class CanvasDrawLayer extends Layer {
|
|
13
|
-
node = domUtils.createDivWithClass('gedit-canvas-draw-layer');
|
|
14
|
-
@entity(EditorStateConfigEntity) protected editorState: EditorStateConfigEntity;
|
|
15
|
-
@entity(DocumentEntity) documentEntity: DocumentEntity;
|
|
16
|
-
|
|
17
|
-
currentPathNode?: Editor2dPathNode;
|
|
18
|
-
|
|
19
|
-
onReady(): void {
|
|
20
|
-
this.toDispose.pushAll([
|
|
21
|
-
// 退出路径编辑
|
|
22
|
-
this.editorState.onCancel(EDIT_PATH_STATE, () => {
|
|
23
|
-
// 如果只有一个点代表绘制不成功,则删除
|
|
24
|
-
if (this.currentPathNode && this.currentPathNode.path.paths.length <= 1) {
|
|
25
|
-
this.document?.delNode(this.currentPathNode);
|
|
26
|
-
}
|
|
27
|
-
this.currentPathNode = undefined;
|
|
28
|
-
}),
|
|
29
|
-
this.listenPlaygroundEvent('mousedown', (e: MouseEvent) => {
|
|
30
|
-
// 当前编辑模式为路径编辑
|
|
31
|
-
if (this.editorState.is(EDIT_PATH_STATE)) {
|
|
32
|
-
const pos = this.getPosFromMouseEvent(e);
|
|
33
|
-
this.drawPath(pos);
|
|
34
|
-
}
|
|
35
|
-
}, 10)
|
|
36
|
-
]);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* 创建路径
|
|
41
|
-
* @param pos - 当前鼠标点击的位置
|
|
42
|
-
*/
|
|
43
|
-
drawPath(pos: PositionSchema): void {
|
|
44
|
-
if (!this.document) return;
|
|
45
|
-
// 创建一个空的路径节点,用于存储数据
|
|
46
|
-
if (!this.currentPathNode) {
|
|
47
|
-
this.currentPathNode = this.document.createDisplayNode<Editor2dPathNode>(GameObjectBaseType.PATH);
|
|
48
|
-
}
|
|
49
|
-
this.currentPathNode.path.paths.push({
|
|
50
|
-
x: pos.x,
|
|
51
|
-
y: pos.y,
|
|
52
|
-
});
|
|
53
|
-
this.document.updateNode(this.currentPathNode, {}, true);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
get document(): Editor2dDocument | undefined {
|
|
57
|
-
return this.documentEntity.config.document;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
draw(): JSX.Element {
|
|
61
|
-
if (!this.document) return <></>;
|
|
62
|
-
const allPoints: JSX.Element[] = [];
|
|
63
|
-
const document = this.document!;
|
|
64
|
-
this.document.queryNodesByTypes([GameObjectBaseType.PATH]).forEach((node: Editor2dPathNode) => {
|
|
65
|
-
node.path.paths.forEach((p, i) => {
|
|
66
|
-
const onMouseDown = (e: React.MouseEvent) => {
|
|
67
|
-
this.startDrag(e.clientX, e.clientY, {
|
|
68
|
-
// 拖动
|
|
69
|
-
onDrag(dragEvent): void {
|
|
70
|
-
const pos = dragEvent.endPos;
|
|
71
|
-
p.x = pos.x;
|
|
72
|
-
p.y = pos.y;
|
|
73
|
-
document.updateNode(node, {}, true);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
e.preventDefault();
|
|
77
|
-
e.stopPropagation();
|
|
78
|
-
};
|
|
79
|
-
allPoints.push(
|
|
80
|
-
<div className="gedit-canvas-draw-layer-point" key={`${node.id}.${i}`} style={{ left: p.x, top: p.y }}onMouseDown={onMouseDown}/>
|
|
81
|
-
);
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
return <>
|
|
85
|
-
{allPoints}
|
|
86
|
-
</>;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
.gedit-canvas-draw-layer {
|
|
2
|
-
position: absolute;
|
|
3
|
-
left: 0;
|
|
4
|
-
top: 0;
|
|
5
|
-
overflow: visible;
|
|
6
|
-
z-index: 20;
|
|
7
|
-
&-point {
|
|
8
|
-
position: absolute;
|
|
9
|
-
width: 8px;
|
|
10
|
-
height: 8px;
|
|
11
|
-
border-radius: var(--g-small-radius);
|
|
12
|
-
margin-top: -4px;
|
|
13
|
-
margin-left: -4px;
|
|
14
|
-
background-color: var(--g-playground-select);
|
|
15
|
-
cursor: pointer;
|
|
16
|
-
z-index: 50;
|
|
17
|
-
}
|
|
18
|
-
&-svg {
|
|
19
|
-
position: absolute;
|
|
20
|
-
overflow: visible;
|
|
21
|
-
left: 0;
|
|
22
|
-
top: 0;
|
|
23
|
-
}
|
|
24
|
-
}
|