@visactor/vrender 0.12.3 → 0.13.0-alpha.6

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 (70) hide show
  1. package/cjs/canvas/contributions/modules.d.ts +1 -1
  2. package/cjs/canvas/contributions/modules.js +2 -2
  3. package/cjs/canvas/contributions/modules.js.map +1 -1
  4. package/cjs/canvas/contributions/wx/canvas.d.ts +48 -0
  5. package/cjs/canvas/contributions/wx/canvas.js +102 -0
  6. package/cjs/canvas/contributions/wx/canvas.js.map +1 -0
  7. package/cjs/canvas/contributions/wx/context.d.ts +6 -0
  8. package/cjs/canvas/contributions/wx/context.js +21 -0
  9. package/cjs/canvas/contributions/wx/context.js.map +1 -0
  10. package/cjs/canvas/contributions/wx/index.d.ts +2 -0
  11. package/cjs/canvas/contributions/wx/index.js +21 -0
  12. package/cjs/canvas/contributions/wx/index.js.map +1 -0
  13. package/cjs/canvas/contributions/wx/modules.d.ts +3 -0
  14. package/cjs/canvas/contributions/wx/modules.js +13 -0
  15. package/cjs/canvas/contributions/wx/modules.js.map +1 -0
  16. package/cjs/core/contributions/env/modules.js +2 -1
  17. package/cjs/core/contributions/env/modules.js.map +1 -1
  18. package/cjs/core/contributions/env/wx-contribution.d.ts +39 -0
  19. package/cjs/core/contributions/env/wx-contribution.js +131 -0
  20. package/cjs/core/contributions/env/wx-contribution.js.map +1 -0
  21. package/cjs/core/contributions/window/modules.js +2 -1
  22. package/cjs/core/contributions/window/modules.js.map +1 -1
  23. package/cjs/core/contributions/window/wx-contribution.d.ts +46 -0
  24. package/cjs/core/contributions/window/wx-contribution.js +159 -0
  25. package/cjs/core/contributions/window/wx-contribution.js.map +1 -0
  26. package/cjs/core/global.d.ts +3 -3
  27. package/cjs/core/global.js +13 -6
  28. package/cjs/core/global.js.map +1 -1
  29. package/cjs/index.d.ts +1 -1
  30. package/cjs/index.js +18 -18
  31. package/cjs/index.js.map +1 -1
  32. package/cjs/interface/global.d.ts +2 -1
  33. package/cjs/interface/global.js.map +1 -1
  34. package/dist/index.js +500 -27
  35. package/dist/index.min.js +1 -1
  36. package/es/canvas/contributions/modules.d.ts +1 -1
  37. package/es/canvas/contributions/modules.js +3 -1
  38. package/es/canvas/contributions/modules.js.map +1 -1
  39. package/es/canvas/contributions/wx/canvas.d.ts +48 -0
  40. package/es/canvas/contributions/wx/canvas.js +101 -0
  41. package/es/canvas/contributions/wx/canvas.js.map +1 -0
  42. package/es/canvas/contributions/wx/context.d.ts +6 -0
  43. package/es/canvas/contributions/wx/context.js +18 -0
  44. package/es/canvas/contributions/wx/context.js.map +1 -0
  45. package/es/canvas/contributions/wx/index.d.ts +2 -0
  46. package/es/canvas/contributions/wx/index.js +4 -0
  47. package/es/canvas/contributions/wx/index.js.map +1 -0
  48. package/es/canvas/contributions/wx/modules.d.ts +3 -0
  49. package/es/canvas/contributions/wx/modules.js +13 -0
  50. package/es/canvas/contributions/wx/modules.js.map +1 -0
  51. package/es/core/contributions/env/modules.js +3 -0
  52. package/es/core/contributions/env/modules.js.map +1 -1
  53. package/es/core/contributions/env/wx-contribution.d.ts +39 -0
  54. package/es/core/contributions/env/wx-contribution.js +130 -0
  55. package/es/core/contributions/env/wx-contribution.js.map +1 -0
  56. package/es/core/contributions/window/modules.js +3 -0
  57. package/es/core/contributions/window/modules.js.map +1 -1
  58. package/es/core/contributions/window/wx-contribution.d.ts +46 -0
  59. package/es/core/contributions/window/wx-contribution.js +161 -0
  60. package/es/core/contributions/window/wx-contribution.js.map +1 -0
  61. package/es/core/global.d.ts +3 -3
  62. package/es/core/global.js +13 -6
  63. package/es/core/global.js.map +1 -1
  64. package/es/index.d.ts +1 -1
  65. package/es/index.js +1 -1
  66. package/es/index.js.map +1 -1
  67. package/es/interface/global.d.ts +2 -1
  68. package/es/interface/global.js.map +1 -1
  69. package/es/tsconfig.tsbuildinfo +1 -1
  70. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -4373,16 +4373,23 @@
