@leafer-ui/worker 1.4.0 → 1.4.2

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.
@@ -1374,7 +1374,7 @@ function getNameList(name) {
1374
1374
  }
1375
1375
  const D$4 = Debug;
1376
1376
 
1377
- const debug$e = Debug.get('RunTime');
1377
+ const debug$f = Debug.get('RunTime');
1378
1378
  const Run = {
1379
1379
  currentId: 0,
1380
1380
  currentName: '',
@@ -1383,24 +1383,24 @@ const Run = {
1383
1383
  nameToIdMap: {},
1384
1384
  start(name, microsecond) {
1385
1385
  const id = IncrementId.create(IncrementId.RUNTIME);
1386
- R.currentId = R.idMap[id] = microsecond ? performance.now() : Date.now();
1387
- R.currentName = R.nameMap[id] = name;
1388
- R.nameToIdMap[name] = id;
1386
+ R$1.currentId = R$1.idMap[id] = microsecond ? performance.now() : Date.now();
1387
+ R$1.currentName = R$1.nameMap[id] = name;
1388
+ R$1.nameToIdMap[name] = id;
1389
1389
  return id;
1390
1390
  },
1391
1391
  end(id, microsecond) {
1392
- const time = R.idMap[id], name = R.nameMap[id];
1392
+ const time = R$1.idMap[id], name = R$1.nameMap[id];
1393
1393
  const duration = microsecond ? (performance.now() - time) / 1000 : Date.now() - time;
1394
- R.idMap[id] = R.nameMap[id] = R.nameToIdMap[name] = undefined;
1395
- debug$e.log(name, duration, 'ms');
1394
+ R$1.idMap[id] = R$1.nameMap[id] = R$1.nameToIdMap[name] = undefined;
1395
+ debug$f.log(name, duration, 'ms');
1396
1396
  },
1397
1397
  endOfName(name, microsecond) {
1398
- const id = R.nameToIdMap[name];
1398
+ const id = R$1.nameToIdMap[name];
1399
1399
  if (id !== undefined)
1400
- R.end(id, microsecond);
1400
+ R$1.end(id, microsecond);
1401
1401
  }
1402
1402
  };
1403
- const R = Run;
1403
+ const R$1 = Run;
1404
1404
 
1405
1405
  const check = [];
1406
1406
  const Plugin = {
@@ -1421,18 +1421,18 @@ const Plugin = {
1421
1421
  };
1422
1422
  setTimeout(() => check.forEach(name => Plugin.has(name, true)));
1423
1423
 
1424
- const debug$d = Debug.get('UICreator');
1424
+ const debug$e = Debug.get('UICreator');
1425
1425
  const UICreator = {
1426
1426
  list: {},
1427
1427
  register(UI) {
1428
1428
  const { __tag: tag } = UI.prototype;
1429
1429
  if (list$1[tag])
1430
- debug$d.repeat(tag);
1430
+ debug$e.repeat(tag);
1431
1431
  list$1[tag] = UI;
1432
1432
  },
1433
1433
  get(tag, data, x, y, width, height) {
1434
1434
  if (!list$1[tag])
1435
- debug$d.error('not register ' + tag);
1435
+ debug$e.error('not register ' + tag);
1436
1436
  const ui = new list$1[tag](data);
1437
1437
  if (x !== undefined) {
1438
1438
  ui.x = x;
@@ -1448,7 +1448,7 @@ const UICreator = {
1448
1448
  };
1449
1449
  const { list: list$1 } = UICreator;
1450
1450
 
1451
- const debug$c = Debug.get('EventCreator');
1451
+ const debug$d = Debug.get('EventCreator');
1452
1452
  const EventCreator = {
1453
1453
  nameList: {},
1454
1454
  register(Event) {
@@ -1456,7 +1456,7 @@ const EventCreator = {
1456
1456
  Object.keys(Event).forEach(key => {
1457
1457
  name = Event[key];
1458
1458
  if (typeof name === 'string')
1459
- nameList[name] && debug$c.repeat(name), nameList[name] = Event;
1459
+ nameList[name] && debug$d.repeat(name), nameList[name] = Event;
1460
1460
  });
1461
1461
  },
1462
1462
  changeName(oldName, newName) {
@@ -1533,10 +1533,10 @@ const DataHelper = {
1533
1533
  Object.keys(merge).forEach(key => {
1534
1534
  var _a, _b;
1535
1535
  value = merge[key];
1536
- if ((value === null || value === undefined ? undefined : value.constructor) === Object && ((_a = t[key]) === null || _a === undefined ? undefined : _a.constructor) === Object)
1536
+ if ((value === null || value === void 0 ? void 0 : value.constructor) === Object && ((_a = t[key]) === null || _a === void 0 ? void 0 : _a.constructor) === Object)
1537
1537
  return assign(t[key], merge[key], exclude && exclude[key]);
1538
1538
  if (exclude && (key in exclude)) {
1539
- if (((_b = exclude[key]) === null || _b === undefined ? undefined : _b.constructor) === Object)
1539
+ if (((_b = exclude[key]) === null || _b === void 0 ? void 0 : _b.constructor) === Object)
1540
1540
  assign(t[key] = {}, merge[key], exclude[key]);
1541
1541
  return;
1542
1542
  }
@@ -1660,7 +1660,7 @@ class LeafData {
1660
1660
  const t = this;
1661
1661
  if (t.blendMode === 'pass-through') {
1662
1662
  const leaf = this.__leaf;
1663
- if ((t.opacity < 1 && (leaf.isBranch || t.__hasMultiPaint)) || leaf.__hasEraser || t.eraser) {
1663
+ if ((t.opacity < 1 && (leaf.isBranch || t.__hasMultiPaint)) || leaf.__hasEraser || t.eraser || t.filter) {
1664
1664
  t.__single = true;
1665
1665
  }
1666
1666
  else if (t.__single) {
@@ -1773,7 +1773,7 @@ let Canvas$1 = class Canvas {
1773
1773
  }
1774
1774
  setTransform(_a, _b, _c, _d, _e, _f) { }
1775
1775
  resetTransform() { }
1776
- getTransform() { return undefined; }
1776
+ getTransform() { return void 0; }
1777
1777
  save() { }
1778
1778
  restore() { }
1779
1779
  transform(a, b, c, d, e, f) {
@@ -1830,12 +1830,12 @@ let Canvas$1 = class Canvas {
1830
1830
  ellipse(_x, _y, _radiusX, _radiusY, _rotation, _startAngle, _endAngle, _anticlockwise) { }
1831
1831
  rect(_x, _y, _width, _height) { }
1832
1832
  roundRect(_x, _y, _width, _height, _radius) { }
1833
- createConicGradient(_startAngle, _x, _y) { return undefined; }
1834
- createLinearGradient(_x0, _y0, _x1, _y1) { return undefined; }
1835
- createPattern(_image, _repetition) { return undefined; }
1836
- createRadialGradient(_x0, _y0, _r0, _x1, _y1, _r1) { return undefined; }
1833
+ createConicGradient(_startAngle, _x, _y) { return void 0; }
1834
+ createLinearGradient(_x0, _y0, _x1, _y1) { return void 0; }
1835
+ createPattern(_image, _repetition) { return void 0; }
1836
+ createRadialGradient(_x0, _y0, _r0, _x1, _y1, _r1) { return void 0; }
1837
1837
  fillText(_text, _x, _y, _maxWidth) { }
1838
- measureText(_text) { return undefined; }
1838
+ measureText(_text) { return void 0; }
1839
1839
  strokeText(_text, _x, _y, _maxWidth) { }
1840
1840
  destroy() {
1841
1841
  this.context = null;
@@ -1843,79 +1843,79 @@ let Canvas$1 = class Canvas {
1843
1843
  };
1844
1844
  __decorate([
1845
1845
  contextAttr('imageSmoothingEnabled')
1846
- ], Canvas$1.prototype, "smooth", undefined);
1846
+ ], Canvas$1.prototype, "smooth", void 0);
1847
1847
  __decorate([
1848
1848
  contextAttr('imageSmoothingQuality')
1849
- ], Canvas$1.prototype, "smoothLevel", undefined);
1849
+ ], Canvas$1.prototype, "smoothLevel", void 0);
1850
1850
  __decorate([
1851
1851
  contextAttr('globalAlpha')
1852
- ], Canvas$1.prototype, "opacity", undefined);
1852
+ ], Canvas$1.prototype, "opacity", void 0);
1853
1853
  __decorate([
1854
1854
  contextAttr()
1855
- ], Canvas$1.prototype, "fillStyle", undefined);
1855
+ ], Canvas$1.prototype, "fillStyle", void 0);
1856
1856
  __decorate([
1857
1857
  contextAttr()
1858
- ], Canvas$1.prototype, "strokeStyle", undefined);
1858
+ ], Canvas$1.prototype, "strokeStyle", void 0);
1859
1859
  __decorate([
1860
1860
  contextAttr('lineWidth')
1861
- ], Canvas$1.prototype, "strokeWidth", undefined);
1861
+ ], Canvas$1.prototype, "strokeWidth", void 0);
1862
1862
  __decorate([
1863
1863
  contextAttr('lineCap')
1864
- ], Canvas$1.prototype, "strokeCap", undefined);
1864
+ ], Canvas$1.prototype, "strokeCap", void 0);
1865
1865
  __decorate([
1866
1866
  contextAttr('lineJoin')
1867
- ], Canvas$1.prototype, "strokeJoin", undefined);
1867
+ ], Canvas$1.prototype, "strokeJoin", void 0);
1868
1868
  __decorate([
1869
1869
  contextAttr('lineDashOffset')
1870
- ], Canvas$1.prototype, "dashOffset", undefined);
1870
+ ], Canvas$1.prototype, "dashOffset", void 0);
1871
1871
  __decorate([
1872
1872
  contextAttr()
1873
- ], Canvas$1.prototype, "miterLimit", undefined);
1873
+ ], Canvas$1.prototype, "miterLimit", void 0);
1874
1874
  __decorate([
1875
1875
  contextAttr()
1876
- ], Canvas$1.prototype, "shadowBlur", undefined);
1876
+ ], Canvas$1.prototype, "shadowBlur", void 0);
1877
1877
  __decorate([
1878
1878
  contextAttr()
1879
- ], Canvas$1.prototype, "shadowColor", undefined);
1879
+ ], Canvas$1.prototype, "shadowColor", void 0);
1880
1880
  __decorate([
1881
1881
  contextAttr()
1882
- ], Canvas$1.prototype, "shadowOffsetX", undefined);
1882
+ ], Canvas$1.prototype, "shadowOffsetX", void 0);
1883
1883
  __decorate([
1884
1884
  contextAttr()
1885
- ], Canvas$1.prototype, "shadowOffsetY", undefined);
1885
+ ], Canvas$1.prototype, "shadowOffsetY", void 0);
1886
1886
  __decorate([
1887
1887
  contextAttr()
1888
- ], Canvas$1.prototype, "filter", undefined);
1888
+ ], Canvas$1.prototype, "filter", void 0);
1889
1889
  __decorate([
1890
1890
  contextAttr()
1891
- ], Canvas$1.prototype, "font", undefined);
1891
+ ], Canvas$1.prototype, "font", void 0);
1892
1892
  __decorate([
1893
1893
  contextAttr()
1894
- ], Canvas$1.prototype, "fontKerning", undefined);
1894
+ ], Canvas$1.prototype, "fontKerning", void 0);
1895
1895
  __decorate([
1896
1896
  contextAttr()
1897
- ], Canvas$1.prototype, "fontStretch", undefined);
1897
+ ], Canvas$1.prototype, "fontStretch", void 0);
1898
1898
  __decorate([
1899
1899
  contextAttr()
1900
- ], Canvas$1.prototype, "fontVariantCaps", undefined);
1900
+ ], Canvas$1.prototype, "fontVariantCaps", void 0);
1901
1901
  __decorate([
1902
1902
  contextAttr()
1903
- ], Canvas$1.prototype, "textAlign", undefined);
1903
+ ], Canvas$1.prototype, "textAlign", void 0);
1904
1904
  __decorate([
1905
1905
  contextAttr()
1906
- ], Canvas$1.prototype, "textBaseline", undefined);
1906
+ ], Canvas$1.prototype, "textBaseline", void 0);
1907
1907
  __decorate([
1908
1908
  contextAttr()
1909
- ], Canvas$1.prototype, "textRendering", undefined);
1909
+ ], Canvas$1.prototype, "textRendering", void 0);
1910
1910
  __decorate([
1911
1911
  contextAttr()
1912
- ], Canvas$1.prototype, "wordSpacing", undefined);
1912
+ ], Canvas$1.prototype, "wordSpacing", void 0);
1913
1913
  __decorate([
1914
1914
  contextAttr()
1915
- ], Canvas$1.prototype, "letterSpacing", undefined);
1915
+ ], Canvas$1.prototype, "letterSpacing", void 0);
1916
1916
  __decorate([
1917
1917
  contextAttr()
1918
- ], Canvas$1.prototype, "direction", undefined);
1918
+ ], Canvas$1.prototype, "direction", void 0);
1919
1919
  __decorate([
1920
1920
  contextMethod()
1921
1921
  ], Canvas$1.prototype, "setTransform", null);
