@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.
Files changed (134) hide show
  1. package/lib/browser/editor2d-context-key-service.js +24 -35
  2. package/lib/browser/editor2d-context-key-service.js.map +1 -1
  3. package/lib/browser/editor2d-contribution.js +89 -139
  4. package/lib/browser/editor2d-contribution.js.map +1 -1
  5. package/lib/browser/editor2d-frontend-module.js +20 -20
  6. package/lib/browser/editor2d-frontend-module.js.map +1 -1
  7. package/lib/browser/editor2d-label-provider.d.ts +0 -1
  8. package/lib/browser/editor2d-label-provider.d.ts.map +1 -1
  9. package/lib/browser/editor2d-label-provider.js +37 -58
  10. package/lib/browser/editor2d-label-provider.js.map +1 -1
  11. package/lib/browser/editor2d-model-provider.js +61 -127
  12. package/lib/browser/editor2d-model-provider.js.map +1 -1
  13. package/lib/browser/editor2d-ref-provider-contribution.d.ts +1 -1
  14. package/lib/browser/editor2d-ref-provider-contribution.d.ts.map +1 -1
  15. package/lib/browser/editor2d-ref-provider-contribution.js +46 -112
  16. package/lib/browser/editor2d-ref-provider-contribution.js.map +1 -1
  17. package/lib/browser/editor2d-service.js +66 -85
  18. package/lib/browser/editor2d-service.js.map +1 -1
  19. package/lib/browser/model/editor2d-document.d.ts +46 -20
  20. package/lib/browser/model/editor2d-document.d.ts.map +1 -1
  21. package/lib/browser/model/editor2d-document.js +602 -549
  22. package/lib/browser/model/editor2d-document.js.map +1 -1
  23. package/lib/browser/model/editor2d-iterator.js +27 -67
  24. package/lib/browser/model/editor2d-iterator.js.map +1 -1
  25. package/lib/browser/model/editor2d-model-container.js +10 -21
  26. package/lib/browser/model/editor2d-model-container.js.map +1 -1
  27. package/lib/browser/model/editor2d-model.js +77 -92
  28. package/lib/browser/model/editor2d-model.js.map +1 -1
  29. package/lib/browser/model/editor2d-selection.js +16 -43
  30. package/lib/browser/model/editor2d-selection.js.map +1 -1
  31. package/lib/browser/model/editor2d-widget.js +71 -90
  32. package/lib/browser/model/editor2d-widget.js.map +1 -1
  33. package/lib/browser/model/editor2d.d.ts +8 -4
  34. package/lib/browser/model/editor2d.d.ts.map +1 -1
  35. package/lib/browser/model/editor2d.js +61 -128
  36. package/lib/browser/model/editor2d.js.map +1 -1
  37. package/lib/browser/model/utils/anim.utils.d.ts +3 -0
  38. package/lib/browser/model/utils/anim.utils.d.ts.map +1 -1
  39. package/lib/browser/model/utils/anim.utils.js +24 -18
  40. package/lib/browser/model/utils/anim.utils.js.map +1 -1
  41. package/lib/browser/playground/canvas-draw.d.ts +8 -0
  42. package/lib/browser/playground/canvas-draw.d.ts.map +1 -1
  43. package/lib/browser/playground/canvas-draw.js +164 -252
  44. package/lib/browser/playground/canvas-draw.js.map +1 -1
  45. package/lib/browser/playground/canvas-layer.d.ts +10 -2
  46. package/lib/browser/playground/canvas-layer.d.ts.map +1 -1
  47. package/lib/browser/playground/canvas-layer.js +78 -102
  48. package/lib/browser/playground/canvas-layer.js.map +1 -1
  49. package/lib/browser/playground/entities/document-entity.js +8 -28
  50. package/lib/browser/playground/entities/document-entity.js.map +1 -1
  51. package/lib/browser/playground/entities/editor2d-entity.js +14 -37
  52. package/lib/browser/playground/entities/editor2d-entity.js.map +1 -1
  53. package/lib/browser/playground/entities/extend-entity.d.ts +10 -0
  54. package/lib/browser/playground/entities/extend-entity.d.ts.map +1 -0
  55. package/lib/browser/playground/entities/extend-entity.js +34 -0
  56. package/lib/browser/playground/entities/extend-entity.js.map +1 -0
  57. package/lib/browser/playground/entities/index.d.ts +1 -0
  58. package/lib/browser/playground/entities/index.d.ts.map +1 -1
  59. package/lib/browser/playground/entities/index.js +1 -0
  60. package/lib/browser/playground/entities/index.js.map +1 -1
  61. package/lib/browser/playground/extend-edit-layer-point-event.d.ts +30 -0
  62. package/lib/browser/playground/extend-edit-layer-point-event.d.ts.map +1 -0
  63. package/lib/browser/playground/extend-edit-layer-point-event.js +50 -0
  64. package/lib/browser/playground/extend-edit-layer-point-event.js.map +1 -0
  65. package/lib/browser/playground/extend-edit-layer.d.ts +38 -0
  66. package/lib/browser/playground/extend-edit-layer.d.ts.map +1 -0
  67. package/lib/browser/playground/extend-edit-layer.js +335 -0
  68. package/lib/browser/playground/extend-edit-layer.js.map +1 -0
  69. package/lib/browser/playground/index.d.ts +1 -0
  70. package/lib/browser/playground/index.d.ts.map +1 -1
  71. package/lib/browser/playground/index.js +1 -0
  72. package/lib/browser/playground/index.js.map +1 -1
  73. package/lib/browser/playground/path-edit-layer-move-point.d.ts +15 -0
  74. package/lib/browser/playground/path-edit-layer-move-point.d.ts.map +1 -0
  75. package/lib/browser/playground/path-edit-layer-move-point.js +47 -0
  76. package/lib/browser/playground/path-edit-layer-move-point.js.map +1 -0
  77. package/lib/browser/playground/path-edit-layer-svg-path.d.ts +11 -0
  78. package/lib/browser/playground/path-edit-layer-svg-path.d.ts.map +1 -0
  79. package/lib/browser/playground/path-edit-layer-svg-path.js +21 -0
  80. package/lib/browser/playground/path-edit-layer-svg-path.js.map +1 -0
  81. package/lib/browser/playground/path-edit-layer.d.ts +36 -0
  82. package/lib/browser/playground/path-edit-layer.d.ts.map +1 -0
  83. package/lib/browser/playground/path-edit-layer.js +257 -0
  84. package/lib/browser/playground/path-edit-layer.js.map +1 -0
  85. package/lib/browser/playground/playground-context.d.ts +3 -1
  86. package/lib/browser/playground/playground-context.d.ts.map +1 -1
  87. package/lib/browser/playground/playground-context.js +49 -47
  88. package/lib/browser/playground/playground-context.js.map +1 -1
  89. package/lib/browser/playground/playground-contribution.d.ts +2 -0
  90. package/lib/browser/playground/playground-contribution.d.ts.map +1 -1
  91. package/lib/browser/playground/playground-contribution.js +100 -67
  92. package/lib/browser/playground/playground-contribution.js.map +1 -1
  93. package/lib/browser/playground/selection-entity-manager.js +74 -132
  94. package/lib/browser/playground/selection-entity-manager.js.map +1 -1
  95. package/lib/browser/playground/selector-extend-icons.js +15 -16
  96. package/lib/browser/playground/selector-extend-icons.js.map +1 -1
  97. package/lib/browser/playground/selector-extend-renderer.d.ts +3 -2
  98. package/lib/browser/playground/selector-extend-renderer.d.ts.map +1 -1
  99. package/lib/browser/playground/selector-extend-renderer.js +67 -52
  100. package/lib/browser/playground/selector-extend-renderer.js.map +1 -1
  101. package/lib/browser/utils/snapshot.d.ts.map +1 -1
  102. package/lib/browser/utils/snapshot.js +81 -172
  103. package/lib/browser/utils/snapshot.js.map +1 -1
  104. package/package.json +9 -7
  105. package/src/browser/editor2d-label-provider.ts +1 -15
  106. package/src/browser/editor2d-ref-provider-contribution.ts +8 -8
  107. package/src/browser/model/editor2d-document.ts +284 -51
  108. package/src/browser/model/editor2d.ts +21 -5
  109. package/src/browser/model/utils/anim.utils.ts +9 -2
  110. package/src/browser/playground/canvas-draw.ts +31 -17
  111. package/src/browser/playground/canvas-layer.ts +25 -3
  112. package/src/browser/playground/entities/extend-entity.ts +37 -0
  113. package/src/browser/playground/entities/index.ts +1 -0
  114. package/src/browser/playground/extend-edit-layer-point-event.tsx +71 -0
  115. package/src/browser/playground/extend-edit-layer.tsx +442 -0
  116. package/src/browser/playground/index.ts +1 -0
  117. package/src/browser/playground/path-edit-layer-move-point.tsx +71 -0
  118. package/src/browser/playground/path-edit-layer-svg-path.tsx +50 -0
  119. package/src/browser/playground/path-edit-layer.tsx +330 -0
  120. package/src/browser/playground/playground-context.ts +2 -0
  121. package/src/browser/playground/playground-contribution.ts +37 -3
  122. package/src/browser/playground/selector-extend-renderer.tsx +43 -10
  123. package/src/browser/style/canvas-layer.css +16 -0
  124. package/src/browser/style/extend-edit-layer.less +127 -0
  125. package/src/browser/style/index.less +2 -1
  126. package/src/browser/style/path-edit-layer.less +72 -0
  127. package/src/browser/svg/pen+.svg +24 -0
  128. package/src/browser/utils/snapshot.ts +1 -0
  129. package/lib/browser/playground/canvas-draw-layer.d.ts +0 -22
  130. package/lib/browser/playground/canvas-draw-layer.d.ts.map +0 -1
  131. package/lib/browser/playground/canvas-draw-layer.js +0 -126
  132. package/lib/browser/playground/canvas-draw-layer.js.map +0 -1
  133. package/src/browser/playground/canvas-draw-layer.tsx +0 -88
  134. 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 './canvas-draw-layer.less';
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>
@@ -80,6 +80,7 @@ export class SnapshotCreator extends DisposableImpl {
80
80
  }
81
81
  this.drawer = new CanvasDraw({
82
82
  host,
83
+ isSnapshot: true,
83
84
  ...opts,
84
85
  });
85
86
  this.toDispose.pushAll([
@@ -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
- }