4373
4373
  this.measureTextMethod = 'native';
4374
4374
  }
4375
4375
  bindContribution(params) {
4376
+ const promiseArr = [];
4376
4377
  this.contributions.getContributions().forEach(contribution => {
4377
- contribution.configure(this, params);
4378
+ const data = contribution.configure(this, params);
4379
+ if (data && data.then) {
4380
+ promiseArr.push(data);
4381
+ }
4378
4382
  });
4383
+ if (promiseArr.length) {
4384
+ return Promise.all(promiseArr);
4385
+ }
4379
4386
  }
4380
4387
  setEnv(env, params) {
4381
4388
  if (!(params && params.force === true) && this._env === env) {
4382
4389
  return;
4383
4390
  }
4384
4391
  this.deactiveCurrentEnv();
4385
- this.activeEnv(env, params);
4392
+ return this.activeEnv(env, params);
4386
4393
  }
4387
4394
  deactiveCurrentEnv() {
4388
4395
  this.envContribution && this.envContribution.release();
@@ -4390,7 +4397,13 @@
4390
4397
  activeEnv(env, params) {
4391
4398
  const lastEnv = this._env;
4392
4399
  this._env = env;
4393
- this.bindContribution(params);
4400
+ const data = this.bindContribution(params);
4401
+ if (data && data.then) {
4402
+ return data.then(() => {
4403
+ this.envParams = params;
4404
+ this.hooks.onSetEnv.call(lastEnv, env, this);
4405
+ });
4406
+ }
4394
4407
  this.envParams = params;
4395
4408
  this.hooks.onSetEnv.call(lastEnv, env, this);
4396
4409
  }
@@ -26457,7 +26470,7 @@
26457
26470
  __metadata("design:paramtypes", [Object, Number])
26458
26471
  ], exports.BrowserContext2d);
26459
26472
 