@@ -2612,7 +2612,7 @@ const EllipseHelper = {
2612
2612
  const { M: M$4, m, L: L$5, l, H, h, V, v, C: C$4, c, S, s, Q: Q$3, q, T, t, A, a, Z: Z$4, z, N: N$3, D: D$3, X: X$3, G: G$3, F: F$4, O: O$3, P: P$3, U: U$3 } = PathCommandMap;
2613
2613
  const { rect: rect$3, roundRect: roundRect$2, arcTo: arcTo$3, arc: arc$3, ellipse: ellipse$4, quadraticCurveTo: quadraticCurveTo$1 } = BezierHelper;
2614
2614
  const { ellipticalArc } = EllipseHelper;
2615
- const debug$b = Debug.get('PathConvert');
2615
+ const debug$c = Debug.get('PathConvert');
2616
2616
  const setEndPoint$1 = {};
2617
2617
  const PathConvert = {
2618
2618
  current: { dot: 0 },
@@ -2853,7 +2853,7 @@ const PathConvert = {
2853
2853
  i += 6;
2854
2854
  break;
2855
2855
  default:
2856
- debug$b.error(`command: ${command} [index:${i}]`, old);
2856
+ debug$c.error(`command: ${command} [index:${i}]`, old);
2857
2857
  return data;
2858
2858
  }
2859
2859
  lastCommand = command;
@@ -2962,12 +2962,10 @@ const PathCommandDataHelper = {
2962
2962
  },
2963
2963
  arcTo(data, x1, y1, x2, y2, radius, lastX, lastY) {
2964
2964
  if (lastX !== undefined) {
2965
- const maxRadius = tan(getRadianFrom(lastX, lastY, x1, y1, x2, y2) / 2) * (getMinDistanceFrom(lastX, lastY, x1, y1, x2, y2) / 2);
2966
- data.push(U$2, x1, y1, x2, y2, min(radius, abs$2(maxRadius)));
2967
- }
2968
- else {
2969
- data.push(U$2, x1, y1, x2, y2, radius);
2965
+ const d = getMinDistanceFrom(lastX, lastY, x1, y1, x2, y2);
2966
+ radius = min(radius, min(d / 2, d / 2 * abs$2(tan(getRadianFrom(lastX, lastY, x1, y1, x2, y2) / 2))));
2970
2967
  }
2968
+ data.push(U$2, x1, y1, x2, y2, radius);
2971
2969
  },
2972
2970
  drawEllipse(data, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise) {
2973
2971
  BezierHelper.ellipse(null, x, y, radiusX, radiusY, rotation === undefined ? 0 : rotation, startAngle === undefined ? 0 : startAngle, endAngle === undefined ? 360 : endAngle, anticlockwise, null, null, startPoint);
@@ -3078,7 +3076,7 @@ class PathCreator {
3078
3076
  }
3079
3077
 
3080
3078
  const { M: M$2, L: L$3, C: C$2, Q: Q$1, Z: Z$2, N: N$1, D: D$1, X: X$1, G: G$1, F: F$2, O: O$1, P: P$1, U: U$1 } = PathCommandMap;
3081
- const debug$a = Debug.get('PathDrawer');
3079
+ const debug$b = Debug.get('PathDrawer');
3082
3080
  const PathDrawer = {
3083
3081
  drawPathByData(drawer, data) {
3084
3082
  if (!data)
@@ -3141,7 +3139,7 @@ const PathDrawer = {
3141
3139
  i += 6;
3142
3140
  break;
3143
3141
  default:
3144
- debug$a.error(`command: ${command} [index:${i}]`, data);
3142
+ debug$b.error(`command: ${command} [index:${i}]`, data);
3145
3143
  return;
3146
3144
  }
3147
3145
  }
@@ -3151,7 +3149,7 @@ const PathDrawer = {
3151
3149
  const { M: M$1, L: L$2, C: C$1, Q, Z: Z$1, N, D, X, G, F: F$1, O, P, U } = PathCommandMap;
3152
3150
  const { toTwoPointBounds, toTwoPointBoundsByQuadraticCurve, arcTo: arcTo$1, arc, ellipse: ellipse$1 } = BezierHelper;
3153
3151
  const { addPointBounds, copy: copy$8, addPoint, setPoint, addBounds, toBounds: toBounds$2 } = TwoPointBoundsHelper;
3154
- const debug$9 = Debug.get('PathBounds');
3152
+ const debug$a = Debug.get('PathBounds');
3155
3153
  let radius, radiusX, radiusY;
3156
3154
  const tempPointBounds = {};
3157
3155
  const setPointBounds = {};
@@ -3259,7 +3257,7 @@ const PathBounds = {
3259
3257
  i += 6;
3260
3258
  break;
3261
3259
  default:
3262
- debug$9.error(`command: ${command} [index:${i}]`, data);
3260
+ debug$a.error(`command: ${command} [index:${i}]`, data);
3263
3261
  return;
3264
3262
  }
3265
3263
  }
@@ -3375,7 +3373,7 @@ const FileHelper = {
3375
3373
  const F = FileHelper;
3376
3374
  F.opacityTypes.forEach(type => F.upperCaseTypeMap[type] = type.toUpperCase());
3377
3375
 
3378
- const debug$8 = Debug.get('TaskProcessor');
3376
+ const debug$9 = Debug.get('TaskProcessor');
3379
3377
  class TaskItem {
3380
3378
  constructor(task) {
3381
3379
  this.parallel = true;
@@ -3384,13 +3382,13 @@ class TaskItem {
3384
3382
  this.task = task;
3385
3383
  }
3386
3384
  run() {
3387
- return __awaiter(this, undefined, undefined, function* () {
3385
+ return __awaiter(this, void 0, void 0, function* () {
3388
3386
  try {
3389
3387
  if (this.task && !this.isComplete && this.parent.running)
3390
3388
  yield this.task();
3391
3389
  }
3392
3390
  catch (error) {
3393
- debug$8.error(error);
3391
+ debug$9.error(error);
3394
3392
  }
3395
3393
  });
3396
3394
  }
@@ -3623,18 +3621,58 @@ class TaskProcessor {
3623
3621
  }
3624
3622
  }
3625
3623
 
3626
- const ImageManager = {
3624
+ const debug$8 = Debug.get('Resource');
3625
+ const Resource = {
3626
+ tasker: new TaskProcessor(),
3627
3627
  map: {},
3628
+ get isComplete() { return R.tasker.isComplete; },
3629
+ set(key, value) {
3630
+ if (R.map[key])
3631
+ debug$8.repeat(key);
3632
+ R.map[key] = value;
3633
+ },
3634
+ get(key) {
3635
+ return R.map[key];
3636
+ },
3637
+ remove(key) {
3638
+ const r = R.map[key];
3639
+ if (r) {
3640
+ if (r.destroy)
3641
+ r.destroy();
3642
+ delete R.map[key];
3643
+ }
3644
+ },
3645
+ loadImage(key, format) {
3646
+ return new Promise((resolve, reject) => {
3647
+ const image = this.setImage(key, key, format);
3648
+ image.load(() => resolve(image), (e) => reject(e));
3649
+ });
3650
+ },
3651
+ setImage(key, value, format) {
3652
+ let config;
3653
+ if (typeof value === 'string')
3654
+ config = { url: value };
3655
+ else if (!value.url)
3656
+ config = { url: key, view: value };
3657
+ if (config)
3658
+ format && (config.format = format), value = Creator.image(config);
3659
+ R.set(key, value);
3660
+ return value;
3661
+ },
3662
+ destroy() {
3663
+ R.map = {};
3664
+ }
3665
+ };
3666
+ const R = Resource;
3667
+
3668
+ const ImageManager = {
3669
+ maxRecycled: 100,
3628
3670
  recycledList: [],
3629
- tasker: new TaskProcessor(),
3630
3671
  patternTasker: new TaskProcessor(),
3631
- get isComplete() { return I$1.tasker.isComplete; },
3632
3672
  get(config) {
3633
- let image = I$1.map[config.url];
3634
- if (!image) {
3635
- image = Creator.image(config);
3636
- I$1.map[config.url] = image;
3637
- }
3673
+ let image = Resource.get(config.url);
3674
+ if (!image)
3675
+ Resource.set(config.url, image = Creator.image(config));
3638
3676
  image.use++;
3639
3677
  return image;
3640
3678
  },
@@ -3645,13 +3683,8 @@ const ImageManager = {
3645
3683
  },
3646
3684
  clearRecycled() {
3647
3685
  const list = I$1.recycledList;
3648
- if (list.length > 100) {
3649
- list.forEach(image => {
3650
- if (!image.use && image.url) {
3651
- delete I$1.map[image.url];
3652
- image.destroy();
3653
- }
3654
- });
3686
+ if (list.length > I$1.maxRecycled) {
3687
+ list.forEach(image => (!image.use && image.url) && Resource.remove(image.url));
3655
3688
  list.length = 0;
3656
3689
  }
3657
3690
  },
@@ -3675,7 +3708,6 @@ const ImageManager = {
3675
3708
  return false;
3676
3709
  },
3677
3710
  destroy() {
3678
- I$1.map = {};
3679
3711
  I$1.recycledList = [];
3680
3712
  }
3681
3713
  };
@@ -3689,21 +3721,19 @@ class LeaferImage {
3689
3721
  this.use = 0;
3690
3722
  this.waitComplete = [];
3691
3723
  this.innerId = create$1(IMAGE);
3692
- this.config = config || { url: '' };
3693
- this.isSVG = ImageManager.isFormat('svg', config);
3694
- this.hasOpacityPixel = ImageManager.hasOpacityPixel(config);
3724
+ this.config = config || (config = { url: '' });
3725
+ if (config.view) {
3726
+ const { view } = config;
3727
+ this.setView(view.config ? view.view : view);
3728
+ }
3729
+ ImageManager.isFormat('svg', config) && (this.isSVG = true);
3730
+ ImageManager.hasOpacityPixel(config) && (this.hasOpacityPixel = true);
3695
3731
  }
3696
3732
  load(onSuccess, onError) {
3697
3733
  if (!this.loading) {
3698
3734
  this.loading = true;
3699
- ImageManager.tasker.add(() => __awaiter(this, undefined, undefined, function* () {
3700
- return yield Platform.origin.loadImage(this.url).then((img) => {
3701
- this.ready = true;
3702
- this.width = img.naturalWidth || img.width;
3703
- this.height = img.naturalHeight || img.height;
3704
- this.view = img;
3705
- this.onComplete(true);
3706
- }).catch((e) => {
3735
+ Resource.tasker.add(() => __awaiter(this, void 0, void 0, function* () {
3736
+ return yield Platform.origin.loadImage(this.url).then(img => this.setView(img)).catch((e) => {
3707
3737
  this.error = e;
3708
3738
  this.onComplete(false);
3709
3739
  });
@@ -3721,6 +3751,13 @@ class LeaferImage {
3721
3751
  }
3722
3752
  l[index] = l[index + 1] = undefined;
3723
3753
  }
3754
+ setView(img) {
3755
+ this.ready = true;
3756
+ this.width = img.naturalWidth || img.width;
3757
+ this.height = img.naturalHeight || img.height;
3758
+ this.view = img;
3759
+ this.onComplete(true);
3760
+ }
3724
3761
  onComplete(isSuccess) {
3725
3762
  let odd;
3726
3763
  this.waitComplete.forEach((item, index) => {
@@ -3739,6 +3776,9 @@ class LeaferImage {
3739
3776
  this.waitComplete.length = 0;
3740
3777
  this.loading = false;
3741
3778
  }
3779
+ getFull(_filters) {
3780
+ return this.view;
3781
+ }
3742
3782
  getCanvas(width, height, opacity, _filters) {
3743
3783
  width || (width = this.width);
3744
3784
  height || (height = this.height);
@@ -5219,7 +5259,7 @@ const LeafRender = {
5219
5259
  if (this.__.eraser === 'path')
5220
5260
  return this.__renderEraser(canvas, options);
5221
5261
  const tempCanvas = canvas.getSameCanvas(true, true);
5222
- this.__draw(tempCanvas, options);
5262
+ this.__draw(tempCanvas, options, canvas);
5223
5263
  if (this.__worldFlipped) {
5224
5264
  canvas.copyWorldByReset(tempCanvas, this.__nowWorld, null, this.__.__blendMode, true);
5225
5265
  }
@@ -6012,7 +6052,7 @@ class LeafLevelList {
6012
6052
  }
6013
6053
  }
6014
6054
 
6015
- const version = "1.4.0";
6055
+ const version = "1.4.2";
6016
6056
 
6017
6057
  class LeaferCanvas extends LeaferCanvasBase {
6018
6058
  get allowBackgroundColor() { return true; }
@@ -6357,7 +6397,7 @@ class Layouter {
6357
6397
  }
6358
6398
  partLayout() {
6359
6399
  var _a;
6360
- if (!((_a = this.__updatedList) === null || _a === undefined ? undefined : _a.length))
6400
+ if (!((_a = this.__updatedList) === null || _a === void 0 ? void 0 : _a.length))
6361
6401
  return;
6362
6402
  const t = Run.start('PartLayout');
6363
6403
  const { target, __updatedList: updateList } = this;
@@ -6822,9 +6862,10 @@ class Selector {
6822
6862
  this.finder = Creator.finder && Creator.finder();
6823
6863
  }
6824
6864
  getByPoint(hitPoint, hitRadius, options) {
6825
- if (Platform.backgrounder && this.target)
6826
- this.target.updateLayout();
6827
- return this.picker.getByPoint(hitPoint, hitRadius, options);
6865
+ const { target, picker } = this;
6866
+ if (Platform.backgrounder)
6867
+ target && target.updateLayout();
6868
+ return picker.getByPoint(hitPoint, hitRadius, options);
6828
6869
  }
6829
6870
  getBy(condition, branch, one, options) {
6830
6871
  return this.finder ? this.finder.getBy(condition, branch, one, options) : Plugin.need('find');
@@ -6882,9 +6923,7 @@ const TextConvert = {};
6882
6923
  const ColorConvert = {};
6883
6924
  const UnitConvert = {
6884
6925
  number(value, percentRefer) {
6885
- if (typeof value === 'object')
6886
- return value.type === 'percent' ? value.value * percentRefer : value.value;
6887
- return value;
6926
+ return typeof value === 'object' ? (value.type === 'percent' ? value.value * percentRefer : value.value) : value;
6888
6927
  }
6889
6928
  };
6890
6929
  const PathArrow = {};
@@ -6892,16 +6931,15 @@ const Paint = {};
6892
6931
  const PaintImage = {};
6893
6932
  const PaintGradient = {};
6894
6933
  const Effect = {};
6934
+ const Filter = {
6935
+ apply() { Plugin.need('filter'); }
6936
+ };
6895
6937
  const Export = {};
6896
6938
  const State = {
6897
- setStyleName(_leaf, _styleName, _value) { return Plugin.need('state'); },
6898
- set(_leaf, _stateName) { return Plugin.need('state'); }
6899
- };
6900
- const Transition = {
6901
- list: {},
6902
- register(attrName, fn) { Transition.list[attrName] = fn; },
6903
- get(attrName) { return Transition.list[attrName]; }
6939
+ setStyleName() { return Plugin.need('state'); },
6940
+ set() { return Plugin.need('state'); }
6904
6941
  };
6942
+ const Transition = {};
6905
6943
 
6906
6944
  const { parse, objectToCanvasData } = PathConvert;
6907
6945
  const emptyPaint = {};
@@ -7008,24 +7046,13 @@ class UIData extends LeafData {
7008
7046
  }
7009
7047
  }
7010
7048
  setShadow(value) {
7011
- this.__setInput('shadow', value);
7012
- if (value instanceof Array) {
7013
- if (value.some((item) => item.visible === false))
7014
- value = value.filter((item) => item.visible !== false);
7015
- this._shadow = value.length ? value : null;
7016
- }
7017
- else
7018
- this._shadow = value && value.visible !== false ? [value] : null;
7049
+ setArray(this, 'shadow', value);
7019
7050
  }
7020
7051
  setInnerShadow(value) {
7021
- this.__setInput('innerShadow', value);
7022
- if (value instanceof Array) {
7023
- if (value.some((item) => item.visible === false))
7024
- value = value.filter((item) => item.visible !== false);
7025
- this._innerShadow = value.length ? value : null;
7026
- }
7027
- else
7028
- this._innerShadow = value && value.visible !== false ? [value] : null;
7052
+ setArray(this, 'innerShadow', value);
7053
+ }
7054
+ setFilter(value) {
7055
+ setArray(this, 'filter', value);
7029
7056
  }
7030
7057
  __computePaint() {
7031
7058
  const { fill, stroke } = this.__input;
@@ -7036,6 +7063,17 @@ class UIData extends LeafData {
7036
7063
  this.__needComputePaint = false;
7037
7064
  }
7038
7065
  }
7066
+ function setArray(data, key, value) {
7067
+ data.__setInput(key, value);
7068
+ if (value instanceof Array) {
7069
+ if (value.some((item) => item.visible === false))
7070
+ value = value.filter((item) => item.visible !== false);
7071
+ value.length || (value = null);
7072
+ }
7073
+ else
7074
+ value = value && value.visible !== false ? [value] : null;
7075
+ data['_' + key] = value;
7076
+ }
7039
7077
 
7040
7078
  class GroupData extends UIData {
7041
7079
  }
@@ -7158,11 +7196,13 @@ const UIBounds = {
7158
7196
  },
7159
7197
  __updateRenderSpread() {
7160
7198
  let width = 0;
7161
- const { shadow, innerShadow, blur, backgroundBlur } = this.__;
7199
+ const { shadow, innerShadow, blur, backgroundBlur, filter } = this.__;
7162
7200
  if (shadow)
7163
7201
  shadow.forEach(item => width = Math.max(width, Math.max(Math.abs(item.y), Math.abs(item.x)) + (item.spread > 0 ? item.spread : 0) + item.blur * 1.5));
7164
7202
  if (blur)
7165
7203
  width = Math.max(width, blur);
7204
+ if (filter)
7205
+ width += Filter.getSpread(filter);
7166
7206
  let shapeWidth = width = Math.ceil(width);
7167
7207
  if (innerShadow)
7168
7208
  innerShadow.forEach(item => shapeWidth = Math.max(shapeWidth, Math.max(Math.abs(item.y), Math.abs(item.x)) + (item.spread < 0 ? -item.spread : 0) + item.blur * 1.5));
@@ -7177,8 +7217,8 @@ const UIRender = {
7177
7217
  __updateChange() {
7178
7218
  const data = this.__;
7179
7219
  if (data.__useEffect) {
7180
- const { shadow, innerShadow, blur, backgroundBlur } = this.__;
7181
- data.__useEffect = !!(shadow || innerShadow || blur || backgroundBlur);
7220
+ const { shadow, innerShadow, blur, backgroundBlur, filter } = this.__;
7221
+ data.__useEffect = !!(shadow || innerShadow || blur || backgroundBlur || filter);
7182
7222
  }
7183
7223
  data.__checkSingle();
7184
7224
  const complex = data.__isFills || data.__isStrokes || data.cornerRadius || data.__useEffect;
@@ -7192,7 +7232,7 @@ const UIRender = {
7192
7232
  __drawFast(canvas, options) {
7193
7233
  drawFast(this, canvas, options);
7194
7234
  },
7195
- __draw(canvas, options) {
7235
+ __draw(canvas, options, originCanvas) {
7196
7236
  const data = this.__;
7197
7237
  if (data.__complex) {
7198
7238
  if (data.__needComputePaint)
@@ -7202,7 +7242,7 @@ const UIRender = {
7202
7242
  if (data.__useEffect) {
7203
7243
  const shape = Paint.shape(this, canvas, options);
7204
7244
  this.__nowWorld = this.__getNowWorld(options);
7205
- const { shadow, innerShadow } = data;
7245
+ const { shadow, innerShadow, filter } = data;
7206
7246
  if (shadow)
7207
7247
  Effect.shadow(this, canvas, shape);
7208
7248
  if (fill)
@@ -7213,6 +7253,8 @@ const UIRender = {
7213
7253
  Effect.innerShadow(this, canvas, shape);
7214
7254
  if (stroke)
7215
7255
  data.__isStrokes ? Paint.strokes(stroke, this, canvas) : Paint.stroke(stroke, this, canvas);
7256
+ if (filter)
7257
+ Filter.apply(filter, this, this.__nowWorld, canvas, originCanvas, shape);
7216
7258
  if (shape.worldCanvas)
7217
7259
  shape.worldCanvas.recycle();
7218
7260
  shape.canvas.recycle();
@@ -7432,199 +7474,202 @@ let UI = UI_1 = class UI extends Leaf {
7432
7474
  };
7433
7475
  __decorate([
7434
7476
  dataProcessor(UIData)
7435
- ], UI.prototype, "__", undefined);
7477
+ ], UI.prototype, "__", void 0);
7436
7478
  __decorate([
7437
7479
  zoomLayerType()
7438
- ], UI.prototype, "zoomLayer", undefined);
7480
+ ], UI.prototype, "zoomLayer", void 0);
7439
7481
  __decorate([
7440
7482
  dataType('')
7441
- ], UI.prototype, "id", undefined);
7483
+ ], UI.prototype, "id", void 0);
7442
7484
  __decorate([
7443
7485
  dataType('')
7444
- ], UI.prototype, "name", undefined);
7486
+ ], UI.prototype, "name", void 0);
7445
7487
  __decorate([
7446
7488
  dataType('')
7447
- ], UI.prototype, "className", undefined);
7489
+ ], UI.prototype, "className", void 0);
7448
7490
  __decorate([
7449
7491
  surfaceType('pass-through')
7450
- ], UI.prototype, "blendMode", undefined);
7492
+ ], UI.prototype, "blendMode", void 0);
7451
7493
  __decorate([
7452
7494
  opacityType(1)
7453
- ], UI.prototype, "opacity", undefined);
7495
+ ], UI.prototype, "opacity", void 0);
7454
7496
  __decorate([
7455
7497
  visibleType(true)
7456
- ], UI.prototype, "visible", undefined);
7498
+ ], UI.prototype, "visible", void 0);
7457
7499
  __decorate([
7458
7500
  surfaceType(false)
7459
- ], UI.prototype, "locked", undefined);
7501
+ ], UI.prototype, "locked", void 0);
7460
7502
  __decorate([
7461
7503
  sortType(0)
7462
- ], UI.prototype, "zIndex", undefined);
7504
+ ], UI.prototype, "zIndex", void 0);
7463
7505
  __decorate([
7464
7506
  maskType(false)
7465
- ], UI.prototype, "mask", undefined);
7507
+ ], UI.prototype, "mask", void 0);
7466
7508
  __decorate([
7467
7509
  eraserType(false)
7468
- ], UI.prototype, "eraser", undefined);
7510
+ ], UI.prototype, "eraser", void 0);
7469
7511
  __decorate([
7470
7512
  positionType(0, true)
7471
- ], UI.prototype, "x", undefined);
7513
+ ], UI.prototype, "x", void 0);
7472
7514
  __decorate([
7473
7515
  positionType(0, true)
7474
- ], UI.prototype, "y", undefined);
7516
+ ], UI.prototype, "y", void 0);
7475
7517
  __decorate([
7476
7518
  boundsType(100, true)
7477
- ], UI.prototype, "width", undefined);
7519
+ ], UI.prototype, "width", void 0);
7478
7520
  __decorate([
7479
7521
  boundsType(100, true)
7480
- ], UI.prototype, "height", undefined);
7522
+ ], UI.prototype, "height", void 0);
7481
7523
  __decorate([
7482
7524
  scaleType(1, true)
7483
- ], UI.prototype, "scaleX", undefined);
7525
+ ], UI.prototype, "scaleX", void 0);
7484
7526
  __decorate([
7485
7527
  scaleType(1, true)
7486
- ], UI.prototype, "scaleY", undefined);
7528
+ ], UI.prototype, "scaleY", void 0);
7487
7529
  __decorate([
7488
7530
  rotationType(0, true)
7489
- ], UI.prototype, "rotation", undefined);
7531
+ ], UI.prototype, "rotation", void 0);
7490
7532
  __decorate([
7491
7533
  rotationType(0, true)
7492
- ], UI.prototype, "skewX", undefined);
7534
+ ], UI.prototype, "skewX", void 0);
7493
7535
  __decorate([
7494
7536
  rotationType(0, true)
7495
- ], UI.prototype, "skewY", undefined);
7537
+ ], UI.prototype, "skewY", void 0);
7496
7538
  __decorate([
7497
7539
  positionType(0, true)
7498
- ], UI.prototype, "offsetX", undefined);
7540
+ ], UI.prototype, "offsetX", void 0);
7499
7541
  __decorate([
7500
7542
  positionType(0, true)
7501
- ], UI.prototype, "offsetY", undefined);
7543
+ ], UI.prototype, "offsetY", void 0);
7502
7544
  __decorate([
7503
7545
  positionType(0, true)
7504
- ], UI.prototype, "scrollX", undefined);
7546
+ ], UI.prototype, "scrollX", void 0);
7505
7547
  __decorate([
7506
7548
  positionType(0, true)
7507
- ], UI.prototype, "scrollY", undefined);
7549
+ ], UI.prototype, "scrollY", void 0);
7508
7550
  __decorate([
7509
7551
  autoLayoutType()
7510
- ], UI.prototype, "origin", undefined);
7552
+ ], UI.prototype, "origin", void 0);
7511
7553
  __decorate([
7512
7554
  autoLayoutType()
7513
- ], UI.prototype, "around", undefined);
7555
+ ], UI.prototype, "around", void 0);
7514
7556
  __decorate([
7515
7557
  dataType(false)
7516
- ], UI.prototype, "lazy", undefined);
7558
+ ], UI.prototype, "lazy", void 0);
7517
7559
  __decorate([
7518
7560
  naturalBoundsType(1)
7519
- ], UI.prototype, "pixelRatio", undefined);
7561
+ ], UI.prototype, "pixelRatio", void 0);
7520
7562
  __decorate([
7521
7563
  pathInputType()
7522
- ], UI.prototype, "path", undefined);
7564
+ ], UI.prototype, "path", void 0);
7523
7565
  __decorate([
7524
7566
  pathType()
7525
- ], UI.prototype, "windingRule", undefined);
7567
+ ], UI.prototype, "windingRule", void 0);
7526
7568
  __decorate([
7527
7569
  pathType(true)
7528
- ], UI.prototype, "closed", undefined);
7570
+ ], UI.prototype, "closed", void 0);
7529
7571
  __decorate([
7530
7572
  boundsType(0)
7531
- ], UI.prototype, "padding", undefined);
7573
+ ], UI.prototype, "padding", void 0);
7532
7574
  __decorate([
7533
7575
  boundsType(false)
7534
- ], UI.prototype, "lockRatio", undefined);
7576
+ ], UI.prototype, "lockRatio", void 0);
7535
7577
  __decorate([
7536
7578
  boundsType()
7537
- ], UI.prototype, "widthRange", undefined);
7579
+ ], UI.prototype, "widthRange", void 0);
7538
7580
  __decorate([
7539
7581
  boundsType()
7540
- ], UI.prototype, "heightRange", undefined);
7582
+ ], UI.prototype, "heightRange", void 0);
7541
7583
  __decorate([
7542
7584
  dataType(false)
7543
- ], UI.prototype, "draggable", undefined);
7585
+ ], UI.prototype, "draggable", void 0);
7544
7586
  __decorate([
7545
7587
  dataType()
7546
- ], UI.prototype, "dragBounds", undefined);
7588
+ ], UI.prototype, "dragBounds", void 0);
7547
7589
  __decorate([
7548
7590
  dataType(false)
7549
- ], UI.prototype, "editable", undefined);
7591
+ ], UI.prototype, "editable", void 0);
7550
7592
  __decorate([
7551
7593
  hitType(true)
7552
- ], UI.prototype, "hittable", undefined);
7594
+ ], UI.prototype, "hittable", void 0);
7553
7595
  __decorate([
7554
7596
  hitType('path')
7555
- ], UI.prototype, "hitFill", undefined);
7597
+ ], UI.prototype, "hitFill", void 0);
7556
7598
  __decorate([
7557
7599
  strokeType('path')
7558
- ], UI.prototype, "hitStroke", undefined);
7600
+ ], UI.prototype, "hitStroke", void 0);
7559
7601
  __decorate([
7560
7602
  hitType(false)
7561
- ], UI.prototype, "hitBox", undefined);
7603
+ ], UI.prototype, "hitBox", void 0);
7562
7604
  __decorate([
7563
7605
  hitType(true)
7564
- ], UI.prototype, "hitChildren", undefined);
7606
+ ], UI.prototype, "hitChildren", void 0);
7565
7607
  __decorate([
7566
7608
  hitType(true)
7567
- ], UI.prototype, "hitSelf", undefined);
7609
+ ], UI.prototype, "hitSelf", void 0);
7568
7610
  __decorate([
7569
7611
  hitType()
7570
- ], UI.prototype, "hitRadius", undefined);
7612
+ ], UI.prototype, "hitRadius", void 0);
7571
7613
  __decorate([
7572
7614
  cursorType('')
7573
- ], UI.prototype, "cursor", undefined);
7615
+ ], UI.prototype, "cursor", void 0);
7574
7616
  __decorate([
7575
7617
  surfaceType()
7576
- ], UI.prototype, "fill", undefined);
7618
+ ], UI.prototype, "fill", void 0);
7577
7619
  __decorate([
7578
7620
  strokeType()
7579
- ], UI.prototype, "stroke", undefined);
7621
+ ], UI.prototype, "stroke", void 0);
7580
7622
  __decorate([
7581
7623
  strokeType('inside')
7582
- ], UI.prototype, "strokeAlign", undefined);
7624
+ ], UI.prototype, "strokeAlign", void 0);
7583
7625
  __decorate([
7584
7626
  strokeType(1)
7585
- ], UI.prototype, "strokeWidth", undefined);
7627
+ ], UI.prototype, "strokeWidth", void 0);
7586
7628
  __decorate([
7587
7629
  strokeType(false)
7588
- ], UI.prototype, "strokeWidthFixed", undefined);
7630
+ ], UI.prototype, "strokeWidthFixed", void 0);
7589
7631
  __decorate([
7590
7632
  strokeType('none')
7591
- ], UI.prototype, "strokeCap", undefined);
7633
+ ], UI.prototype, "strokeCap", void 0);
7592
7634
  __decorate([
7593
7635
  strokeType('miter')
7594
- ], UI.prototype, "strokeJoin", undefined);
7636
+ ], UI.prototype, "strokeJoin", void 0);
7595
7637
  __decorate([
7596
7638
  strokeType()
7597
- ], UI.prototype, "dashPattern", undefined);
7639
+ ], UI.prototype, "dashPattern", void 0);
7598
7640
  __decorate([
7599
7641
  strokeType()
7600
- ], UI.prototype, "dashOffset", undefined);
7642
+ ], UI.prototype, "dashOffset", void 0);
7601
7643
  __decorate([
7602
7644
  strokeType(10)
7603
- ], UI.prototype, "miterLimit", undefined);
7645
+ ], UI.prototype, "miterLimit", void 0);
7604
7646
  __decorate([
7605
7647
  pathType(0)
7606
- ], UI.prototype, "cornerRadius", undefined);
7648
+ ], UI.prototype, "cornerRadius", void 0);
7607
7649
  __decorate([
7608
7650
  pathType()
7609
- ], UI.prototype, "cornerSmoothing", undefined);
7651
+ ], UI.prototype, "cornerSmoothing", void 0);
7652
+ __decorate([
7653
+ effectType()
7654
+ ], UI.prototype, "shadow", void 0);
7610
7655
  __decorate([
7611
7656
  effectType()
7612
- ], UI.prototype, "shadow", undefined);
7657
+ ], UI.prototype, "innerShadow", void 0);
7613
7658
  __decorate([
7614
7659
  effectType()
7615
- ], UI.prototype, "innerShadow", undefined);
7660
+ ], UI.prototype, "blur", void 0);
7616
7661
  __decorate([
7617
7662
  effectType()
7618
- ], UI.prototype, "blur", undefined);
7663
+ ], UI.prototype, "backgroundBlur", void 0);
7619
7664
  __decorate([
7620
7665
  effectType()
7621
- ], UI.prototype, "backgroundBlur", undefined);
7666
+ ], UI.prototype, "grayscale", void 0);
7622
7667
  __decorate([
7623
7668
  effectType()
7624
- ], UI.prototype, "grayscale", undefined);
7669
+ ], UI.prototype, "filter", void 0);
7625
7670
  __decorate([
7626
7671
  dataType({})
7627
- ], UI.prototype, "data", undefined);
7672
+ ], UI.prototype, "data", void 0);
7628
7673
  __decorate([
7629
7674
  rewrite(Leaf.prototype.reset)
7630
7675
  ], UI.prototype, "reset", null);
