@gedit/editor-2d 0.2.46 → 0.2.48

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 (99) hide show
  1. package/lib/browser/model/editor2d-document.d.ts +11 -2
  2. package/lib/browser/model/editor2d-document.d.ts.map +1 -1
  3. package/lib/browser/model/editor2d-document.js +44 -8
  4. package/lib/browser/model/editor2d-document.js.map +1 -1
  5. package/lib/browser/model/editor2d-model-container.d.ts.map +1 -1
  6. package/lib/browser/model/editor2d-model-container.js +1 -1
  7. package/lib/browser/model/editor2d-model-container.js.map +1 -1
  8. package/lib/browser/model/editor2d-model.d.ts +2 -0
  9. package/lib/browser/model/editor2d-model.d.ts.map +1 -1
  10. package/lib/browser/model/editor2d-model.js +5 -0
  11. package/lib/browser/model/editor2d-model.js.map +1 -1
  12. package/lib/browser/model/editor2d.d.ts +2 -0
  13. package/lib/browser/model/editor2d.d.ts.map +1 -1
  14. package/lib/browser/model/editor2d.js +4 -2
  15. package/lib/browser/model/editor2d.js.map +1 -1
  16. package/lib/browser/playground/canvas-draw.d.ts +6 -2
  17. package/lib/browser/playground/canvas-draw.d.ts.map +1 -1
  18. package/lib/browser/playground/canvas-draw.js +174 -49
  19. package/lib/browser/playground/canvas-draw.js.map +1 -1
  20. package/lib/browser/playground/canvas-layer.d.ts +15 -3
  21. package/lib/browser/playground/canvas-layer.d.ts.map +1 -1
  22. package/lib/browser/playground/canvas-layer.js +134 -72
  23. package/lib/browser/playground/canvas-layer.js.map +1 -1
  24. package/lib/browser/playground/index.d.ts +2 -0
  25. package/lib/browser/playground/index.d.ts.map +1 -1
  26. package/lib/browser/playground/index.js +2 -0
  27. package/lib/browser/playground/index.js.map +1 -1
  28. package/lib/browser/playground/path-edit/index.d.ts +4 -0
  29. package/lib/browser/playground/path-edit/index.d.ts.map +1 -0
  30. package/lib/browser/playground/path-edit/index.js +20 -0
  31. package/lib/browser/playground/path-edit/index.js.map +1 -0
  32. package/lib/browser/playground/path-edit/path-edit-layer-move-point.d.ts +18 -0
  33. package/lib/browser/playground/path-edit/path-edit-layer-move-point.d.ts.map +1 -0
  34. package/lib/browser/playground/path-edit/path-edit-layer-move-point.js +52 -0
  35. package/lib/browser/playground/path-edit/path-edit-layer-move-point.js.map +1 -0
  36. package/lib/browser/playground/path-edit/path-edit-layer-svg-path.d.ts +21 -0
  37. package/lib/browser/playground/path-edit/path-edit-layer-svg-path.d.ts.map +1 -0
  38. package/lib/browser/playground/path-edit/path-edit-layer-svg-path.js +158 -0
  39. package/lib/browser/playground/path-edit/path-edit-layer-svg-path.js.map +1 -0
  40. package/lib/browser/playground/path-edit/utils.d.ts +37 -0
  41. package/lib/browser/playground/path-edit/utils.d.ts.map +1 -0
  42. package/lib/browser/playground/path-edit/utils.js +236 -0
  43. package/lib/browser/playground/path-edit/utils.js.map +1 -0
  44. package/lib/browser/playground/path-edit-layer.d.ts +32 -12
  45. package/lib/browser/playground/path-edit-layer.d.ts.map +1 -1
  46. package/lib/browser/playground/path-edit-layer.js +460 -146
  47. package/lib/browser/playground/path-edit-layer.js.map +1 -1
  48. package/lib/browser/playground/playground-context.d.ts +5 -2
  49. package/lib/browser/playground/playground-context.d.ts.map +1 -1
  50. package/lib/browser/playground/playground-context.js +13 -2
  51. package/lib/browser/playground/playground-context.js.map +1 -1
  52. package/lib/browser/playground/playground-contribution.d.ts +4 -1
  53. package/lib/browser/playground/playground-contribution.d.ts.map +1 -1
  54. package/lib/browser/playground/playground-contribution.js +23 -23
  55. package/lib/browser/playground/playground-contribution.js.map +1 -1
  56. package/lib/browser/playground/selection-entity-manager.d.ts +1 -1
  57. package/lib/browser/playground/selection-entity-manager.d.ts.map +1 -1
  58. package/lib/browser/playground/selection-entity-manager.js +40 -10
  59. package/lib/browser/playground/selection-entity-manager.js.map +1 -1
  60. package/lib/browser/playground/selector-extend-renderer.d.ts +2 -1
  61. package/lib/browser/playground/selector-extend-renderer.d.ts.map +1 -1
  62. package/lib/browser/playground/selector-extend-renderer.js +50 -21
  63. package/lib/browser/playground/selector-extend-renderer.js.map +1 -1
  64. package/lib/browser/utils/snapshot.d.ts +1 -0
  65. package/lib/browser/utils/snapshot.d.ts.map +1 -1
  66. package/lib/browser/utils/snapshot.js +12 -1
  67. package/lib/browser/utils/snapshot.js.map +1 -1
  68. package/package.json +9 -7
  69. package/src/browser/model/editor2d-document.ts +44 -6
  70. package/src/browser/model/editor2d-model-container.ts +2 -0
  71. package/src/browser/model/editor2d-model.ts +2 -0
  72. package/src/browser/model/editor2d.ts +4 -1
  73. package/src/browser/playground/canvas-draw.ts +331 -112
  74. package/src/browser/playground/canvas-layer.ts +120 -59
  75. package/src/browser/playground/index.ts +2 -0
  76. package/src/browser/playground/path-edit/index.ts +3 -0
  77. package/src/browser/playground/path-edit/path-edit-layer-move-point.tsx +108 -0
  78. package/src/browser/playground/path-edit/path-edit-layer-svg-path.tsx +283 -0
  79. package/src/browser/playground/path-edit/utils.tsx +285 -0
  80. package/src/browser/playground/path-edit-layer.tsx +563 -216
  81. package/src/browser/playground/playground-context.ts +7 -1
  82. package/src/browser/playground/playground-contribution.ts +17 -24
  83. package/src/browser/playground/selection-entity-manager.tsx +48 -8
  84. package/src/browser/playground/selector-extend-renderer.tsx +69 -37
  85. package/src/browser/style/index.less +6 -0
  86. package/src/browser/style/path-edit-layer.less +17 -30
  87. package/src/browser/svg/pen_close.svg +24 -0
  88. package/src/browser/utils/snapshot.ts +12 -1
  89. package/LICENSE +0 -21
  90. package/lib/browser/playground/path-edit-layer-move-point.d.ts +0 -15
  91. package/lib/browser/playground/path-edit-layer-move-point.d.ts.map +0 -1
  92. package/lib/browser/playground/path-edit-layer-move-point.js +0 -47
  93. package/lib/browser/playground/path-edit-layer-move-point.js.map +0 -1
  94. package/lib/browser/playground/path-edit-layer-svg-path.d.ts +0 -11
  95. package/lib/browser/playground/path-edit-layer-svg-path.d.ts.map +0 -1
  96. package/lib/browser/playground/path-edit-layer-svg-path.js +0 -21
  97. package/lib/browser/playground/path-edit-layer-svg-path.js.map +0 -1
  98. package/src/browser/playground/path-edit-layer-move-point.tsx +0 -71
  99. package/src/browser/playground/path-edit-layer-svg-path.tsx +0 -50