26460
- const DefaultConfig$5 = {
26473
+ const DefaultConfig$6 = {
26461
26474
  WIDTH: 500,
26462
26475
  HEIGHT: 500,
26463
26476
  DPR: 1
@@ -26527,7 +26540,7 @@
26527
26540
  this.resize(this.width, this.height);
26528
26541
  }
26529
26542
  constructor(params) {
26530
- const { nativeCanvas, width = DefaultConfig$5.WIDTH, height = DefaultConfig$5.HEIGHT, dpr = DefaultConfig$5.DPR, container, x, y, canvasControled = true } = params;
26543
+ const { nativeCanvas, width = DefaultConfig$6.WIDTH, height = DefaultConfig$6.HEIGHT, dpr = DefaultConfig$6.DPR, container, x, y, canvasControled = true } = params;
26531
26544
  const offsetX = 0;
26532
26545
  const offsetY = 0;
26533
26546
  this._x = x ?? offsetX;
@@ -27445,7 +27458,7 @@
27445
27458
  container.rebind(PickerService).toService(exports.DefaultMathPickerService);
27446
27459
  }
27447
27460
 
27448
- function makeUpCanvas$2(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList) {
27461
+ function makeUpCanvas$3(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList) {
27449
27462
  const dpr = tt.getSystemInfoSync().pixelRatio;
27450
27463
  canvasIdLists.forEach((id, i) => {
27451
27464
  const ctx = tt.createCanvasContext(id);
@@ -27493,7 +27506,7 @@
27493
27506
  configure(service, params) {
27494
27507
  if (service.env === this.type) {
27495
27508
  service.setActiveEnvContribution(this);
27496
- makeUpCanvas$2(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList);
27509
+ makeUpCanvas$3(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList);
27497
27510
  loadFeishuContributions();
27498
27511
  }
27499
27512
  }
@@ -27563,7 +27576,7 @@
27563
27576
  __metadata("design:paramtypes", [])
27564
27577
  ], FeishuEnvContribution);
27565
27578
 
27566
- function makeUpCanvas$1(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList, taro, dpr) {
27579
+ function makeUpCanvas$2(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList, taro, dpr) {
27567
27580
  canvasIdLists.forEach((id, i) => {
27568
27581
  const ctx = taro.createCanvasContext(id);
27569
27582
  ctx.canvas = {
@@ -27635,7 +27648,7 @@
27635
27648
  configure(service, params) {
27636
27649
  if (service.env === this.type) {
27637
27650
  service.setActiveEnvContribution(this);
27638
- makeUpCanvas$1(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList, params.taro, params.pixelRatio);
27651
+ makeUpCanvas$2(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList, params.taro, params.pixelRatio);
27639
27652
  this.taro = params.taro;
27640
27653
  this.pixelRatio = params.pixelRatio;
27641
27654
  loadTaroContributions();
@@ -27716,7 +27729,7 @@
27716
27729
  __metadata("design:paramtypes", [])
27717
27730
  ], TaroEnvContribution);
27718
27731
 
27719
- function makeUpCanvas(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList) {
27732
+ function makeUpCanvas$1(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList) {
27720
27733
  SystemInfo.pixelRatio;
27721
27734
  canvasIdLists.forEach((id, i) => {
27722
27735
  const _canvas = lynx.createCanvas(id);
@@ -27764,7 +27777,7 @@
27764
27777
  configure(service, params) {
27765
27778
  if (service.env === this.type) {
27766
27779
  service.setActiveEnvContribution(this);
27767
- makeUpCanvas(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList);
27780
+ makeUpCanvas$1(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList);
27768
27781
  loadFeishuContributions();
27769
27782
  }
27770
27783
  }
@@ -27947,6 +27960,122 @@
27947
27960
  injectable()
27948
27961
  ], NodeEnvContribution);
27949
27962
 
27963
+ async function makeUpCanvas(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList) {
27964
+ const dpr = wx.getSystemInfoSync().pixelRatio;
27965
+ for (let i = 0; i < canvasIdLists.length; i++) {
27966
+ const id = canvasIdLists[i];
27967
+ await new Promise(resolve => {
27968
+ wx.createSelectorQuery()
27969
+ .select(`#${id}`)
27970
+ .fields({ node: true, size: true })
27971
+ .exec((res) => {
27972
+ const canvas = res[0].node;
27973
+ const width = res[0].width;
27974
+ const height = res[0].height;
27975
+ canvas.width = width * dpr;
27976
+ canvas.height = height * dpr;
27977
+ canvasMap.set(id, canvas);
27978
+ if (i >= freeCanvasIdx) {
27979
+ freeCanvasList.push(canvas);
27980
+ }
27981
+ resolve(null);
27982
+ });
27983
+ });
27984
+ }
27985
+ }
27986
+ let WxEnvContribution = class WxEnvContribution extends exports.BaseEnvContribution {
27987
+ type = 'wx';
27988
+ supportEvent = true;
27989
+ canvasMap = new Map();
27990
+ freeCanvasList = [];
27991
+ canvasIdx = 0;
27992
+ constructor() {
27993
+ super();
27994
+ this.supportsTouchEvents = true;
27995
+ try {
27996
+ this.supportsPointerEvents = !!globalThis.PointerEvent;
27997
+ this.supportsMouseEvents = !!globalThis.MouseEvent;
27998
+ }
27999
+ catch (err) {
28000
+ this.supportsPointerEvents = false;
28001
+ this.supportsMouseEvents = false;
28002
+ }
28003
+ this.applyStyles = true;
28004
+ }
28005
+ configure(service, params) {
28006
+ if (service.env === this.type) {
28007
+ service.setActiveEnvContribution(this);
28008
+ return makeUpCanvas(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList).then(() => {
28009
+ loadFeishuContributions();
28010
+ });
28011
+ }
28012
+ }
28013
+ loadImage(url) {
28014
+ return Promise.resolve({
28015
+ data: url,
28016
+ loadState: 'success'
28017
+ });
28018
+ }
28019
+ loadSvg(url) {
28020
+ return Promise.reject();
28021
+ }
28022
+ createCanvas(params) {
28023
+ const result = this.freeCanvasList[this.canvasIdx] || this.freeCanvasList[this.freeCanvasList.length - 1];
28024
+ this.canvasIdx++;
28025
+ return result;
28026
+ }
28027
+ createOffscreenCanvas(params) {
28028
+ return;
28029
+ }
28030
+ releaseCanvas(canvas) {
28031
+ return;
28032
+ }
28033
+ getDevicePixelRatio() {
28034
+ return wx.getSystemInfoSync().pixelRatio;
28035
+ }
28036
+ getRequestAnimationFrame() {
28037
+ return function (callback) {
28038
+ return setTimeout(callback, 1000 / 60, true);
28039
+ };
28040
+ }
28041
+ getCancelAnimationFrame() {
28042
+ return (h) => {
28043
+ clearTimeout(h);
28044
+ };
28045
+ }
28046
+ addEventListener(type, listener, options) {
28047
+ return null;
28048
+ }
28049
+ removeEventListener(type, listener, options) {
28050
+ return null;
28051
+ }
28052
+ dispatchEvent(event) {
28053
+ return null;
28054
+ }
28055
+ getElementById(str) {
28056
+ return this.canvasMap.get(str);
28057
+ }
28058
+ getRootElement() {
28059
+ return null;
28060
+ }
28061
+ getDocument() {
28062
+ return null;
28063
+ }
28064
+ release(...params) {
28065
+ return;
28066
+ }
28067
+ mapToCanvasPoint(event) {
28068
+ if (event?.type?.startsWith('mouse')) {
28069
+ return event;
28070
+ }
28071
+ return null;
28072
+ }
28073
+ };
28074
+ WxEnvContribution = __decorate([
28075
+ injectable(),
28076
+ __metadata("design:paramtypes", [])
28077
+ ], WxEnvContribution);
28078
+
27950
28079
  var envModules = new ContainerModule(bind => {
27951
28080
  bind(BrowserEnvContribution).toSelf().inSingletonScope();
27952
28081
  bind(EnvContribution).toService(BrowserEnvContribution);
@@ -27956,6 +28085,8 @@
27956
28085
  bind(EnvContribution).toService(TaroEnvContribution);
27957
28086
  bind(LynxEnvContribution).toSelf().inSingletonScope();
27958
28087
  bind(EnvContribution).toService(LynxEnvContribution);
28088
+ bind(WxEnvContribution).toSelf().inSingletonScope();
28089
+ bind(EnvContribution).toService(WxEnvContribution);
27959
28090
  bind(NodeEnvContribution).toSelf().inSingletonScope();
27960
28091
  bind(EnvContribution).toService(NodeEnvContribution);
27961
28092
  bindContributionProvider(bind, EnvContribution);
@@ -28202,7 +28333,7 @@
28202
28333
  injectable()
28203
28334
  ], FeishuContext2d);
28204
28335
 
28205
- const DefaultConfig$4 = {
28336
+ const DefaultConfig$5 = {
28206
28337
  WIDTH: 500,
28207
28338
  HEIGHT: 500,
28208
28339
  DPR: 1
@@ -28270,7 +28401,7 @@
28270
28401
  this._dpr = dpr;
28271
28402
  }
28272
28403
  constructor(params) {
28273
- const { nativeCanvas, width = DefaultConfig$4.WIDTH, height = DefaultConfig$4.HEIGHT, dpr = DefaultConfig$4.DPR } = params;
28404
+ const { nativeCanvas, width = DefaultConfig$5.WIDTH, height = DefaultConfig$5.HEIGHT, dpr = DefaultConfig$5.DPR } = params;
28274
28405
  const { x, y } = nativeCanvas.getBoundingClientRect ? nativeCanvas.getBoundingClientRect() : { x: 0, y: 0 };
28275
28406
  this._x = x;
28276
28407
  this._y = y;
@@ -28323,7 +28454,7 @@
28323
28454
  __metadata("design:paramtypes", [Object])
28324
28455
  ], FeishuCanvas);
28325
28456
 
28326
- let MiniAppEventManager$2 = class MiniAppEventManager {
28457
+ let MiniAppEventManager$3 = class MiniAppEventManager {
28327
28458
  addEventListener(type, func) {
28328
28459
  if (!type || !func) {
28329
28460
  return;
@@ -28354,7 +28485,7 @@
28354
28485
  global;
28355
28486
  static env = 'feishu';
28356
28487
  type = 'feishu';
28357
- eventManager = new MiniAppEventManager$2();
28488
+ eventManager = new MiniAppEventManager$3();
28358
28489
  canvas;
28359
28490
  get container() {
28360
28491
  return null;
@@ -28595,7 +28726,7 @@
28595
28726
  injectable()
28596
28727
  ], TaroContext2d);
28597
28728
 
28598
- const DefaultConfig$3 = {
28729
+ const DefaultConfig$4 = {
28599
28730
  WIDTH: 500,
28600
28731
  HEIGHT: 500,
28601
28732
  DPR: 1
@@ -28662,7 +28793,7 @@
28662
28793
  this._dpr = dpr;
28663
28794
  }
28664
28795
  constructor(params) {
28665
- const { nativeCanvas, width = DefaultConfig$3.WIDTH, height = DefaultConfig$3.HEIGHT, dpr = DefaultConfig$3.DPR } = params;
28796
+ const { nativeCanvas, width = DefaultConfig$4.WIDTH, height = DefaultConfig$4.HEIGHT, dpr = DefaultConfig$4.DPR } = params;
28666
28797
  const { x, y } = nativeCanvas.getBoundingClientRect ? nativeCanvas.getBoundingClientRect() : { x: 0, y: 0 };
28667
28798
  this._x = x;
28668
28799
  this._y = y;
@@ -28715,7 +28846,7 @@
28715
28846
  __metadata("design:paramtypes", [Object])
28716
28847
  ], TaroCanvas);
28717
28848
 
28718
- let MiniAppEventManager$1 = class MiniAppEventManager {
28849
+ let MiniAppEventManager$2 = class MiniAppEventManager {
28719
28850
  addEventListener(type, func) {
28720
28851
  if (!type || !func) {
28721
28852
  return;
@@ -28746,7 +28877,7 @@
28746
28877
  global;
28747
28878
  static env = 'taro';
28748
28879
  type = 'taro';
28749
- eventManager = new MiniAppEventManager$1();
28880
+ eventManager = new MiniAppEventManager$2();
28750
28881
  canvas;
28751
28882
  get container() {
28752
28883
  return null;
@@ -28973,7 +29104,7 @@
28973
29104
  injectable()
28974
29105
  ], LynxContext2d);
28975
29106
 
28976
- const DefaultConfig$2 = {
29107
+ const DefaultConfig$3 = {
28977
29108
  WIDTH: 500,
28978
29109
  HEIGHT: 500,
28979
29110
  DPR: 1
@@ -29041,7 +29172,7 @@
29041
29172
  this._dpr = dpr;
29042
29173
  }
29043
29174
  constructor(params) {
29044
- const { nativeCanvas, width = DefaultConfig$2.WIDTH, height = DefaultConfig$2.HEIGHT, dpr = DefaultConfig$2.DPR } = params;
29175
+ const { nativeCanvas, width = DefaultConfig$3.WIDTH, height = DefaultConfig$3.HEIGHT, dpr = DefaultConfig$3.DPR } = params;
29045
29176
  const { x, y } = nativeCanvas.getBoundingClientRect ? nativeCanvas.getBoundingClientRect() : { x: 0, y: 0 };
29046
29177
  this._x = x;
29047
29178
  this._y = y;
@@ -29094,7 +29225,7 @@
29094
29225
  __metadata("design:paramtypes", [Object])
29095
29226
  ], LynxCanvas);
29096
29227
 
29097
- class MiniAppEventManager {
29228
+ let MiniAppEventManager$1 = class MiniAppEventManager {
29098
29229
  addEventListener(type, func) {
29099
29230
  if (!type || !func) {
29100
29231
  return;
@@ -29120,12 +29251,12 @@
29120
29251
  this.cache = {};
29121
29252
  }
29122
29253
  cache = {};
29123
- }
29254
+ };
29124
29255
  let LynxWindowHandlerContribution = class LynxWindowHandlerContribution extends exports.BaseWindowHandlerContribution {
29125
29256
  global;
29126
29257
  static env = 'lynx';
29127
29258
  type = 'lynx';
29128
- eventManager = new MiniAppEventManager();
29259
+ eventManager = new MiniAppEventManager$1();
29129
29260
  canvas;
29130
29261
  get container() {
29131
29262
  return null;
@@ -29311,7 +29442,7 @@
29311
29442
  __metadata("design:paramtypes", [Object, Number])
29312
29443
  ], NodeContext2d);
29313
29444
 
29314
- const DefaultConfig$1 = {
29445
+ const DefaultConfig$2 = {
29315
29446
  WIDTH: 500,
29316
29447
  HEIGHT: 500,
29317
29448
  DPR: 1
@@ -29379,7 +29510,7 @@
29379
29510
  return;
29380
29511
  }
29381
29512
  constructor(params) {
29382
- const { nativeCanvas, width = DefaultConfig$1.WIDTH, height = DefaultConfig$1.HEIGHT, canvasControled = true, dpr = DefaultConfig$1.DPR } = params;
29513
+ const { nativeCanvas, width = DefaultConfig$2.WIDTH, height = DefaultConfig$2.HEIGHT, canvasControled = true, dpr = DefaultConfig$2.DPR } = params;
29383
29514
  this._visiable = params.visiable !== false;
29384
29515
  this.controled = canvasControled;
29385
29516
  this._pixelWidth = width * dpr;
@@ -29550,6 +29681,330 @@
29550
29681
  __metadata("design:paramtypes", [Object])
29551
29682
  ], NodeWindowHandlerContribution);
29552
29683
 
29684
+ let WxContext2d = class WxContext2d extends exports.BrowserContext2d {
29685
+ static env = 'wx';
29686
+ draw() {
29687
+ return;
29688
+ }
29689
+ };
29690
+ WxContext2d = __decorate([
29691
+ injectable()
29692
+ ], WxContext2d);
29693
+
29694
+ const DefaultConfig$1 = {
29695
+ WIDTH: 500,
29696
+ HEIGHT: 500,
29697
+ DPR: 1
29698
+ };
29699
+ let WxCanvas = class WxCanvas {
29700
+ static env = 'wx';
29701
+ _displayWidth;
29702
+ _displayHeight;
29703
+ _id;
29704
+ _pixelWidth;
29705
+ _pixelHeight;
29706
+ _x;
29707
+ _y;
29708
+ _dpr;
29709
+ _container;
29710
+ _nativeCanvas;
29711
+ _context;
29712
+ _visiable;
29713
+ get id() {
29714
+ return this._id;
29715
+ }
29716
+ get x() {
29717
+ return this._x;
29718
+ }
29719
+ get y() {
29720
+ return this._y;
29721
+ }
29722
+ get nativeCanvas() {
29723
+ return this._nativeCanvas;
29724
+ }
29725
+ get width() {
29726
+ return this._pixelWidth;
29727
+ }
29728
+ set width(width) {
29729
+ this._pixelWidth = width;
29730
+ this._displayWidth = width / (this._dpr || 1);
29731
+ }
29732
+ get height() {
29733
+ return this._pixelHeight;
29734
+ }
29735
+ set height(height) {
29736
+ this._pixelHeight = height;
29737
+ this._displayHeight = height / (this._dpr || 1);
29738
+ }
29739
+ get displayWidth() {
29740
+ return this._displayWidth;
29741
+ }
29742
+ get displayHeight() {
29743
+ return this._displayHeight;
29744
+ }
29745
+ getContext(str) {
29746
+ return this._context;
29747
+ }
29748
+ get visiable() {
29749
+ return this._visiable;
29750
+ }
29751
+ set visiable(visiable) {
29752
+ this._visiable = visiable;
29753
+ visiable ? this.show() : this.hide();
29754
+ }
29755
+ get dpr() {
29756
+ return this._dpr;
29757
+ }
29758
+ set dpr(dpr) {
29759
+ this._dpr = dpr;
29760
+ }
29761
+ constructor(params) {
29762
+ const { nativeCanvas, width = DefaultConfig$1.WIDTH, height = DefaultConfig$1.HEIGHT, dpr = DefaultConfig$1.DPR } = params;
29763
+ const { x, y } = nativeCanvas.getBoundingClientRect ? nativeCanvas.getBoundingClientRect() : { x: 0, y: 0 };
29764
+ this._x = x;
29765
+ this._y = y;
29766
+ this._pixelWidth = width * dpr;
29767
+ this._pixelHeight = height * dpr;
29768
+ this._visiable = params.visiable !== false;
29769
+ this._displayWidth = width;
29770
+ this._displayHeight = height;
29771
+ this._dpr = dpr;
29772
+ this._nativeCanvas = nativeCanvas;
29773
+ this._context = new WxContext2d(this, this._dpr);
29774
+ this._id = nativeCanvas.id;
29775
+ }
29776
+ getNativeCanvas() {
29777
+ return this._nativeCanvas;
29778
+ }
29779
+ resetStyle(params) {
29780
+ return;
29781
+ }
29782
+ applyPosition() {
29783
+ return;
29784
+ }
29785
+ hide() {
29786
+ return;
29787
+ }
29788
+ show() {
29789
+ return;
29790
+ }
29791
+ resize(width, height) {
29792
+ return;
29793
+ }
29794
+ toDataURL(mimeType, quality) {
29795
+ return '';
29796
+ }
29797
+ readPixels(x, y, w, h) {
29798
+ throw new Error('暂未实现');
29799
+ }
29800
+ convertToBlob(options) {
29801
+ throw new Error('暂未实现');
29802
+ }
29803
+ transferToImageBitmap() {
29804
+ throw new Error('暂未实现');
29805
+ }
29806
+ release(...params) {
29807
+ return;
29808
+ }
29809
+ };
29810
+ WxCanvas = __decorate([
29811
+ injectable(),
29812
+ __metadata("design:paramtypes", [Object])
29813
+ ], WxCanvas);
29814
+
29815
+ class MiniAppEventManager {
29816
+ addEventListener(type, func) {
29817
+ if (!type || !func) {
29818
+ return;
29819
+ }
29820
+ this.cache[type] = this.cache[type] || {
29821
+ listener: []
29822
+ };
29823
+ this.cache[type].listener.push(func);
29824
+ }
29825
+ removeEventListener(type, func) {
29826
+ if (!type || !func) {
29827
+ return;
29828
+ }
29829
+ if (!this.cache[type]) {
29830
+ return;
29831
+ }
29832
+ const index = this.cache[type].listener.findIndex((f) => f === func);
29833
+ if (index >= 0) {
29834
+ this.cache[type].listener.splice(index, 1);
29835
+ }
29836
+ }
29837
+ cleanEvent() {
29838
+ this.cache = {};
29839
+ }
29840
+ cache = {};
29841
+ }
29842
+ let WxWindowHandlerContribution = class WxWindowHandlerContribution extends exports.BaseWindowHandlerContribution {
29843
+ global;
29844
+ static env = 'wx';
29845
+ type = 'wx';
29846
+ eventManager = new MiniAppEventManager();
29847
+ canvas;
29848
+ get container() {
29849
+ return null;
29850
+ }
29851
+ constructor(global) {
29852
+ super();
29853
+ this.global = global;
29854
+ }
29855
+ getTitle() {
29856
+ return this.canvas.id.toString();
29857
+ }
29858
+ getWH() {
29859
+ return {
29860
+ width: this.canvas.width / (this.canvas.dpr || 1),
29861
+ height: this.canvas.height / (this.canvas.dpr || 1)
29862
+ };
29863
+ }
29864
+ getXY() {
29865
+ return { x: 0, y: 0 };
29866
+ }
29867
+ createWindow(params) {
29868
+ if (!params.canvas) {
29869
+ this.createWindowByConfig(params);
29870
+ }
29871
+ else {
29872
+ this.createWindowByCanvas(params);
29873
+ }
29874
+ }
29875
+ createWindowByConfig(params) {
29876
+ const nativeCanvas = this.global.createCanvas({
29877
+ width: params.width,
29878
+ height: params.height
29879
+ });
29880
+ const options = {
29881
+ width: params.width,
29882
+ height: params.height,
29883
+ dpr: params.dpr,
29884
+ nativeCanvas,
29885
+ id: Generator.GenAutoIncrementId().toString(),
29886
+ canvasControled: false
29887
+ };
29888
+ this.canvas = new WxCanvas(options);
29889
+ }
29890
+ createWindowByCanvas(params) {
29891
+ let canvas;
29892
+ if (typeof params.canvas === 'string') {
29893
+ canvas = this.global.getElementById(params.canvas);
29894
+ if (!canvas) {
29895
+ throw new Error('canvasId 参数不正确,请确认canvas存在并插入dom');
29896
+ }
29897
+ }
29898
+ else {
29899
+ canvas = params.canvas;
29900
+ }
29901
+ let width = params.width;
29902
+ let height = params.height;
29903
+ if (width == null || height == null || !params.canvasControled) {
29904
+ const data = canvas.getBoundingClientRect();
29905
+ width = data.width;
29906
+ height = data.height;
29907
+ }
29908
+ let dpr = params.dpr;
29909
+ if (dpr == null) {
29910
+ dpr = canvas.width / width;
29911
+ }
29912
+ this.canvas = new WxCanvas({
29913
+ width: width,
29914
+ height: height,
29915
+ dpr: dpr,
29916
+ nativeCanvas: canvas,
29917
+ canvasControled: params.canvasControled
29918
+ });
29919
+ }
29920
+ releaseWindow() {
29921
+ return;
29922
+ }
29923
+ resizeWindow(width, height) {
29924
+ return;
29925
+ }
29926
+ setDpr(dpr) {
29927
+ this.canvas.dpr = dpr;
29928
+ }
29929
+ getContext() {
29930
+ return this.canvas.getContext();
29931
+ }
29932
+ getNativeHandler() {
29933
+ return this.canvas;
29934
+ }
29935
+ getDpr() {
29936
+ return this.canvas.dpr;
29937
+ }
29938
+ addEventListener(type, listener) {
29939
+ this.eventManager.addEventListener(type, listener);
29940
+ }
29941
+ removeEventListener(type, listener) {
29942
+ this.eventManager.removeEventListener(type, listener);
29943
+ }
29944
+ dispatchEvent(event) {
29945
+ const { type } = event;
29946
+ if (!this.eventManager.cache[type]) {
29947
+ return false;
29948
+ }
29949
+ if (event.changedTouches && event.changedTouches[0]) {
29950
+ event.offsetX = event.changedTouches[0].x;
29951
+ event.changedTouches[0].offsetX = event.changedTouches[0].x ?? event.changedTouches[0].pageX;
29952
+ event.changedTouches[0].clientX = event.changedTouches[0].x ?? event.changedTouches[0].pageX;
29953
+ event.offsetY = event.changedTouches[0].y;
29954
+ event.changedTouches[0].offsetY = event.changedTouches[0].y ?? event.changedTouches[0].pageY;
29955
+ event.changedTouches[0].clientY = event.changedTouches[0].y ?? event.changedTouches[0].pageY;
29956
+ }
29957
+ event.preventDefault = () => {
29958
+ return;
29959
+ };
29960
+ event.stopPropagation = () => {
29961
+ return;
29962
+ };
29963
+ if (this.eventManager.cache[type].listener) {
29964
+ this.eventManager.cache[type].listener.forEach((f) => {
29965
+ f(event);
29966
+ });
29967
+ }
29968
+ return true;
29969
+ }
29970
+ getStyle() {
29971
+ return {};
29972
+ }
29973
+ setStyle(style) {
29974
+ return;
29975
+ }
29976
+ getBoundingClientRect() {
29977
+ const wh = this.getWH();
29978
+ return {
29979
+ x: 0,
29980
+ y: 0,
29981
+ width: wh.width,
29982
+ height: wh.height,
29983
+ left: 0,
29984
+ top: 0,
29985
+ right: 0,
29986
+ bottom: 0
29987
+ };
29988
+ }
29989
+ clearViewBox(vb, color) {
29990
+ const context = this.getContext();
29991
+ const dpr = this.getDpr();
29992
+ context.nativeContext.save();
29993
+ context.nativeContext.setTransform(dpr, 0, 0, dpr, 0, 0);
29994
+ context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);
29995
+ if (color) {
29996
+ context.fillStyle = color;
29997
+ context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);
29998
+ }
29999
+ context.nativeContext.restore();
30000
+ }
30001
+ };
30002
+ WxWindowHandlerContribution = __decorate([
30003
+ injectable(),
30004
+ __param(0, inject(Global)),
30005
+ __metadata("design:paramtypes", [Object])
30006
+ ], WxWindowHandlerContribution);
30007
+
29553
30008
  var windowModules = new ContainerModule(bind => {
29554
30009
  bind(BrowserWindowHandlerContribution).toSelf();
29555
30010
  bind(WindowHandlerContribution)
@@ -29567,6 +30022,10 @@
29567
30022
  bind(WindowHandlerContribution)
29568
30023
  .toDynamicValue(ctx => ctx.container.get(LynxWindowHandlerContribution))
29569
30024
  .whenTargetNamed(LynxWindowHandlerContribution.env);
30025
+ bind(WxWindowHandlerContribution).toSelf();
30026
+ bind(WindowHandlerContribution)
30027
+ .toDynamicValue(ctx => ctx.container.get(WxWindowHandlerContribution))
30028
+ .whenTargetNamed(WxWindowHandlerContribution.env);
29570
30029
  bind(NodeWindowHandlerContribution).toSelf();
29571
30030
  bind(WindowHandlerContribution)
29572
30031
  .toDynamicValue(ctx => ctx.container.get(NodeWindowHandlerContribution))
@@ -32877,6 +33336,19 @@
32877
33336
  .whenTargetNamed(LynxContext2d.env);
32878
33337
  });
32879
33338
 
33339
+ var wxModule = new ContainerModule(bind => {
33340
+ bind(CanvasFactory)
33341
+ .toDynamicValue(() => {
33342
+ return (params) => new WxCanvas(params);
33343
+ })
33344
+ .whenTargetNamed(WxCanvas.env);
33345
+ bind(Context2dFactory)
33346
+ .toDynamicValue(() => {
33347
+ return (params, dpr) => new WxContext2d(params, dpr);
33348
+ })
33349
+ .whenTargetNamed(WxContext2d.env);
33350
+ });
33351
+
32880
33352
  var nodeModule = new ContainerModule(bind => {
32881
33353
  bind(CanvasFactory)
32882
33354
  .toDynamicValue(() => {
@@ -32895,6 +33367,7 @@
32895
33367
  container.load(feishuModule);
32896
33368
  container.load(taroModule);
32897
33369
  container.load(lynxModule);
33370
+ container.load(wxModule);
32898
33371
  container.load(nodeModule);
32899
33372
  }
32900
33373
 
@@ -33770,7 +34243,7 @@
33770
34243
  'rect'
33771
34244
  ];
33772
34245
 
33773
- const version = "0.12.3";
34246
+ const version = "0.13.0-alpha.6";
33774
34247
 
33775
34248
  exports.ACustomAnimate = ACustomAnimate;
33776
34249
  exports.ARC3D_NUMBER_TYPE = ARC3D_NUMBER_TYPE;