@@ -7685,7 +7730,7 @@ let Group = class Group extends UI {
7685
7730
  };
7686
7731
  __decorate([
7687
7732
  dataProcessor(GroupData)
7688
- ], Group.prototype, "__", undefined);
7733
+ ], Group.prototype, "__", void 0);
7689
7734
  Group = __decorate([
7690
7735
  useModule(Branch),
7691
7736
  registerUI()
@@ -7698,7 +7743,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
7698
7743
  get isApp() { return false; }
7699
7744
  get app() { return this.parent || this; }
7700
7745
  get isLeafer() { return true; }
7701
- get imageReady() { return this.viewReady && ImageManager.isComplete; }
7746
+ get imageReady() { return this.viewReady && Resource.isComplete; }
7702
7747
  get layoutLocked() { return !this.layouter.running; }
7703
7748
  get FPS() { return this.renderer ? this.renderer.FPS : 60; }
7704
7749
  get cursorPoint() { return (this.interaction && this.interaction.hoverData) || { x: this.width / 2, y: this.height / 2 }; }
@@ -7909,13 +7954,13 @@ let Leafer = Leafer_1 = class Leafer extends Group {
7909
7954
  WaitHelper.run(this.__viewReadyWait);
7910
7955
  }
7911
7956
  __onLayoutEnd() {
7912
- const { grow, growWidth, growHeight } = this.config;
7957
+ const { grow, width: fixedWidth, height: fixedHeight } = this.config;
7913
7958
  if (grow) {
7914
7959
  let { width, height, pixelRatio } = this;
7915
7960
  const bounds = grow === 'box' ? this.worldBoxBounds : this.__world;
7916
- if (growWidth !== false)
7961
+ if (!fixedWidth)
7917
7962
  width = Math.max(1, bounds.x + bounds.width);
7918
- if (growHeight !== false)
7963
+ if (!fixedHeight)
7919
7964
  height = Math.max(1, bounds.y + bounds.height);
7920
7965
  this.__doResize({ width, height, pixelRatio });
7921
7966
  }
@@ -7993,7 +8038,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
7993
8038
  list.push(item);
7994
8039
  this.requestRender();
7995
8040
  }
7996
- zoom(_zoomType, _padding, _fixedScale) {
8041
+ zoom(_zoomType, _padding, _fixedScale, _transition) {
7997
8042
  return Plugin.need('view');
7998
8043
  }
7999
8044
  getValidMove(moveX, moveY) { return { x: moveX, y: moveY }; }
@@ -8058,10 +8103,10 @@ let Leafer = Leafer_1 = class Leafer extends Group {
8058
8103
  Leafer.list = new LeafList();
8059
8104
  __decorate([
8060
8105
  dataProcessor(LeaferData)
8061
- ], Leafer.prototype, "__", undefined);
8106
+ ], Leafer.prototype, "__", void 0);
8062
8107
  __decorate([
8063
8108
  boundsType()
8064
- ], Leafer.prototype, "pixelRatio", undefined);
8109
+ ], Leafer.prototype, "pixelRatio", void 0);
8065
8110
  Leafer = Leafer_1 = __decorate([
8066
8111
  registerUI()
8067
8112
  ], Leafer);