@@ -4,6 +4,7 @@ exports.CanvasDraw = exports.GameObjectEventType = void 0;
4
4
  const render_engine_1 = require("@gedit/render-engine");
5
5
  const editor2d_1 = require("../model/editor2d");
6
6
  const utils_1 = require("@gedit/utils");
7
+ const playground_1 = require("@gedit/playground");
7
8
  const WAIT_TO_DISPOSE_TIME = 30000; // 延迟删除, 这样tab在频繁切换时候不会有延迟
8
9
  const SCENE_KEY = 'boot';
9
10
  var GameObjectEventType;
@@ -15,10 +16,14 @@ var GameObjectEventType;
15
16
  GameObjectEventType[GameObjectEventType["ERROR"] = 4] = "ERROR";
16
17
  })(GameObjectEventType = exports.GameObjectEventType || (exports.GameObjectEventType = {}));
17
18
  function toNodeData(node, symbols) {
18
- const originData = (0, utils_1.omit)(node, ['parent', 'previousSibling', 'nextSibling', 'children']);
19
+ const originData = (0, utils_1.omit)(node, [
20
+ 'parent',
21
+ 'previousSibling',
22
+ 'nextSibling',
23
+ 'children',
24
+ ]);
19
25
  return render_engine_1.GameObjectData.replaceSymbolKey(originData, symbols, true, originData);
20
26
  }
21
- ;
22
27
  /**
23
28
  * 获取当前画布的变量
24
29
  */