@@ -8074,7 +8119,7 @@ let Rect = class Rect extends UI {
8074
8119
  };
8075
8120
  __decorate([
8076
8121
  dataProcessor(RectData)
8077
- ], Rect.prototype, "__", undefined);
8122
+ ], Rect.prototype, "__", void 0);
8078
8123
  Rect = __decorate([
8079
8124
  useModule(RectRender),
8080
8125
  rewriteAble(),
@@ -8165,13 +8210,13 @@ let Box = class Box extends Group {
8165
8210
  };
8166
8211
  __decorate([
8167
8212
  dataProcessor(BoxData)
8168
- ], Box.prototype, "__", undefined);
8213
+ ], Box.prototype, "__", void 0);
8169
8214
  __decorate([
8170
8215
  dataType(false)
8171
- ], Box.prototype, "resizeChildren", undefined);
8216
+ ], Box.prototype, "resizeChildren", void 0);
8172
8217
  __decorate([
8173
8218
  affectRenderBoundsType('show')
8174
- ], Box.prototype, "overflow", undefined);
8219
+ ], Box.prototype, "overflow", void 0);
8175
8220
  __decorate([
8176
8221
  rewrite(rect$1.__updateStrokeSpread)
8177
8222
  ], Box.prototype, "__updateStrokeSpread", null);
@@ -8210,13 +8255,13 @@ let Frame = class Frame extends Box {
8210
8255
  };
8211
8256
  __decorate([
8212
8257
  dataProcessor(FrameData)
8213
- ], Frame.prototype, "__", undefined);
8258
+ ], Frame.prototype, "__", void 0);
8214
8259
  __decorate([
8215
8260
  surfaceType('#FFFFFF')
8216
- ], Frame.prototype, "fill", undefined);
8261
+ ], Frame.prototype, "fill", void 0);
8217
8262
  __decorate([
8218
8263
  affectRenderBoundsType('hide')
8219
- ], Frame.prototype, "overflow", undefined);
8264
+ ], Frame.prototype, "overflow", void 0);
8220
8265
  Frame = __decorate([
8221
8266
  registerUI()
8222
8267
  ], Frame);
@@ -8263,16 +8308,16 @@ let Ellipse = class Ellipse extends UI {
8263
8308
  };
8264
8309
  __decorate([
8265
8310
  dataProcessor(EllipseData)
8266
- ], Ellipse.prototype, "__", undefined);
8311
+ ], Ellipse.prototype, "__", void 0);
8267
8312
  __decorate([
8268
8313
  pathType(0)
8269
- ], Ellipse.prototype, "innerRadius", undefined);
8314
+ ], Ellipse.prototype, "innerRadius", void 0);
8270
8315
  __decorate([
8271
8316
  pathType(0)
8272
- ], Ellipse.prototype, "startAngle", undefined);
8317
+ ], Ellipse.prototype, "startAngle", void 0);
8273
8318
  __decorate([
8274
8319
  pathType(0)
8275
- ], Ellipse.prototype, "endAngle", undefined);
8320
+ ], Ellipse.prototype, "endAngle", void 0);
8276
8321
  Ellipse = __decorate([
8277
8322
  registerUI()
8278
8323
  ], Ellipse);