@@ -81,7 +86,7 @@ class CanvasDraw extends utils_1.DisposableImpl {
81
86
  * @param engineName
82
87
  * @return visible changed
83
88
  */
84
- toggleVisible(appConfig, visible, engineName) {
89
+ toggleVisible(appConfig, visible) {
85
90
  var _a, _b;
86
91
  if (this.waitToDispose) {
87
92
  this.waitToDispose.dispose();
@@ -96,10 +101,10 @@ class CanvasDraw extends utils_1.DisposableImpl {
96
101
  const backgroundColor = isScene ? appConfig.backgroundColor : '';
97
102
  this.pixelArt = appConfig.pixelArt;
98
103
  if (visible && !this.renderWidget) {
99
- const element = window.document.createElement('canvas');
104
+ const element = window.document.createElement(this.engineName === 'dom' ? 'div' : 'canvas');
100
105
  this.opts.host.appendChild(element);
101
106
  element.className = 'gedit-canvas-transparent';
102
- this.renderWidget = this.opts.renderEngine.createGameWidget(engineName, Object.assign(Object.assign({}, appConfig), { width: 0, height: 0, uri: (_b = this.data) === null || _b === void 0 ? void 0 : _b.uri, canvas: element, backgroundColor, assetsURI: this.opts.assetsURI, isSnapshot: this.opts.isSnapshot, isIDE: true }));
107
+ this.renderWidget = this.opts.renderEngine.createGameWidget(this.engineName, Object.assign(Object.assign({}, appConfig), { width: 0, height: 0, uri: (_b = this.data) === null || _b === void 0 ? void 0 : _b.uri, canvas: element, rootEngine: appConfig.engine, backgroundColor, assetsURI: this.opts.assetsURI, isSnapshot: this.opts.isSnapshot, isIDE: true }));
103
108
  this.renderWidget.toDispose.push(utils_1.Disposable.create(() => {
104
109
  if (this.renderWidgetDispose) {
105
110
  this.renderWidgetDispose.dispose();
@@ -144,7 +149,6 @@ class CanvasDraw extends utils_1.DisposableImpl {
144
149
  }
145
150
  return false;
146
151
  }
147
- ;
148
152
  addComponentSymbolsMetaToLoader(scene) {
149
153
  if (this.currentSymbols.length) {
150
154
  this.currentSymbols.forEach(c => {
@@ -155,6 +159,58 @@ class CanvasDraw extends utils_1.DisposableImpl {
155
159
  });
156
160
  }
157
161
  }
162
+ switchSnapline(node) {
163
+ var _a, _b, _c, _d, _e, _f;
164
+ // dom 下开启滚动的话,,显示标尺展示场景大小;
165
+ if (node &&
166
+ editor2d_1.Editor2dNode.isRootNode(node) &&
167
+ node.displayType === render_engine_1.GameObjectBaseType.COMPONENT &&
168
+ ((_a = this.data) === null || _a === void 0 ? void 0 : _a.engineName) === 'dom') {
169
+ const snaplineEntity = (_b = this.opts.entityManager) === null || _b === void 0 ? void 0 : _b.getEntity(playground_1.SnaplineConfigEntity);
170
+ if (!snaplineEntity) {
171
+ return;
172
+ }
173
+ if (((_c = node.scene) === null || _c === void 0 ? void 0 : _c.scrollXBool) || ((_d = node.scene) === null || _d === void 0 ? void 0 : _d.scrollYBool)) {
174
+ snaplineEntity.updateConfig({
175
+ lines: [
176
+ {
177
+ id: 'component_scene_top',
178
+ color: '#fff000',
179
+ horizontal: true,
180
+ start: { x: 0, y: 0 },
181
+ strokeWidth: 1,
182
+ },
183
+ {
184
+ id: 'component_scene_top',
185
+ color: '#fff000',
186
+ horizontal: true,
187
+ start: { x: 0, y: ((_e = node.scene) === null || _e === void 0 ? void 0 : _e.height) || 400 },
188
+ strokeWidth: 1,
189
+ },
190
+ {
191
+ id: 'component_scene_left',
192
+ color: 'red',
193
+ vertical: true,
194
+ start: { x: 0, y: 0 },
195
+ strokeWidth: 1,
196
+ },
197
+ {
198
+ id: 'component_scene_right',
199
+ color: 'red',
200
+ vertical: true,
201
+ start: { x: ((_f = node.scene) === null || _f === void 0 ? void 0 : _f.width) || 400, y: 0 },
202
+ strokeWidth: 1,
203
+ },
204
+ ],
205
+ });
206
+ }
207
+ else {
208
+ snaplineEntity.updateConfig({
209
+ lines: [],
210
+ });
211
+ }
212
+ }
213
+ }
158
214
  updateGameObjects(scene, content) {
159
215
  const renderKeys = [];
160
216
  if (!content)
@@ -173,17 +229,30 @@ class CanvasDraw extends utils_1.DisposableImpl {
173
229
  });
174
230
  this.lastRenderKeys = renderKeys;
175
231
  }
176
- updateGameObject(scene, node, depth, renderKeys, isInside = false, parentId) {
177
- var _a;
232
+ updateGameObject(scene, node, depth, renderKeys, isInside = false, parentId, engineName) {
233
+ var _a, _b;
178
234
  const nodePath = editor2d_1.Editor2dNode.getNodePath(node);
179
235
  let children = (node.children || []).slice().reverse();
180
- const deco = this.opts.renderEngine.getGameObjectDecoration(this.data.engineName, node.displayType);
181
- const compId = !editor2d_1.Editor2dNode.isRootNode(node) && deco.getComponentId ? deco.getComponentId(node) : undefined;
236
+ // console.log(this.data, scene, node);
237
+ const deco = this.opts.renderEngine.getGameObjectDecoration(engineName || this.engineName, node.displayType);
238
+ if (node.parent) {
239
+ }
240
+ // console.log(deco);
241
+ const compId = !editor2d_1.Editor2dNode.isRootNode(node) && deco.getComponentId
242
+ ? deco.getComponentId(node)
243
+ : undefined;
182
244
  let adsorbable = true; // 是否可被吸附
183
- const selectable = !isInside && (!this.opts.isTemplate || !editor2d_1.Editor2dNode.isTemplateDisabled(node)); // 是否可被选中
245
+ const selectable = !isInside &&
246
+ (!this.opts.isTemplate || !editor2d_1.Editor2dNode.isTemplateDisabled(node)); // 是否可被选中
184
247
  let childInside = false;
248
+ let componentScene;
185
249
  if (compId) {
186
- children = (this.opts.getComponentContent(compId, node) || []).slice().reverse().concat(children);
250
+ children = (this.opts.getComponentContent(compId, node) || [])
251
+ .slice()
252
+ .reverse()
253
+ .concat(children);
254
+ const component = this.opts.getComponentContent(compId, node, true);
255
+ componentScene = component === null || component === void 0 ? void 0 : component[0].scene;
187
256
  // 内部节点
188
257
  childInside = true;
189
258
  // 拥有内部节点的父节点无法被吸附
@@ -192,7 +261,7 @@ class CanvasDraw extends utils_1.DisposableImpl {
192
261
  // 子节点先创建
193
262
  if (children && children.length > 0) {
194
263
  for (const child of children) {
195
- depth = this.updateGameObject(scene, child, depth, renderKeys, childInside || isInside, nodePath);
264
+ depth = this.updateGameObject(scene, child, depth, renderKeys, childInside || isInside, nodePath, (componentScene === null || componentScene === void 0 ? void 0 : componentScene.engine) || ((_a = node.scene) === null || _a === void 0 ? void 0 : _a.engine));
196
265
  }
197
266
  }
198
267
  const gameObjectCache = this.gameObjectCache;
@@ -206,63 +275,80 @@ class CanvasDraw extends utils_1.DisposableImpl {
206
275
  }
207
276
  let firstCreate = false;
208
277
  const nodeData = toNodeData(node, this.currentSymbols);
209
- const newVersion = currentDepth + (node.version || 0) + ':' + (((_a = this.data) === null || _a === void 0 ? void 0 : _a.configVersion) || 0) + ':' + this.symbolVersion;
278
+ const newVersion = currentDepth +
279
+ (node.version || 0) +
280
+ ':' +
281
+ (((_b = this.data) === null || _b === void 0 ? void 0 : _b.configVersion) || 0) +
282
+ ':' +
283
+ this.symbolVersion;
210
284
  // 内部节点无法选中
211
285
  if (!gameObject) {
212
- const gameObjectChildren = children ? children.map(c => gameObjectCache.get(editor2d_1.Editor2dNode.getNodePath(c))) : [];
286
+ const gameObjectChildren = children
287
+ ? children.map(c => gameObjectCache.get(editor2d_1.Editor2dNode.getNodePath(c)))
288
+ : [];
213
289
  try {
214
290
  const d = Object.assign(Object.assign({}, nodeData), { id: nodePath, depth: currentDepth, parentId });
215
291
  if (d.mask) {
216
292
  d.mask = `${parentId}/${d.mask}`;
217
293
  }
218
- gameObject = scene.createAuto(d, gameObjectChildren);
294
+ if (compId && componentScene) {
295
+ d.scene = componentScene;
296
+ node.scene = componentScene;
297
+ }
298
+ gameObject = scene.createAuto(d, gameObjectChildren, engineName);
219
299
  }
220
300
  catch (e) {
221
301
  console.error(e);
222
302
  return depth;
223
303
  }
224
304
  gameObjectCache.set(nodePath, gameObject);
305
+ const updateParent = (node, obj, type = GameObjectEventType.UPDATE) => {
306
+ // 如果父级是组件或分组更新中心点;
307
+ if (node && obj && !editor2d_1.Editor2dNode.isRootNode(node)) {
308
+ this.onGameObjectChangeEmitter.fire({
309
+ type,
310
+ gameObject: obj,
311
+ node: node,
312
+ });
313
+ if (node.parent && obj.parent) {
314
+ updateParent(node.parent, obj.parent, type);
315
+ }
316
+ }
317
+ };
225
318
  scene.onGameObjectDispose(gameObject, () => {
226
- const parentObject = parentId ? this.gameObjectCache.get(parentId) : undefined;
227
- const parentNode = parentId ? this.nodeCache.get(parentId) : undefined;
228
319
  const node = this.nodeCache.get(nodePath);
229
- this.gameObjectCache.delete(nodePath);
230
- this.nodeVersionCache.delete(nodePath);
231
- this.nodeCache.delete(nodePath);
232
- this.maskCache.delete(nodePath);
233
320
  this.onGameObjectChangeEmitter.fire({
234
321
  type: GameObjectEventType.DESTROY,
235
322
  gameObject: gameObject,
236
- parentObject,
237
- parentNode,
238
323
  node,
239
324
  });
325
+ updateParent(node, gameObject);
326
+ this.gameObjectCache.delete(nodePath);
327
+ this.nodeVersionCache.delete(nodePath);
328
+ this.nodeCache.delete(nodePath);
329
+ this.maskCache.delete(nodePath);
240
330
  });
241
331
  scene.onGameObjectUpdate(gameObject, () => {
242
- const parentObject = parentId ? this.gameObjectCache.get(parentId) : undefined;
243
- const parentNode = parentId ? this.nodeCache.get(parentId) : undefined;
244
- this.onGameObjectChangeEmitter.fire({
245
- type: GameObjectEventType.UPDATE,
246
- gameObject: gameObject,
247
- parentObject,
248
- parentNode,
249
- node: this.nodeCache.get(nodePath),
250
- });
332
+ const node = this.nodeCache.get(nodePath);
333
+ /* this.onGameObjectChangeEmitter.fire({
334
+ type: GameObjectEventType.UPDATE,
335
+ gameObject: gameObject!,
336
+ node: node!,
337
+ }); */
338
+ // 更新父级
339
+ updateParent(node, gameObject);
340
+ this.switchSnapline(node);
251
341
  });
252
342
  scene.onGameObjectCreate(gameObject, () => {
253
343
  this.nodeVersionCache.set(nodePath, newVersion);
254
- this.maskCache.set(nodePath, { mask: node.mask, isMask: node.isMask, ignoreMask: node.ignoreMask });
255
- const parentObject = parentId ? this.gameObjectCache.get(parentId) : undefined;
256
- const parentNode = parentId ? this.nodeCache.get(parentId) : undefined;
257
- this.onGameObjectChangeEmitter.fire({
258
- type: GameObjectEventType.CREATE_READY,
259
- gameObject: gameObject,
260
- node: this.nodeCache.get(nodePath),
261
- parentObject,
262
- parentNode
344
+ this.maskCache.set(nodePath, {
345
+ mask: node.mask,
346
+ isMask: node.isMask,
347
+ ignoreMask: node.ignoreMask,
263
348
  });
264
349
  // 根节点创建完成则代表加载完成
265
350
  this.fireLoading(editor2d_1.Editor2dNode.isRootNode(this.nodeCache.get(nodePath)));
351
+ updateParent(this.nodeCache.get(nodePath), gameObject);
266
352
  });
267
353
  scene.onGameObjectError(gameObject, error => {
268
354
  this.onGameObjectChangeEmitter.fire({
@@ -276,7 +362,7 @@ class CanvasDraw extends utils_1.DisposableImpl {
276
362
  type: GameObjectEventType.CREATE,
277
363
  gameObject: gameObject,
278
364
  node: this.nodeCache.get(nodePath),
279
- state: { selectable, adsorbable, isInside }
365
+ state: { selectable, adsorbable, isInside },
280
366
  });
281
367
  firstCreate = true;
282
368
  }
@@ -293,18 +379,32 @@ class CanvasDraw extends utils_1.DisposableImpl {
293
379
  const update = () => {
294
380
  const oldVersion = this.nodeVersionCache.get(nodePath);
295
381
  const oldMask = this.maskCache.get(nodePath);
296
- const maskChange = (oldMask === null || oldMask === void 0 ? void 0 : oldMask.mask) !== node.mask || (oldMask === null || oldMask === void 0 ? void 0 : oldMask.isMask) !== node.isMask || (oldMask === null || oldMask === void 0 ? void 0 : oldMask.ignoreMask) !== node.ignoreMask;
297
- if (nodeChanged || maskChange || oldVersion !== newVersion) {
382
+ const maskChange = (oldMask === null || oldMask === void 0 ? void 0 : oldMask.mask) !== node.mask ||
383
+ (oldMask === null || oldMask === void 0 ? void 0 : oldMask.isMask) !== node.isMask ||
384
+ (oldMask === null || oldMask === void 0 ? void 0 : oldMask.ignoreMask) !== node.ignoreMask;
385
+ const compSceneChange = JSON.stringify(componentScene) !== JSON.stringify(node.scene);
386
+ if (nodeChanged ||
387
+ maskChange ||
388
+ oldVersion !== newVersion ||
389
+ compSceneChange) {
298
390
  const d = Object.assign(Object.assign({}, nodeData), { parentId, id: nodePath, textureId: nodeData.textureId, depth: currentDepth });
299
391
  if (d.mask) {
300
392
  d.mask = `${parentId}/${d.mask}`;
301
393
  }
394
+ if (compId && componentScene) {
395
+ d.scene = componentScene;
396
+ node.scene = componentScene;
397
+ }
302
398
  gameObject.update(d);
303
399
  this.nodeVersionCache.set(nodePath, newVersion);
304
- this.maskCache.set(nodePath, { mask: node.mask, isMask: node.isMask, ignoreMask: node.ignoreMask });
400
+ this.maskCache.set(nodePath, {
401
+ mask: node.mask,
402
+ isMask: node.isMask,
403
+ ignoreMask: node.ignoreMask,
404
+ });
305
405
  }
306
406
  };
307
- if (!firstCreate && gameObject.created) {
407
+ if (!firstCreate && (gameObject === null || gameObject === void 0 ? void 0 : gameObject.created)) {
308
408
  try {
309
409
  update();
310
410
  }
@@ -385,17 +485,31 @@ class CanvasDraw extends utils_1.DisposableImpl {
385
485
  * 获取画布的宽高
386
486
  */
387
487
  getSceneSize() {
488
+ var _a, _b, _c, _d, _e, _f, _g, _h;
388
489
  if (!this.data)
389
490
  return undefined;
390
491
  const { content, appConfig } = this.data;
391
492
  if (!appConfig || !content)
392
493
  return undefined;
393
494
  if (content.displayType === 'component') {
495
+ if (this.data.engineName === 'dom') {
496
+ const w = ((_a = content.scene) === null || _a === void 0 ? void 0 : _a.scrollXBool)
497
+ ? ((_b = content.scene) === null || _b === void 0 ? void 0 : _b.contentWidth) || ((_c = content.scene) === null || _c === void 0 ? void 0 : _c.width)
498
+ : (_d = content.scene) === null || _d === void 0 ? void 0 : _d.width;
499
+ const h = ((_e = content.scene) === null || _e === void 0 ? void 0 : _e.scrollYBool)
500
+ ? ((_f = content.scene) === null || _f === void 0 ? void 0 : _f.contentHeight) || ((_g = content.scene) === null || _g === void 0 ? void 0 : _g.height)
501
+ : (_h = content.scene) === null || _h === void 0 ? void 0 : _h.height;
502
+ return {
503
+ width: w || 400,
504
+ height: h || 400,
505
+ };
506
+ }
394
507
  return { width: 0, height: 0 };
395
508
  }
396
509
  return render_engine_1.GameConfig.getSceneSize(appConfig, content);
397
510
  }
398
511
  draw() {
512
+ var _a, _b;
399
513
  if (!this.data)
400
514
  return;
401
515
  const { visible, appConfig, content, engineName } = this.data;
@@ -407,10 +521,21 @@ class CanvasDraw extends utils_1.DisposableImpl {
407
521
  const size = this.getSceneSize();
408
522
  if (!content || !appConfig || !this.libLoaded || !size)
409
523
  return;
410
- const visibleChanged = this.toggleVisible(appConfig, visible, engineName);
524
+ this.engineName =
525
+ (content.displayType === render_engine_1.GameObjectBaseType.COMPONENT &&
526
+ ((_a = content.scene) === null || _a === void 0 ? void 0 : _a.engine)) ||
527
+ engineName;
528
+ const visibleChanged = this.toggleVisible(appConfig, visible);
411
529
  if (!this.renderWidget || !this.booted)
412
530
  return;
413
- const scene = this.renderWidget.switchScene(SCENE_KEY, size);
531
+ let backgroundColor;
532
+ if (engineName === 'dom' && content.displayType === 'component') {
533
+ backgroundColor = (_b = content.scene) === null || _b === void 0 ? void 0 : _b.backgroundColor;
534
+ }
535
+ const scene = this.renderWidget.switchScene(SCENE_KEY, {
536
+ size,
537
+ backgroundColor,
538
+ });
414
539
  // 绘制时清除 currentSymbol;
415
540
  this.currentSymbols = [];
416
541
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-draw.js","sourceRoot":"","sources":["../../../src/browser/playground/canvas-draw.ts"],"names":[],"mappings":";;;AAAA,wDAA4I;AAC5I,gDAAiD;AAGjD,wCAA0F;AAE1F,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,0BAA0B;AAC9D,MAAM,SAAS,GAAG,MAAM,CAAC;AAuBzB,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,iEAAM,CAAA;IACN,6EAAY,CAAA;IACZ,mEAAO,CAAA;IACP,iEAAM,CAAA;IACN,+DAAK,CAAA;AACP,CAAC,EANW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAM9B;AAmBD,SAAS,UAAU,CAAC,IAAkB,EAAE,OAA4B;IAClE,MAAM,UAAU,GAAG,IAAA,YAAI,EAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IACxF,OAAO,8BAAc,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAAA,CAAC;AAEF;;GAEG;AACH,SAAS,iBAAiB,CAAC,SAAwB,EAAE,IAAmB;IACtE,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;IACxC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;QAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,8BAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;KACjE;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAa,UAAW,SAAQ,sBAAc;IA4B5C,YACY,IAAoB;QAE9B,KAAK,EAAE,CAAC;QAFE,SAAI,GAAJ,IAAI,CAAgB;QA5BtB,kBAAa,GAAG,IAAI,eAAO,EAA8B,CAAC;QAC1D,qBAAgB,GAAG,IAAI,eAAO,EAA0B,CAAC;QACzD,8BAAyB,GAAG,IAAI,eAAO,EAAyB,CAAC;QACjE,gCAA2B,GAAG,IAAI,eAAO,EAAiB,CAAC;QAE7D,WAAM,GAAY,KAAK,CAAC;QACxB,cAAS,GAAG,KAAK,CAAC;QAClB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;QAEnB,oBAAe,GAA4B,IAAI,GAAG,EAAE,CAAC;QACrD,cAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;QAChD,qBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAClD,cAAS,GAA0E,IAAI,GAAG,EAAE,CAAC;QAC7F,mBAAc,GAAa,EAAE,CAAC;QAIhC,aAAQ,GAAG,CAAC,CAAC,CAAC;QACd,mBAAc,GAAwB,EAAE,CAAC;QACzC,eAAU,GAAwB,EAAE,CAAC;QACrC,kBAAa,GAAG,CAAC,CAAC;QACjB,WAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAClC,cAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACxC,uBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;QAC1D,yBAAoB,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;QACvE,YAAO,GAAG,IAAI,CAAC;QAmSL,aAAQ,GAAG,GAAG,CAAC;QA9RvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACrB,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,yBAAyB;YAC9B,IAAI,CAAC,2BAA2B;SACjC,CAAC,CAAC;IACL,CAAC;IACS,KAAK,CAAC,aAAa;QAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD;;;;;;OAMG;IACO,aAAa,CAAC,SAAwB,EAAE,OAAgB,EAAE,UAAkB;;QACpF,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;SAChC;QACD,sBAAsB;QACtB,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;YAC7D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;SAC7B;QACD,MAAM,OAAO,GAAG,IAAI,WAAG,CAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC;QAC9D,UAAU;QACV,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACnC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,SAAS,GAAG,0BAA0B,CAAC;YAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,kCACjE,SAAS,KACZ,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EACnB,MAAM,EAAE,OAAO,EACf,eAAe,EACf,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAC9B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAChC,KAAK,EAAE,IAAI,IACX,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;gBACtD,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;oBACnC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;iBACtC;gBACD,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,uCAAuC;gBACvC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBACzB,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,YAAY,EAAE,CAAC;oBACf,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAa,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;SACJ;QACD,oBAAoB;QACpB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;SAC1D;QACD,qBAAqB;QACrB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE;YACjC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,IAAI,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YACrD,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,kBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC1C,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,EAAE;YAChC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAA,CAAC;IACF,+BAA+B,CAAC,KAAmB;QACjD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC9B,eAAe;gBACf,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;oBACzC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;iBAC/C;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,iBAAiB,CAAC,KAAmB,EAAE,OAAqB;QAC1D,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,4CAA4C;QAC5C,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QACrE,OAAO;QACP,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAChC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,OAAO,EAAE,CAAC;iBACf;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;IACnC,CAAC;IAED,gBAAgB,CAAC,KAAmB,EAAE,IAAkB,EAAE,KAAa,EAAE,UAAoB,EAAE,WAAoB,KAAK,EAAE,QAAiB;;QACzI,MAAM,QAAQ,GAAG,uBAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,QAA0B,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;QACzE,MAAM,IAAI,GAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAK,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtG,MAAM,MAAM,GAAG,CAAC,uBAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7G,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,SAAS;QAChC,MAAM,UAAU,GAAY,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,uBAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QACrH,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,MAAM,EAAE;YACV,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClG,OAAO;YACP,WAAW,GAAG,IAAI,CAAC;YACnB,kBAAkB;YAClB,UAAU,GAAG,KAAK,CAAC;SACpB;QACD,SAAS;QACT,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;gBAC5B,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,IAAI,QAAQ,EAAE,QAAQ,CAAC,CAAC;aACnG;SACF;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,MAAM,YAAY,GAAG,KAAK,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,KAAK,OAAO,CAAC;QACrC,IAAI,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO;QACP,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACpC;QACD,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,aAAa,KAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;QACzH,WAAW;QACX,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,uBAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChH,IAAI;gBACF,MAAM,CAAC,mCAAQ,QAAQ,KAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,GAAE,CAAC;gBACvE,IAAI,CAAC,CAAC,IAAI,EAAE;oBACV,CAAC,CAAC,IAAI,GAAG,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;iBAClC;gBACD,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;aACtD;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,OAAO,KAAK,CAAC;aACd;YACD,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC1C,KAAK,CAAC,mBAAmB,CAAC,UAAU,EAAE,GAAG,EAAE;gBACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/E,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;gBAC3C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;oBAClC,IAAI,EAAE,mBAAmB,CAAC,OAAO;oBACjC,UAAU,EAAE,UAAW;oBACvB,YAAY;oBACZ,UAAU;oBACV,IAAI;iBACL,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE;gBACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/E,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;oBAClC,IAAI,EAAE,mBAAmB,CAAC,MAAM;oBAChC,UAAU,EAAE,UAAW;oBACvB,YAAY;oBACZ,UAAU;oBACV,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE;iBACpC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE;gBACxC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACpG,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/E,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;oBAClC,IAAI,EAAE,mBAAmB,CAAC,YAAY;oBACtC,UAAU,EAAE,UAAW;oBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE;oBACnC,YAAY;oBACZ,UAAU;iBACX,CAAC,CAAC;gBACH,iBAAiB;gBACjB,IAAI,CAAC,WAAW,CAAC,uBAAY,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;gBAC1C,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;oBAClC,IAAI,EAAE,mBAAmB,CAAC,KAAK;oBAC/B,UAAU,EAAE,UAAW;oBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE;oBACnC,KAAK;iBACN,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;gBAClC,IAAI,EAAE,mBAAmB,CAAC,MAAM;gBAChC,UAAU,EAAE,UAAW;gBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE;gBACnC,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE;aAC5C,CAAC,CAAC;YACH,WAAW,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,EAAE;YACzC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,SAAU,IAAI,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;YAC5C,cAAc;YACd,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE,EAAE;gBACnD,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACnC,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;aACzF;SACF;QACD,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,IAAI,CAAC,IAAI,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,IAAI,CAAC,MAAM,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,MAAK,IAAI,CAAC,UAAU,CAAC;YAC7H,IAAI,WAAW,IAAI,UAAU,IAAI,UAAU,KAAK,UAAU,EAAE;gBAC1D,MAAM,CAAC,mCACF,QAAQ,KACX,QAAQ,EACR,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,QAAQ,CAAC,SAAS,EAC7B,KAAK,EAAE,YAAY,GACpB,CAAC;gBACF,IAAI,CAAC,CAAC,IAAI,EAAE;oBACV,CAAC,CAAC,IAAI,GAAG,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;iBAClC;gBACD,UAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;aACrG;QACH,CAAC,CAAC;QACF,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,OAAO,EAAE;YACtC,IAAI;gBACF,MAAM,EAAE,CAAC;aACV;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAClB;SACF;QACD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,iCAAiC;QACjC;;;;aAIK;QACL,KAAK,EAAE,CAAC;QACR,OAAO,KAAK,CAAC;IACf,CAAC;IAES,WAAW,CAAC,SAAkB;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAChD,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACzB,MAAM,EAAE,SAAS;YACjB,QAAQ;YACR,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,YAAqB,IAAI,EAAE,OAAe,IAAI,CAAC,QAAQ;;QAClE,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC;QACnC,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,YAAY,0CAAE,YAAY,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,KAAK,EAAE;YACT,oBAAoB;YACpB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;SACjD;IACH,CAAC;IACD,MAAM,CAAC,IAAoB;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,2BAA2B,CAAC,KAAmB,EAAE,QAA0B,EAAE;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC,IAA6B,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,WAAW,KAAK,kCAAkB,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;gBACvE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;oBAC1B,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAK,CAAC,SAAU,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjI,SAAS;oBACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oBACjE,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;iBAC7C;gBACD,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACxD;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,KAAmB,EAAE,OAAqB;QACzD,4EAA4E;QAC5E,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAK,CAAC,SAAU,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpI,SAAS;QACT,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtE,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,wCAAwC;SACzC;QACD,gBAAgB;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC3D;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QACjC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACzC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC7C,IAAI,OAAO,CAAC,WAAW,KAAK,WAAW,EAAE;YACvC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;SAChC;QACD,OAAO,0BAAU,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IACS,IAAI;QACZ,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI;YAAE,OAAO;QAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7D,uBAAuB;QACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB;;WAEG;QACH,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtC;;WAEG;QACH,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC;QACnC;;WAEG;QACH,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC;;WAEG;QACH,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AA7ZD,gCA6ZC"}
1
+ {"version":3,"file":"canvas-draw.js","sourceRoot":"","sources":["../../../src/browser/playground/canvas-draw.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,31 @@
1
+ /// <reference types="node" />
1
2
  /// <reference types="lodash" />
2
3
  import { Layer, PipelineDimension } from '@gedit/playground';
3
4
  import { DocumentEntity, Editor2dEntity } from './entities';
4
5
  import { PlaygroundContext2d } from './playground-context';
5
- import { Editor2dDocument } from '../model';
6
+ import { Editor2dDocument, Editor2dNode } from '../model';
6
7
  import { SelectionEntityManager } from './selection-entity-manager';
7
8
  import { CanvasDraw, CanvasDrawLoadingState, GameObjectChangeEvent } from './canvas-draw';
8
- import { GameWidgetIDE } from '@gedit/render-engine-ide';
9
+ import { GameObject, GameWidgetIDE } from '@gedit/render-engine-ide';
10
+ import { toFixedValue as toFixedValueFunc } from '@gedit/canvas-draw';
11
+ /**
12
+ * 四舍五入并保留小数点
13
+ * @param value
14
+ * @param fixed 需要保留的小数位,默认两位
15
+ */
16
+ export declare const toFixedValue: typeof toFixedValueFunc;
9
17
  export declare class CanvasLayer extends Layer<PlaygroundContext2d> {
10
18
  documentEntity: DocumentEntity;
11
19
  node: HTMLDivElement;
12
20
  protected scene?: HTMLElement;
13
21
  protected selectionEntityManager: SelectionEntityManager;
14
22
  protected canvasDrawer?: CanvasDraw;
23
+ protected updateList: GameObject[];
24
+ protected nodeCache: Map<string, Editor2dNode>;
25
+ protected updateTimeout: NodeJS.Timeout;
15
26
  onReady(): void;
16
27
  onContainerInitOrigin(entity?: Editor2dEntity, update?: boolean): void;
28
+ onUpdateEntity: import("lodash").DebouncedFunc<(update: boolean) => void>;
17
29
  onGameObjectChange(e: GameObjectChangeEvent): void;
18
30
  getAssetsURI(): string;
19
31
  get document(): Editor2dDocument | undefined;
@@ -30,7 +42,7 @@ export declare class CanvasLayer extends Layer<PlaygroundContext2d> {
30
42
  scrollY: number;
31
43
  }) => void>;
32
44
  private currentRectangle;
33
- tryToResizeToCenter(): void;
45
+ tryToResizeToCenter: import("lodash").DebouncedFunc<() => void>;
34
46
  draw(): void;
35
47
  }
36
48
  //# sourceMappingURL=canvas-layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":";AAAA,OAAO,EAAU,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,qBAAqB,EAAuB,MAAM,eAAe,CAAC;AAE/G,OAAO,EAAsB,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE7E,qBAAa,WAAY,SAAQ,KAAK,CAAC,mBAAmB,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IACvD,IAAI,iBAAqD;IACzD,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACzD,SAAS,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;IACpC,OAAO,IAAI,IAAI;IA2Bf,qBAAqB,CACnB,MAAM,CAAC,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,OAAO,GACf,IAAI;IAyCP,kBAAkB,CAAC,CAAC,EAAE,qBAAqB,GAAG,IAAI;IA2DlD,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;IASxB,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAM3D,MAAM,6CAGH;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,IAAI,IAAI;IAe3B,IAAI,IAAI,IAAI;CAqBb"}
1
+ {"version":3,"file":"canvas-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAU,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5D,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,EAAE,UAAU,EAAE,sBAAsB,EAAE,qBAAqB,EAAuB,MAAM,eAAe,CAAC;AAE/G,OAAO,EAAE,UAAU,EAAsB,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtE;;;;GAIG;AACH,eAAO,MAAM,YAAY,yBAAmB,CAAC;AAwD7C,qBAAa,WAAY,SAAQ,KAAK,CAAC,mBAAmB,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IACvD,IAAI,iBAAqD;IACzD,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACzD,SAAS,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;IACpC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,CAAM;IACxC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IAC3D,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC;IACxC,OAAO,IAAI,IAAI;IAoCf,qBAAqB,CACnB,MAAM,CAAC,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,OAAO,GACf,IAAI;IAuCP,cAAc,0CAAqB,OAAO,WAYvC;IAEH,kBAAkB,CAAC,CAAC,EAAE,qBAAqB,GAAG,IAAI;IA0BlD,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;IASxB,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAM3D,MAAM,6CAYH;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,6CAcX;IACR,IAAI,IAAI,IAAI;CAqBb"}