@@ -8331,22 +8376,22 @@ let Line = class Line extends UI {
8331
8376
  };
8332
8377
  __decorate([
8333
8378
  dataProcessor(LineData)
8334
- ], Line.prototype, "__", undefined);
8379
+ ], Line.prototype, "__", void 0);
8335
8380
  __decorate([
8336
8381
  affectStrokeBoundsType('center')
8337
- ], Line.prototype, "strokeAlign", undefined);
8382
+ ], Line.prototype, "strokeAlign", void 0);
8338
8383
  __decorate([
8339
8384
  boundsType(0)
8340
- ], Line.prototype, "height", undefined);
8385
+ ], Line.prototype, "height", void 0);
8341
8386
  __decorate([
8342
8387
  pathType()
8343
- ], Line.prototype, "points", undefined);
8388
+ ], Line.prototype, "points", void 0);
8344
8389
  __decorate([
8345
8390
  pathType(0)
8346
- ], Line.prototype, "curve", undefined);
8391
+ ], Line.prototype, "curve", void 0);
8347
8392
  __decorate([
8348
8393
  pathType(false)
8349
- ], Line.prototype, "closed", undefined);
8394
+ ], Line.prototype, "closed", void 0);
8350
8395
  Line = __decorate([
8351
8396
  registerUI()
8352
8397
  ], Line);
@@ -8379,16 +8424,16 @@ let Polygon = class Polygon extends UI {
8379
8424
  };
8380
8425
  __decorate([
8381
8426
  dataProcessor(PolygonData)
8382
- ], Polygon.prototype, "__", undefined);
8427
+ ], Polygon.prototype, "__", void 0);
8383
8428
  __decorate([
8384
8429
  pathType(3)
8385
- ], Polygon.prototype, "sides", undefined);
8430
+ ], Polygon.prototype, "sides", void 0);
8386
8431
  __decorate([
8387
8432
  pathType()
8388
- ], Polygon.prototype, "points", undefined);
8433
+ ], Polygon.prototype, "points", void 0);
8389
8434
  __decorate([
8390
8435
  pathType(0)
8391
- ], Polygon.prototype, "curve", undefined);
8436
+ ], Polygon.prototype, "curve", void 0);
8392
8437
  __decorate([
8393
8438
  rewrite(line.__updateRenderPath)
8394
8439
  ], Polygon.prototype, "__updateRenderPath", null);
@@ -8420,13 +8465,13 @@ let Star = class Star extends UI {
8420
8465
  };
8421
8466
  __decorate([
8422
8467
  dataProcessor(StarData)
8423
- ], Star.prototype, "__", undefined);
8468
+ ], Star.prototype, "__", void 0);
8424
8469
  __decorate([
8425
8470
  pathType(5)
8426
- ], Star.prototype, "corners", undefined);
8471
+ ], Star.prototype, "corners", void 0);
8427
8472
  __decorate([
8428
8473
  pathType(0.382)
8429
- ], Star.prototype, "innerRadius", undefined);
8474
+ ], Star.prototype, "innerRadius", void 0);
8430
8475
  Star = __decorate([
8431
8476
  registerUI()
8432
8477
  ], Star);
@@ -8448,10 +8493,10 @@ let Image = class Image extends Rect {
8448
8493
  };
8449
8494
  __decorate([
8450
8495
  dataProcessor(ImageData)
8451
- ], Image.prototype, "__", undefined);
8496
+ ], Image.prototype, "__", void 0);
8452
8497
  __decorate([
8453
8498
  boundsType('')
8454
- ], Image.prototype, "url", undefined);
8499
+ ], Image.prototype, "url", void 0);
8455
8500
  Image = __decorate([
8456
8501
  registerUI()
8457
8502
  ], Image);
@@ -8514,25 +8559,25 @@ let Canvas = class Canvas extends Rect {
8514
8559
  };
8515
8560
  __decorate([
8516
8561
  dataProcessor(CanvasData)
8517
- ], Canvas.prototype, "__", undefined);
8562
+ ], Canvas.prototype, "__", void 0);
8518
8563
  __decorate([
8519
8564
  resizeType(100)
8520
- ], Canvas.prototype, "width", undefined);
8565
+ ], Canvas.prototype, "width", void 0);
8521
8566
  __decorate([
8522
8567
  resizeType(100)
8523
- ], Canvas.prototype, "height", undefined);
8568
+ ], Canvas.prototype, "height", void 0);
8524
8569
  __decorate([
8525
8570
  resizeType(1)
8526
- ], Canvas.prototype, "pixelRatio", undefined);
8571
+ ], Canvas.prototype, "pixelRatio", void 0);
8527
8572
  __decorate([
8528
8573
  resizeType(true)
8529
- ], Canvas.prototype, "smooth", undefined);
8574
+ ], Canvas.prototype, "smooth", void 0);
8530
8575
  __decorate([
8531
8576
  dataType(false)
8532
- ], Canvas.prototype, "safeResize", undefined);
8577
+ ], Canvas.prototype, "safeResize", void 0);
8533
8578
  __decorate([
8534
8579
  resizeType()
8535
- ], Canvas.prototype, "contextSettings", undefined);
8580
+ ], Canvas.prototype, "contextSettings", void 0);
8536
8581
  Canvas = __decorate([
8537
8582
  registerUI()
8538
8583
  ], Canvas);
@@ -8623,76 +8668,76 @@ let Text = class Text extends UI {
8623
8668
  };
8624
8669
  __decorate([
8625
8670
  dataProcessor(TextData)
8626
- ], Text.prototype, "__", undefined);
8671
+ ], Text.prototype, "__", void 0);
8627
8672
  __decorate([
8628
8673
  boundsType(0)
8629
- ], Text.prototype, "width", undefined);
8674
+ ], Text.prototype, "width", void 0);
8630
8675
  __decorate([
8631
8676
  boundsType(0)
8632
- ], Text.prototype, "height", undefined);
8677
+ ], Text.prototype, "height", void 0);
8633
8678
  __decorate([
8634
8679
  dataType(false)
8635
- ], Text.prototype, "resizeFontSize", undefined);
8680
+ ], Text.prototype, "resizeFontSize", void 0);
8636
8681
  __decorate([
8637
8682
  surfaceType('#000000')
8638
- ], Text.prototype, "fill", undefined);
8683
+ ], Text.prototype, "fill", void 0);
8639
8684
  __decorate([
8640
8685
  affectStrokeBoundsType('outside')
8641
- ], Text.prototype, "strokeAlign", undefined);
8686
+ ], Text.prototype, "strokeAlign", void 0);
8642
8687
  __decorate([
8643
8688
  hitType('all')
8644
- ], Text.prototype, "hitFill", undefined);
8689
+ ], Text.prototype, "hitFill", void 0);
8645
8690
  __decorate([
8646
8691
  boundsType('')
8647
- ], Text.prototype, "text", undefined);
8692
+ ], Text.prototype, "text", void 0);
8648
8693
  __decorate([
8649
8694
  boundsType('caption')
8650
- ], Text.prototype, "fontFamily", undefined);
8695
+ ], Text.prototype, "fontFamily", void 0);
8651
8696
  __decorate([
8652
8697
  boundsType(12)
8653
- ], Text.prototype, "fontSize", undefined);
8698
+ ], Text.prototype, "fontSize", void 0);
8654
8699
  __decorate([
8655
8700
  boundsType('normal')
8656
- ], Text.prototype, "fontWeight", undefined);
8701
+ ], Text.prototype, "fontWeight", void 0);
8657
8702
  __decorate([
8658
8703
  boundsType(false)
8659
- ], Text.prototype, "italic", undefined);
8704
+ ], Text.prototype, "italic", void 0);
8660
8705
  __decorate([
8661
8706
  boundsType('none')
8662
- ], Text.prototype, "textCase", undefined);
8707
+ ], Text.prototype, "textCase", void 0);
8663
8708
  __decorate([
8664
8709
  boundsType('none')
8665
- ], Text.prototype, "textDecoration", undefined);
8710
+ ], Text.prototype, "textDecoration", void 0);
8666
8711
  __decorate([
8667
8712
  boundsType(0)
8668
- ], Text.prototype, "letterSpacing", undefined);
8713
+ ], Text.prototype, "letterSpacing", void 0);
8669
8714
  __decorate([
8670
8715
  boundsType({ type: 'percent', value: 1.5 })
8671
- ], Text.prototype, "lineHeight", undefined);
8716
+ ], Text.prototype, "lineHeight", void 0);
8672
8717
  __decorate([
8673
8718
  boundsType(0)
8674
- ], Text.prototype, "paraIndent", undefined);
8719
+ ], Text.prototype, "paraIndent", void 0);
8675
8720
  __decorate([
8676
8721
  boundsType(0)
8677
- ], Text.prototype, "paraSpacing", undefined);
8722
+ ], Text.prototype, "paraSpacing", void 0);
8678
8723
  __decorate([
8679
8724
  boundsType('x')
8680
- ], Text.prototype, "writingMode", undefined);
8725
+ ], Text.prototype, "writingMode", void 0);
8681
8726
  __decorate([
8682
8727
  boundsType('left')
8683
- ], Text.prototype, "textAlign", undefined);
8728
+ ], Text.prototype, "textAlign", void 0);
8684
8729
  __decorate([
8685
8730
  boundsType('top')
8686
- ], Text.prototype, "verticalAlign", undefined);
8731
+ ], Text.prototype, "verticalAlign", void 0);
8687
8732
  __decorate([
8688
8733
  boundsType(true)
8689
- ], Text.prototype, "autoSizeAlign", undefined);
8734
+ ], Text.prototype, "autoSizeAlign", void 0);
8690
8735
  __decorate([
8691
8736
  boundsType('normal')
8692
- ], Text.prototype, "textWrap", undefined);
8737
+ ], Text.prototype, "textWrap", void 0);
8693
8738
  __decorate([
8694
8739
  boundsType('show')
8695
- ], Text.prototype, "textOverflow", undefined);
8740
+ ], Text.prototype, "textOverflow", void 0);
8696
8741
  Text = __decorate([
8697
8742
  registerUI()
8698
8743
  ], Text);
@@ -8705,10 +8750,10 @@ let Path = class Path extends UI {
8705
8750
  };
8706
8751
  __decorate([
8707
8752
  dataProcessor(PathData)
8708
- ], Path.prototype, "__", undefined);
8753
+ ], Path.prototype, "__", void 0);
8709
8754
  __decorate([
8710
8755
  affectStrokeBoundsType('center')
8711
- ], Path.prototype, "strokeAlign", undefined);
8756
+ ], Path.prototype, "strokeAlign", void 0);
8712
8757
  Path = __decorate([
8713
8758
  registerUI()
8714
8759
  ], Path);
@@ -8747,10 +8792,10 @@ let Pen = class Pen extends Group {
8747
8792
  };
8748
8793
  __decorate([
8749
8794
  dataProcessor(PenData)
8750
- ], Pen.prototype, "__", undefined);
8795
+ ], Pen.prototype, "__", void 0);
8751
8796
  __decorate([
8752
8797
  penPathType()
8753
- ], Pen.prototype, "path", undefined);
8798
+ ], Pen.prototype, "path", void 0);
8754
8799
  Pen = __decorate([
8755
8800
  useModule(PathCreator, ['set', 'path', 'paint']),
8756
8801
  registerUI()
@@ -8986,7 +9031,7 @@ let DragEvent = class DragEvent extends PointerEvent {
8986
9031
  const { draggable, dragBounds } = leaf, move = leaf.getLocalPoint(total, null, true);
8987
9032
  PointHelper.move(move, start.x - leaf.x, start.y - leaf.y);
8988
9033
  if (dragBounds)
8989
- this.getMoveInDragBounds(leaf.__local, dragBounds === 'parent' ? leaf.parent.boxBounds : dragBounds, move, true);
9034
+ this.getMoveInDragBounds(leaf.__localBoxBounds, dragBounds === 'parent' ? leaf.parent.boxBounds : dragBounds, move, true);
8990
9035
  if (draggable === 'x')
8991
9036
  move.y = 0;
8992
9037
  if (draggable === 'y')
@@ -9689,7 +9734,9 @@ class InteractionBase {
9689
9734
  }
9690
9735
  findPath(data, options) {
9691
9736
  const { hitRadius, through } = this.p;
9692
- const { bottomList } = this;
9737
+ const { bottomList, target } = this;
9738
+ if (!Platform.backgrounder && !data.origin)
9739
+ target && target.updateLayout();
9693
9740
  const find = this.selector.getByPoint(data, hitRadius, Object.assign({ bottomList, name: data.type }, (options || { through })));
9694
9741
  if (find.throughPath)
9695
9742
  data.throughPath = find.throughPath;
@@ -9934,9 +9981,9 @@ leaf.__hitWorld = function (point) {
9934
9981
  }
9935
9982
  return this.__hit(inner);
9936
9983
  };
9937
- leaf.__hitFill = function (inner) { var _a; return (_a = this.__hitCanvas) === null || _a === undefined ? undefined : _a.hitFill(inner, this.__.windingRule); };
9938
- leaf.__hitStroke = function (inner, strokeWidth) { var _a; return (_a = this.__hitCanvas) === null || _a === undefined ? undefined : _a.hitStroke(inner, strokeWidth); };
9939
- leaf.__hitPixel = function (inner) { var _a; return (_a = this.__hitCanvas) === null || _a === undefined ? undefined : _a.hitPixel(inner, this.__layout.renderBounds, this.__hitCanvas.hitScale); };
9984
+ leaf.__hitFill = function (inner) { var _a; return (_a = this.__hitCanvas) === null || _a === void 0 ? void 0 : _a.hitFill(inner, this.__.windingRule); };
9985
+ leaf.__hitStroke = function (inner, strokeWidth) { var _a; return (_a = this.__hitCanvas) === null || _a === void 0 ? void 0 : _a.hitStroke(inner, strokeWidth); };
9986
+ leaf.__hitPixel = function (inner) { var _a; return (_a = this.__hitCanvas) === null || _a === void 0 ? void 0 : _a.hitPixel(inner, this.__layout.renderBounds, this.__hitCanvas.hitScale); };
9940
9987
  leaf.__drawHitPath = function (canvas) { if (canvas)
9941
9988
  this.__drawRenderPath(canvas); };
9942
9989
 
@@ -10024,8 +10071,8 @@ function getSelector(ui) {
10024
10071
  return ui.leafer ? ui.leafer.selector : (Platform.selector || (Platform.selector = Creator.selector()));
10025
10072
  }
10026
10073
  Group.prototype.pick = function (hitPoint, options) {
10027
- this.leafer || this.updateLayout();
10028
10074
  options || (options = emptyData);
10075
+ this.updateLayout();
10029
10076
  return getSelector(this).getByPoint(hitPoint, options.hitRadius || 0, Object.assign(Object.assign({}, options), { target: this }));
10030
10077
  };
10031
10078
 
@@ -10409,7 +10456,7 @@ function getPatternData(paint, box, image) {
10409
10456
  box = tempBox.set(box).shrink(paint.padding);
10410
10457
  if (paint.mode === 'strench')
10411
10458
  paint.mode = 'stretch';
10412
- const { opacity, mode, align, offset, scale, size, rotation, repeat } = paint;
10459
+ const { opacity, mode, align, offset, scale, size, rotation, repeat, filters } = paint;
10413
10460
  const sameBox = box.width === width && box.height === height;
10414
10461
  const data = { mode };
10415
10462
  const swapSize = align !== 'center' && (rotation || 0) % 180 === 90;
@@ -10472,6 +10519,8 @@ function getPatternData(paint, box, image) {
10472
10519
  data.height = height;
10473
10520
  if (opacity)
10474
10521
  data.opacity = opacity;
10522
+ if (filters)
10523
+ data.filters = filters;
10475
10524
  if (repeat)
10476
10525
  data.repeat = typeof repeat === 'string' ? (repeat === 'x' ? 'repeat-x' : 'repeat-y') : 'repeat';
10477
10526
  return data;
@@ -10574,7 +10623,7 @@ function createPattern(ui, paint, pixelRatio) {
10574
10623
  scaleX = abs$1(scaleX);
10575
10624
  scaleY = abs$1(scaleY);
10576
10625
  const { image, data } = paint;
10577
- let imageScale, imageMatrix, { width, height, scaleX: sx, scaleY: sy, opacity, transform, repeat } = data;
10626
+ let imageScale, imageMatrix, { width, height, scaleX: sx, scaleY: sy, transform, repeat } = data;
10578
10627
  if (sx) {
10579
10628
  imageMatrix = get$1();
10580
10629
  copy$1(imageMatrix, transform);
@@ -10617,7 +10666,7 @@ function createPattern(ui, paint, pixelRatio) {
10617
10666
  }
10618
10667
  scale(imageMatrix, 1 / scaleX, 1 / scaleY);
10619
10668
  }
10620
- const canvas = image.getCanvas(ceil(width) || 1, ceil(height) || 1, opacity);
10669
+ const canvas = image.getCanvas(ceil(width) || 1, ceil(height) || 1, data.opacity, data.filters);
10621
10670
  const pattern = image.getPattern(canvas, repeat || (Platform.origin.noRepeat || 'no-repeat'), imageMatrix, paint);
10622
10671
  paint.style = pattern;
10623
10672
  paint.patternId = id;
@@ -10661,7 +10710,7 @@ function checkImage(ui, canvas, paint, allowPaint) {
10661
10710
  canvas.opacity *= data.opacity;
10662
10711
  if (data.transform)
10663
10712
  canvas.transform(data.transform);
10664
- canvas.drawImage(paint.image.view, 0, 0, data.width, data.height);
10713
+ canvas.drawImage(paint.image.getFull(data.filters), 0, 0, data.width, data.height);
10665
10714
  canvas.restore();
10666
10715
  return true;
10667
10716
  }
@@ -10671,7 +10720,7 @@ function checkImage(ui, canvas, paint, allowPaint) {
10671
10720
  }
10672
10721
  else {
10673
10722
  if (!paint.patternTask) {
10674
- paint.patternTask = ImageManager.patternTasker.add(() => __awaiter(this, undefined, undefined, function* () {
10723
+ paint.patternTask = ImageManager.patternTasker.add(() => __awaiter(this, void 0, void 0, function* () {
10675
10724
  paint.patternTask = null;
10676
10725
  if (canvas.bounds.hit(ui.__nowWorld))
10677
10726
  createPattern(ui, paint, pixelRatio);
@@ -11543,5 +11592,5 @@ Object.assign(Creator, {
11543
11592
  });
11544
11593
  useCanvas();
11545
11594
 
11546
- export { AlignHelper, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragEvent, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Frame, FrameData, Group, GroupData, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MyDragEvent, MyImage, MyPointerEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, ZoomEvent, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, doBoundsType, doStrokeType, effectType, emptyData, eraserType, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isNull, layoutProcessor, maskType, naturalBoundsType, opacityType, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, sortType, strokeType, surfaceType, tempBounds$1 as tempBounds, tempMatrix, tempPoint$3 as tempPoint, useCanvas, useModule, version, visibleType, zoomLayerType };
11595
+ export { AlignHelper, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragEvent, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, Frame, FrameData, Group, GroupData, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MyDragEvent, MyImage, MyPointerEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, ZoomEvent, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, doBoundsType, doStrokeType, effectType, emptyData, eraserType, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isNull, layoutProcessor, maskType, naturalBoundsType, opacityType, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, sortType, strokeType, surfaceType, tempBounds$1 as tempBounds, tempMatrix, tempPoint$3 as tempPoint, useCanvas, useModule, version, visibleType, zoomLayerType };
11547
11596
  //# sourceMappingURL=worker.module.js.map