leafer-ui 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$f = Debug.get('RunTime');
1377
+ const debug$g = 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$f.log(name, duration, 'ms');
1394
+ R$1.idMap[id] = R$1.nameMap[id] = R$1.nameToIdMap[name] = undefined;
1395
+ debug$g.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$e = Debug.get('UICreator');
1424
+ const debug$f = 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$e.repeat(tag);
1430
+ debug$f.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$e.error('not register ' + tag);
1435
+ debug$f.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$d = Debug.get('EventCreator');
1451
+ const debug$e = 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$d.repeat(name), nameList[name] = Event;
1459
+ nameList[name] && debug$e.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$c = Debug.get('PathConvert');
2615
+ const debug$d = 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$c.error(`command: ${command} [index:${i}]`, old);
2856
+ debug$d.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$b = Debug.get('PathDrawer');
3079
+ const debug$c = 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$b.error(`command: ${command} [index:${i}]`, data);
3142
+ debug$c.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$a = Debug.get('PathBounds');
3152
+ const debug$b = 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$a.error(`command: ${command} [index:${i}]`, data);
3260
+ debug$b.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$9 = Debug.get('TaskProcessor');
3376
+ const debug$a = 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$9.error(error);
3391
+ debug$a.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$9 = 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$9.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
  const debug$5 = Debug.get('LeaferCanvas');
6018
6058
  class LeaferCanvas extends LeaferCanvasBase {
@@ -6269,7 +6309,7 @@ if (userAgent.indexOf("Firefox") > -1) {
6269
6309
  Platform.intWheelDeltaY = true;
6270
6310
  Platform.syncDomFont = true;
6271
6311
  }
6272
- else if (userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") === -1) {
6312
+ else if (userAgent.indexOf("AppleWebKit") > -1) {
6273
6313
  Platform.fullImageShadow = true;
6274
6314
  }
6275
6315
  if (userAgent.indexOf('Windows') > -1) {
@@ -6538,7 +6578,7 @@ class Layouter {
6538
6578
  }
6539
6579
  partLayout() {
6540
6580
  var _a;
6541
- if (!((_a = this.__updatedList) === null || _a === undefined ? undefined : _a.length))
6581
+ if (!((_a = this.__updatedList) === null || _a === void 0 ? void 0 : _a.length))
6542
6582
  return;
6543
6583
  const t = Run.start('PartLayout');
6544
6584
  const { target, __updatedList: updateList } = this;
@@ -7003,9 +7043,10 @@ class Selector {
7003
7043
  this.finder = Creator.finder && Creator.finder();
7004
7044
  }
7005
7045
  getByPoint(hitPoint, hitRadius, options) {
7006
- if (Platform.backgrounder && this.target)
7007
- this.target.updateLayout();
7008
- return this.picker.getByPoint(hitPoint, hitRadius, options);
7046
+ const { target, picker } = this;
7047
+ if (Platform.backgrounder)
7048
+ target && target.updateLayout();
7049
+ return picker.getByPoint(hitPoint, hitRadius, options);
7009
7050
  }
7010
7051
  getBy(condition, branch, one, options) {
7011
7052
  return this.finder ? this.finder.getBy(condition, branch, one, options) : Plugin.need('find');
@@ -7063,9 +7104,7 @@ const TextConvert = {};
7063
7104
  const ColorConvert = {};
7064
7105
  const UnitConvert = {
7065
7106
  number(value, percentRefer) {
7066
- if (typeof value === 'object')
7067
- return value.type === 'percent' ? value.value * percentRefer : value.value;
7068
- return value;
7107
+ return typeof value === 'object' ? (value.type === 'percent' ? value.value * percentRefer : value.value) : value;
7069
7108
  }
7070
7109
  };
7071
7110
  const PathArrow = {};
@@ -7073,16 +7112,15 @@ const Paint = {};
7073
7112
  const PaintImage = {};
7074
7113
  const PaintGradient = {};
7075
7114
  const Effect = {};
7115
+ const Filter = {
7116
+ apply() { Plugin.need('filter'); }
7117
+ };
7076
7118
  const Export = {};
7077
7119
  const State = {
7078
- setStyleName(_leaf, _styleName, _value) { return Plugin.need('state'); },
7079
- set(_leaf, _stateName) { return Plugin.need('state'); }
7080
- };
7081
- const Transition = {
7082
- list: {},
7083
- register(attrName, fn) { Transition.list[attrName] = fn; },
7084
- get(attrName) { return Transition.list[attrName]; }
7120
+ setStyleName() { return Plugin.need('state'); },
7121
+ set() { return Plugin.need('state'); }
7085
7122
  };
7123
+ const Transition = {};
7086
7124
 
7087
7125
  const { parse, objectToCanvasData } = PathConvert;
7088
7126
  const emptyPaint = {};
@@ -7189,24 +7227,13 @@ class UIData extends LeafData {
7189
7227
  }
7190
7228
  }
7191
7229
  setShadow(value) {
7192
- this.__setInput('shadow', value);
7193
- if (value instanceof Array) {
7194
- if (value.some((item) => item.visible === false))
7195
- value = value.filter((item) => item.visible !== false);
7196
- this._shadow = value.length ? value : null;
7197
- }
7198
- else
7199
- this._shadow = value && value.visible !== false ? [value] : null;
7230
+ setArray(this, 'shadow', value);
7200
7231
  }
7201
7232
  setInnerShadow(value) {
7202
- this.__setInput('innerShadow', value);
7203
- if (value instanceof Array) {
7204
- if (value.some((item) => item.visible === false))
7205
- value = value.filter((item) => item.visible !== false);
7206
- this._innerShadow = value.length ? value : null;
7207
- }
7208
- else
7209
- this._innerShadow = value && value.visible !== false ? [value] : null;
7233
+ setArray(this, 'innerShadow', value);
7234
+ }
7235
+ setFilter(value) {
7236
+ setArray(this, 'filter', value);
7210
7237
  }
7211
7238
  __computePaint() {
7212
7239
  const { fill, stroke } = this.__input;
@@ -7217,6 +7244,17 @@ class UIData extends LeafData {
7217
7244
  this.__needComputePaint = false;
7218
7245
  }
7219
7246
  }
7247
+ function setArray(data, key, value) {
7248
+ data.__setInput(key, value);
7249
+ if (value instanceof Array) {
7250
+ if (value.some((item) => item.visible === false))
7251
+ value = value.filter((item) => item.visible !== false);
7252
+ value.length || (value = null);
7253
+ }
7254
+ else
7255
+ value = value && value.visible !== false ? [value] : null;
7256
+ data['_' + key] = value;
7257
+ }
7220
7258
 
7221
7259
  class GroupData extends UIData {
7222
7260
  }
@@ -7339,11 +7377,13 @@ const UIBounds = {
7339
7377
  },
7340
7378
  __updateRenderSpread() {
7341
7379
  let width = 0;
7342
- const { shadow, innerShadow, blur, backgroundBlur } = this.__;
7380
+ const { shadow, innerShadow, blur, backgroundBlur, filter } = this.__;
7343
7381
  if (shadow)
7344
7382
  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));
7345
7383
  if (blur)
7346
7384
  width = Math.max(width, blur);
7385
+ if (filter)
7386
+ width += Filter.getSpread(filter);
7347
7387
  let shapeWidth = width = Math.ceil(width);
7348
7388
  if (innerShadow)
7349
7389
  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));
@@ -7358,8 +7398,8 @@ const UIRender = {
7358
7398
  __updateChange() {
7359
7399
  const data = this.__;
7360
7400
  if (data.__useEffect) {
7361
- const { shadow, innerShadow, blur, backgroundBlur } = this.__;
7362
- data.__useEffect = !!(shadow || innerShadow || blur || backgroundBlur);
7401
+ const { shadow, innerShadow, blur, backgroundBlur, filter } = this.__;
7402
+ data.__useEffect = !!(shadow || innerShadow || blur || backgroundBlur || filter);
7363
7403
  }
7364
7404
  data.__checkSingle();
7365
7405
  const complex = data.__isFills || data.__isStrokes || data.cornerRadius || data.__useEffect;
@@ -7373,7 +7413,7 @@ const UIRender = {
7373
7413
  __drawFast(canvas, options) {
7374
7414
  drawFast(this, canvas, options);
7375
7415
  },
7376
- __draw(canvas, options) {
7416
+ __draw(canvas, options, originCanvas) {
7377
7417
  const data = this.__;
7378
7418
  if (data.__complex) {
7379
7419
  if (data.__needComputePaint)
@@ -7383,7 +7423,7 @@ const UIRender = {
7383
7423
  if (data.__useEffect) {
7384
7424
  const shape = Paint.shape(this, canvas, options);
7385
7425
  this.__nowWorld = this.__getNowWorld(options);
7386
- const { shadow, innerShadow } = data;
7426
+ const { shadow, innerShadow, filter } = data;
7387
7427
  if (shadow)
7388
7428
  Effect.shadow(this, canvas, shape);
7389
7429
  if (fill)
@@ -7394,6 +7434,8 @@ const UIRender = {
7394
7434
  Effect.innerShadow(this, canvas, shape);
7395
7435
  if (stroke)
7396
7436
  data.__isStrokes ? Paint.strokes(stroke, this, canvas) : Paint.stroke(stroke, this, canvas);
7437
+ if (filter)
7438
+ Filter.apply(filter, this, this.__nowWorld, canvas, originCanvas, shape);
7397
7439
  if (shape.worldCanvas)
7398
7440
  shape.worldCanvas.recycle();
7399
7441
  shape.canvas.recycle();
@@ -7613,199 +7655,202 @@ let UI = UI_1 = class UI extends Leaf {
7613
7655
  };
7614
7656
  __decorate([
7615
7657
  dataProcessor(UIData)
7616
- ], UI.prototype, "__", undefined);
7658
+ ], UI.prototype, "__", void 0);
7617
7659
  __decorate([
7618
7660
  zoomLayerType()
7619
- ], UI.prototype, "zoomLayer", undefined);
7661
+ ], UI.prototype, "zoomLayer", void 0);
7620
7662
  __decorate([
7621
7663
  dataType('')
7622
- ], UI.prototype, "id", undefined);
7664
+ ], UI.prototype, "id", void 0);
7623
7665
  __decorate([
7624
7666
  dataType('')
7625
- ], UI.prototype, "name", undefined);
7667
+ ], UI.prototype, "name", void 0);
7626
7668
  __decorate([
7627
7669
  dataType('')
7628
- ], UI.prototype, "className", undefined);
7670
+ ], UI.prototype, "className", void 0);
7629
7671
  __decorate([
7630
7672
  surfaceType('pass-through')
7631
- ], UI.prototype, "blendMode", undefined);
7673
+ ], UI.prototype, "blendMode", void 0);
7632
7674
  __decorate([
7633
7675
  opacityType(1)
7634
- ], UI.prototype, "opacity", undefined);
7676
+ ], UI.prototype, "opacity", void 0);
7635
7677
  __decorate([
7636
7678
  visibleType(true)
7637
- ], UI.prototype, "visible", undefined);
7679
+ ], UI.prototype, "visible", void 0);
7638
7680
  __decorate([
7639
7681
  surfaceType(false)
7640
- ], UI.prototype, "locked", undefined);
7682
+ ], UI.prototype, "locked", void 0);
7641
7683
  __decorate([
7642
7684
  sortType(0)
7643
- ], UI.prototype, "zIndex", undefined);
7685
+ ], UI.prototype, "zIndex", void 0);
7644
7686
  __decorate([
7645
7687
  maskType(false)
7646
- ], UI.prototype, "mask", undefined);
7688
+ ], UI.prototype, "mask", void 0);
7647
7689
  __decorate([
7648
7690
  eraserType(false)
7649
- ], UI.prototype, "eraser", undefined);
7691
+ ], UI.prototype, "eraser", void 0);
7650
7692
  __decorate([
7651
7693
  positionType(0, true)
7652
- ], UI.prototype, "x", undefined);
7694
+ ], UI.prototype, "x", void 0);
7653
7695
  __decorate([
7654
7696
  positionType(0, true)
7655
- ], UI.prototype, "y", undefined);
7697
+ ], UI.prototype, "y", void 0);
7656
7698
  __decorate([
7657
7699
  boundsType(100, true)
7658
- ], UI.prototype, "width", undefined);
7700
+ ], UI.prototype, "width", void 0);
7659
7701
  __decorate([
7660
7702
  boundsType(100, true)
7661
- ], UI.prototype, "height", undefined);
7703
+ ], UI.prototype, "height", void 0);
7662
7704
  __decorate([
7663
7705
  scaleType(1, true)
7664
- ], UI.prototype, "scaleX", undefined);
7706
+ ], UI.prototype, "scaleX", void 0);
7665
7707
  __decorate([
7666
7708
  scaleType(1, true)
7667
- ], UI.prototype, "scaleY", undefined);
7709
+ ], UI.prototype, "scaleY", void 0);
7668
7710
  __decorate([
7669
7711
  rotationType(0, true)
7670
- ], UI.prototype, "rotation", undefined);
7712
+ ], UI.prototype, "rotation", void 0);
7671
7713
  __decorate([
7672
7714
  rotationType(0, true)
7673
- ], UI.prototype, "skewX", undefined);
7715
+ ], UI.prototype, "skewX", void 0);
7674
7716
  __decorate([
7675
7717
  rotationType(0, true)
7676
- ], UI.prototype, "skewY", undefined);
7718
+ ], UI.prototype, "skewY", void 0);
7677
7719
  __decorate([
7678
7720
  positionType(0, true)
7679
- ], UI.prototype, "offsetX", undefined);
7721
+ ], UI.prototype, "offsetX", void 0);
7680
7722
  __decorate([
7681
7723
  positionType(0, true)
7682
- ], UI.prototype, "offsetY", undefined);
7724
+ ], UI.prototype, "offsetY", void 0);
7683
7725
  __decorate([
7684
7726
  positionType(0, true)
7685
- ], UI.prototype, "scrollX", undefined);
7727
+ ], UI.prototype, "scrollX", void 0);
7686
7728
  __decorate([
7687
7729
  positionType(0, true)
7688
- ], UI.prototype, "scrollY", undefined);
7730
+ ], UI.prototype, "scrollY", void 0);
7689
7731
  __decorate([
7690
7732
  autoLayoutType()
7691
- ], UI.prototype, "origin", undefined);
7733
+ ], UI.prototype, "origin", void 0);
7692
7734
  __decorate([
7693
7735
  autoLayoutType()
7694
- ], UI.prototype, "around", undefined);
7736
+ ], UI.prototype, "around", void 0);
7695
7737
  __decorate([
7696
7738
  dataType(false)
7697
- ], UI.prototype, "lazy", undefined);
7739
+ ], UI.prototype, "lazy", void 0);
7698
7740
  __decorate([
7699
7741
  naturalBoundsType(1)
7700
- ], UI.prototype, "pixelRatio", undefined);
7742
+ ], UI.prototype, "pixelRatio", void 0);
7701
7743
  __decorate([
7702
7744
  pathInputType()
7703
- ], UI.prototype, "path", undefined);
7745
+ ], UI.prototype, "path", void 0);
7704
7746
  __decorate([
7705
7747
  pathType()
7706
- ], UI.prototype, "windingRule", undefined);
7748
+ ], UI.prototype, "windingRule", void 0);
7707
7749
  __decorate([
7708
7750
  pathType(true)
7709
- ], UI.prototype, "closed", undefined);
7751
+ ], UI.prototype, "closed", void 0);
7710
7752
  __decorate([
7711
7753
  boundsType(0)
7712
- ], UI.prototype, "padding", undefined);
7754
+ ], UI.prototype, "padding", void 0);
7713
7755
  __decorate([
7714
7756
  boundsType(false)
7715
- ], UI.prototype, "lockRatio", undefined);
7757
+ ], UI.prototype, "lockRatio", void 0);
7716
7758
  __decorate([
7717
7759
  boundsType()
7718
- ], UI.prototype, "widthRange", undefined);
7760
+ ], UI.prototype, "widthRange", void 0);
7719
7761
  __decorate([
7720
7762
  boundsType()
7721
- ], UI.prototype, "heightRange", undefined);
7763
+ ], UI.prototype, "heightRange", void 0);
7722
7764
  __decorate([
7723
7765
  dataType(false)
7724
- ], UI.prototype, "draggable", undefined);
7766
+ ], UI.prototype, "draggable", void 0);
7725
7767
  __decorate([
7726
7768
  dataType()
7727
- ], UI.prototype, "dragBounds", undefined);
7769
+ ], UI.prototype, "dragBounds", void 0);
7728
7770
  __decorate([
7729
7771
  dataType(false)
7730
- ], UI.prototype, "editable", undefined);
7772
+ ], UI.prototype, "editable", void 0);
7731
7773
  __decorate([
7732
7774
  hitType(true)
7733
- ], UI.prototype, "hittable", undefined);
7775
+ ], UI.prototype, "hittable", void 0);
7734
7776
  __decorate([
7735
7777
  hitType('path')
7736
- ], UI.prototype, "hitFill", undefined);
7778
+ ], UI.prototype, "hitFill", void 0);
7737
7779
  __decorate([
7738
7780
  strokeType('path')
7739
- ], UI.prototype, "hitStroke", undefined);
7781
+ ], UI.prototype, "hitStroke", void 0);
7740
7782
  __decorate([
7741
7783
  hitType(false)
7742
- ], UI.prototype, "hitBox", undefined);
7784
+ ], UI.prototype, "hitBox", void 0);
7743
7785
  __decorate([
7744
7786
  hitType(true)
7745
- ], UI.prototype, "hitChildren", undefined);
7787
+ ], UI.prototype, "hitChildren", void 0);
7746
7788
  __decorate([
7747
7789
  hitType(true)
7748
- ], UI.prototype, "hitSelf", undefined);
7790
+ ], UI.prototype, "hitSelf", void 0);
7749
7791
  __decorate([
7750
7792
  hitType()
7751
- ], UI.prototype, "hitRadius", undefined);
7793
+ ], UI.prototype, "hitRadius", void 0);
7752
7794
  __decorate([
7753
7795
  cursorType('')
7754
- ], UI.prototype, "cursor", undefined);
7796
+ ], UI.prototype, "cursor", void 0);
7755
7797
  __decorate([
7756
7798
  surfaceType()
7757
- ], UI.prototype, "fill", undefined);
7799
+ ], UI.prototype, "fill", void 0);
7758
7800
  __decorate([
7759
7801
  strokeType()
7760
- ], UI.prototype, "stroke", undefined);
7802
+ ], UI.prototype, "stroke", void 0);
7761
7803
  __decorate([
7762
7804
  strokeType('inside')
7763
- ], UI.prototype, "strokeAlign", undefined);
7805
+ ], UI.prototype, "strokeAlign", void 0);
7764
7806
  __decorate([
7765
7807
  strokeType(1)
7766
- ], UI.prototype, "strokeWidth", undefined);
7808
+ ], UI.prototype, "strokeWidth", void 0);
7767
7809
  __decorate([
7768
7810
  strokeType(false)
7769
- ], UI.prototype, "strokeWidthFixed", undefined);
7811
+ ], UI.prototype, "strokeWidthFixed", void 0);
7770
7812
  __decorate([
7771
7813
  strokeType('none')
7772
- ], UI.prototype, "strokeCap", undefined);
7814
+ ], UI.prototype, "strokeCap", void 0);
7773
7815
  __decorate([
7774
7816
  strokeType('miter')
7775
- ], UI.prototype, "strokeJoin", undefined);
7817
+ ], UI.prototype, "strokeJoin", void 0);
7776
7818
  __decorate([
7777
7819
  strokeType()
7778
- ], UI.prototype, "dashPattern", undefined);
7820
+ ], UI.prototype, "dashPattern", void 0);
7779
7821
  __decorate([
7780
7822
  strokeType()
7781
- ], UI.prototype, "dashOffset", undefined);
7823
+ ], UI.prototype, "dashOffset", void 0);
7782
7824
  __decorate([
7783
7825
  strokeType(10)
7784
- ], UI.prototype, "miterLimit", undefined);
7826
+ ], UI.prototype, "miterLimit", void 0);
7785
7827
  __decorate([
7786
7828
  pathType(0)
7787
- ], UI.prototype, "cornerRadius", undefined);
7829
+ ], UI.prototype, "cornerRadius", void 0);
7788
7830
  __decorate([
7789
7831
  pathType()
7790
- ], UI.prototype, "cornerSmoothing", undefined);
7832
+ ], UI.prototype, "cornerSmoothing", void 0);
7833
+ __decorate([
7834
+ effectType()
7835
+ ], UI.prototype, "shadow", void 0);
7791
7836
  __decorate([
7792
7837
  effectType()
7793
- ], UI.prototype, "shadow", undefined);
7838
+ ], UI.prototype, "innerShadow", void 0);
7794
7839
  __decorate([
7795
7840
  effectType()
7796
- ], UI.prototype, "innerShadow", undefined);
7841
+ ], UI.prototype, "blur", void 0);
7797
7842
  __decorate([
7798
7843
  effectType()
7799
- ], UI.prototype, "blur", undefined);
7844
+ ], UI.prototype, "backgroundBlur", void 0);
7800
7845
  __decorate([
7801
7846
  effectType()
7802
- ], UI.prototype, "backgroundBlur", undefined);
7847
+ ], UI.prototype, "grayscale", void 0);
7803
7848
  __decorate([
7804
7849
  effectType()
7805
- ], UI.prototype, "grayscale", undefined);
7850
+ ], UI.prototype, "filter", void 0);
7806
7851
  __decorate([
7807
7852
  dataType({})
7808
- ], UI.prototype, "data", undefined);
7853
+ ], UI.prototype, "data", void 0);
7809
7854
  __decorate([
7810
7855
  rewrite(Leaf.prototype.reset)
7811
7856
  ], UI.prototype, "reset", null);
@@ -7866,7 +7911,7 @@ let Group = class Group extends UI {
7866
7911
  };
7867
7912
  __decorate([
7868
7913
  dataProcessor(GroupData)
7869
- ], Group.prototype, "__", undefined);
7914
+ ], Group.prototype, "__", void 0);
7870
7915
  Group = __decorate([
7871
7916
  useModule(Branch),
7872
7917
  registerUI()
@@ -7879,7 +7924,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
7879
7924
  get isApp() { return false; }
7880
7925
  get app() { return this.parent || this; }
7881
7926
  get isLeafer() { return true; }
7882
- get imageReady() { return this.viewReady && ImageManager.isComplete; }
7927
+ get imageReady() { return this.viewReady && Resource.isComplete; }
7883
7928
  get layoutLocked() { return !this.layouter.running; }
7884
7929
  get FPS() { return this.renderer ? this.renderer.FPS : 60; }
7885
7930
  get cursorPoint() { return (this.interaction && this.interaction.hoverData) || { x: this.width / 2, y: this.height / 2 }; }
@@ -8090,13 +8135,13 @@ let Leafer = Leafer_1 = class Leafer extends Group {
8090
8135
  WaitHelper.run(this.__viewReadyWait);
8091
8136
  }
8092
8137
  __onLayoutEnd() {
8093
- const { grow, growWidth, growHeight } = this.config;
8138
+ const { grow, width: fixedWidth, height: fixedHeight } = this.config;
8094
8139
  if (grow) {
8095
8140
  let { width, height, pixelRatio } = this;
8096
8141
  const bounds = grow === 'box' ? this.worldBoxBounds : this.__world;
8097
- if (growWidth !== false)
8142
+ if (!fixedWidth)
8098
8143
  width = Math.max(1, bounds.x + bounds.width);
8099
- if (growHeight !== false)
8144
+ if (!fixedHeight)
8100
8145
  height = Math.max(1, bounds.y + bounds.height);
8101
8146
  this.__doResize({ width, height, pixelRatio });
8102
8147
  }
@@ -8174,7 +8219,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
8174
8219
  list.push(item);
8175
8220
  this.requestRender();
8176
8221
  }
8177
- zoom(_zoomType, _padding, _fixedScale) {
8222
+ zoom(_zoomType, _padding, _fixedScale, _transition) {
8178
8223
  return Plugin.need('view');
8179
8224
  }
8180
8225
  getValidMove(moveX, moveY) { return { x: moveX, y: moveY }; }
@@ -8239,10 +8284,10 @@ let Leafer = Leafer_1 = class Leafer extends Group {
8239
8284
  Leafer.list = new LeafList();
8240
8285
  __decorate([
8241
8286
  dataProcessor(LeaferData)
8242
- ], Leafer.prototype, "__", undefined);
8287
+ ], Leafer.prototype, "__", void 0);
8243
8288
  __decorate([
8244
8289
  boundsType()
8245
- ], Leafer.prototype, "pixelRatio", undefined);
8290
+ ], Leafer.prototype, "pixelRatio", void 0);
8246
8291
  Leafer = Leafer_1 = __decorate([
8247
8292
  registerUI()
8248
8293
  ], Leafer);
@@ -8255,7 +8300,7 @@ let Rect = class Rect extends UI {
8255
8300
  };
8256
8301
  __decorate([
8257
8302
  dataProcessor(RectData)
8258
- ], Rect.prototype, "__", undefined);
8303
+ ], Rect.prototype, "__", void 0);
8259
8304
  Rect = __decorate([
8260
8305
  useModule(RectRender),
8261
8306
  rewriteAble(),
@@ -8346,13 +8391,13 @@ let Box = class Box extends Group {
8346
8391
  };
8347
8392
  __decorate([
8348
8393
  dataProcessor(BoxData)
8349
- ], Box.prototype, "__", undefined);
8394
+ ], Box.prototype, "__", void 0);
8350
8395
  __decorate([
8351
8396
  dataType(false)
8352
- ], Box.prototype, "resizeChildren", undefined);
8397
+ ], Box.prototype, "resizeChildren", void 0);
8353
8398
  __decorate([
8354
8399
  affectRenderBoundsType('show')
8355
- ], Box.prototype, "overflow", undefined);
8400
+ ], Box.prototype, "overflow", void 0);
8356
8401
  __decorate([
8357
8402
  rewrite(rect$1.__updateStrokeSpread)
8358
8403
  ], Box.prototype, "__updateStrokeSpread", null);
@@ -8391,13 +8436,13 @@ let Frame = class Frame extends Box {
8391
8436
  };
8392
8437
  __decorate([
8393
8438
  dataProcessor(FrameData)
8394
- ], Frame.prototype, "__", undefined);
8439
+ ], Frame.prototype, "__", void 0);
8395
8440
  __decorate([
8396
8441
  surfaceType('#FFFFFF')
8397
- ], Frame.prototype, "fill", undefined);
8442
+ ], Frame.prototype, "fill", void 0);
8398
8443
  __decorate([
8399
8444
  affectRenderBoundsType('hide')
8400
- ], Frame.prototype, "overflow", undefined);
8445
+ ], Frame.prototype, "overflow", void 0);
8401
8446
  Frame = __decorate([
8402
8447
  registerUI()
8403
8448
  ], Frame);
@@ -8444,16 +8489,16 @@ let Ellipse = class Ellipse extends UI {
8444
8489
  };
8445
8490
  __decorate([
8446
8491
  dataProcessor(EllipseData)
8447
- ], Ellipse.prototype, "__", undefined);
8492
+ ], Ellipse.prototype, "__", void 0);
8448
8493
  __decorate([
8449
8494
  pathType(0)
8450
- ], Ellipse.prototype, "innerRadius", undefined);
8495
+ ], Ellipse.prototype, "innerRadius", void 0);
8451
8496
  __decorate([
8452
8497
  pathType(0)
8453
- ], Ellipse.prototype, "startAngle", undefined);
8498
+ ], Ellipse.prototype, "startAngle", void 0);
8454
8499
  __decorate([
8455
8500
  pathType(0)
8456
- ], Ellipse.prototype, "endAngle", undefined);
8501
+ ], Ellipse.prototype, "endAngle", void 0);
8457
8502
  Ellipse = __decorate([
8458
8503
  registerUI()
8459
8504
  ], Ellipse);
@@ -8512,22 +8557,22 @@ let Line = class Line extends UI {
8512
8557
  };
8513
8558
  __decorate([
8514
8559
  dataProcessor(LineData)
8515
- ], Line.prototype, "__", undefined);
8560
+ ], Line.prototype, "__", void 0);
8516
8561
  __decorate([
8517
8562
  affectStrokeBoundsType('center')
8518
- ], Line.prototype, "strokeAlign", undefined);
8563
+ ], Line.prototype, "strokeAlign", void 0);
8519
8564
  __decorate([
8520
8565
  boundsType(0)
8521
- ], Line.prototype, "height", undefined);
8566
+ ], Line.prototype, "height", void 0);
8522
8567
  __decorate([
8523
8568
  pathType()
8524
- ], Line.prototype, "points", undefined);
8569
+ ], Line.prototype, "points", void 0);
8525
8570
  __decorate([
8526
8571
  pathType(0)
8527
- ], Line.prototype, "curve", undefined);
8572
+ ], Line.prototype, "curve", void 0);
8528
8573
  __decorate([
8529
8574
  pathType(false)
8530
- ], Line.prototype, "closed", undefined);
8575
+ ], Line.prototype, "closed", void 0);
8531
8576
  Line = __decorate([
8532
8577
  registerUI()
8533
8578
  ], Line);
@@ -8560,16 +8605,16 @@ let Polygon = class Polygon extends UI {
8560
8605
  };
8561
8606
  __decorate([
8562
8607
  dataProcessor(PolygonData)
8563
- ], Polygon.prototype, "__", undefined);
8608
+ ], Polygon.prototype, "__", void 0);
8564
8609
  __decorate([
8565
8610
  pathType(3)
8566
- ], Polygon.prototype, "sides", undefined);
8611
+ ], Polygon.prototype, "sides", void 0);
8567
8612
  __decorate([
8568
8613
  pathType()
8569
- ], Polygon.prototype, "points", undefined);
8614
+ ], Polygon.prototype, "points", void 0);
8570
8615
  __decorate([
8571
8616
  pathType(0)
8572
- ], Polygon.prototype, "curve", undefined);
8617
+ ], Polygon.prototype, "curve", void 0);
8573
8618
  __decorate([
8574
8619
  rewrite(line.__updateRenderPath)
8575
8620
  ], Polygon.prototype, "__updateRenderPath", null);
@@ -8601,13 +8646,13 @@ let Star = class Star extends UI {
8601
8646
  };
8602
8647
  __decorate([
8603
8648
  dataProcessor(StarData)
8604
- ], Star.prototype, "__", undefined);
8649
+ ], Star.prototype, "__", void 0);
8605
8650
  __decorate([
8606
8651
  pathType(5)
8607
- ], Star.prototype, "corners", undefined);
8652
+ ], Star.prototype, "corners", void 0);
8608
8653
  __decorate([
8609
8654
  pathType(0.382)
8610
- ], Star.prototype, "innerRadius", undefined);
8655
+ ], Star.prototype, "innerRadius", void 0);
8611
8656
  Star = __decorate([
8612
8657
  registerUI()
8613
8658
  ], Star);
@@ -8629,10 +8674,10 @@ let Image$1 = class Image extends Rect {
8629
8674
  };
8630
8675
  __decorate([
8631
8676
  dataProcessor(ImageData)
8632
- ], Image$1.prototype, "__", undefined);
8677
+ ], Image$1.prototype, "__", void 0);
8633
8678
  __decorate([
8634
8679
  boundsType('')
8635
- ], Image$1.prototype, "url", undefined);
8680
+ ], Image$1.prototype, "url", void 0);
8636
8681
  Image$1 = __decorate([
8637
8682
  registerUI()
8638
8683
  ], Image$1);
@@ -8695,25 +8740,25 @@ let Canvas = class Canvas extends Rect {
8695
8740
  };
8696
8741
  __decorate([
8697
8742
  dataProcessor(CanvasData)
8698
- ], Canvas.prototype, "__", undefined);
8743
+ ], Canvas.prototype, "__", void 0);
8699
8744
  __decorate([
8700
8745
  resizeType(100)
8701
- ], Canvas.prototype, "width", undefined);
8746
+ ], Canvas.prototype, "width", void 0);
8702
8747
  __decorate([
8703
8748
  resizeType(100)
8704
- ], Canvas.prototype, "height", undefined);
8749
+ ], Canvas.prototype, "height", void 0);
8705
8750
  __decorate([
8706
8751
  resizeType(1)
8707
- ], Canvas.prototype, "pixelRatio", undefined);
8752
+ ], Canvas.prototype, "pixelRatio", void 0);
8708
8753
  __decorate([
8709
8754
  resizeType(true)
8710
- ], Canvas.prototype, "smooth", undefined);
8755
+ ], Canvas.prototype, "smooth", void 0);
8711
8756
  __decorate([
8712
8757
  dataType(false)
8713
- ], Canvas.prototype, "safeResize", undefined);
8758
+ ], Canvas.prototype, "safeResize", void 0);
8714
8759
  __decorate([
8715
8760
  resizeType()
8716
- ], Canvas.prototype, "contextSettings", undefined);
8761
+ ], Canvas.prototype, "contextSettings", void 0);
8717
8762
  Canvas = __decorate([
8718
8763
  registerUI()
8719
8764
  ], Canvas);
@@ -8804,76 +8849,76 @@ let Text = class Text extends UI {
8804
8849
  };
8805
8850
  __decorate([
8806
8851
  dataProcessor(TextData)
8807
- ], Text.prototype, "__", undefined);
8852
+ ], Text.prototype, "__", void 0);
8808
8853
  __decorate([
8809
8854
  boundsType(0)
8810
- ], Text.prototype, "width", undefined);
8855
+ ], Text.prototype, "width", void 0);
8811
8856
  __decorate([
8812
8857
  boundsType(0)
8813
- ], Text.prototype, "height", undefined);
8858
+ ], Text.prototype, "height", void 0);
8814
8859
  __decorate([
8815
8860
  dataType(false)
8816
- ], Text.prototype, "resizeFontSize", undefined);
8861
+ ], Text.prototype, "resizeFontSize", void 0);
8817
8862
  __decorate([
8818
8863
  surfaceType('#000000')
8819
- ], Text.prototype, "fill", undefined);
8864
+ ], Text.prototype, "fill", void 0);
8820
8865
  __decorate([
8821
8866
  affectStrokeBoundsType('outside')
8822
- ], Text.prototype, "strokeAlign", undefined);
8867
+ ], Text.prototype, "strokeAlign", void 0);
8823
8868
  __decorate([
8824
8869
  hitType('all')
8825
- ], Text.prototype, "hitFill", undefined);
8870
+ ], Text.prototype, "hitFill", void 0);
8826
8871
  __decorate([
8827
8872
  boundsType('')
8828
- ], Text.prototype, "text", undefined);
8873
+ ], Text.prototype, "text", void 0);
8829
8874
  __decorate([
8830
8875
  boundsType('caption')
8831
- ], Text.prototype, "fontFamily", undefined);
8876
+ ], Text.prototype, "fontFamily", void 0);
8832
8877
  __decorate([
8833
8878
  boundsType(12)
8834
- ], Text.prototype, "fontSize", undefined);
8879
+ ], Text.prototype, "fontSize", void 0);
8835
8880
  __decorate([
8836
8881
  boundsType('normal')
8837
- ], Text.prototype, "fontWeight", undefined);
8882
+ ], Text.prototype, "fontWeight", void 0);
8838
8883
  __decorate([
8839
8884
  boundsType(false)
8840
- ], Text.prototype, "italic", undefined);
8885
+ ], Text.prototype, "italic", void 0);
8841
8886
  __decorate([
8842
8887
  boundsType('none')
8843
- ], Text.prototype, "textCase", undefined);
8888
+ ], Text.prototype, "textCase", void 0);
8844
8889
  __decorate([
8845
8890
  boundsType('none')
8846
- ], Text.prototype, "textDecoration", undefined);
8891
+ ], Text.prototype, "textDecoration", void 0);
8847
8892
  __decorate([
8848
8893
  boundsType(0)
8849
- ], Text.prototype, "letterSpacing", undefined);
8894
+ ], Text.prototype, "letterSpacing", void 0);
8850
8895
  __decorate([
8851
8896
  boundsType({ type: 'percent', value: 1.5 })
8852
- ], Text.prototype, "lineHeight", undefined);
8897
+ ], Text.prototype, "lineHeight", void 0);
8853
8898
  __decorate([
8854
8899
  boundsType(0)
8855
- ], Text.prototype, "paraIndent", undefined);
8900
+ ], Text.prototype, "paraIndent", void 0);
8856
8901
  __decorate([
8857
8902
  boundsType(0)
8858
- ], Text.prototype, "paraSpacing", undefined);
8903
+ ], Text.prototype, "paraSpacing", void 0);
8859
8904
  __decorate([
8860
8905
  boundsType('x')
8861
- ], Text.prototype, "writingMode", undefined);
8906
+ ], Text.prototype, "writingMode", void 0);
8862
8907
  __decorate([
8863
8908
  boundsType('left')
8864
- ], Text.prototype, "textAlign", undefined);
8909
+ ], Text.prototype, "textAlign", void 0);
8865
8910
  __decorate([
8866
8911
  boundsType('top')
8867
- ], Text.prototype, "verticalAlign", undefined);
8912
+ ], Text.prototype, "verticalAlign", void 0);
8868
8913
  __decorate([
8869
8914
  boundsType(true)
8870
- ], Text.prototype, "autoSizeAlign", undefined);
8915
+ ], Text.prototype, "autoSizeAlign", void 0);
8871
8916
  __decorate([
8872
8917
  boundsType('normal')
8873
- ], Text.prototype, "textWrap", undefined);
8918
+ ], Text.prototype, "textWrap", void 0);
8874
8919
  __decorate([
8875
8920
  boundsType('show')
8876
- ], Text.prototype, "textOverflow", undefined);
8921
+ ], Text.prototype, "textOverflow", void 0);
8877
8922
  Text = __decorate([
8878
8923
  registerUI()
8879
8924
  ], Text);
@@ -8886,10 +8931,10 @@ let Path = class Path extends UI {
8886
8931
  };
8887
8932
  __decorate([
8888
8933
  dataProcessor(PathData)
8889
- ], Path.prototype, "__", undefined);
8934
+ ], Path.prototype, "__", void 0);
8890
8935
  __decorate([
8891
8936
  affectStrokeBoundsType('center')
8892
- ], Path.prototype, "strokeAlign", undefined);
8937
+ ], Path.prototype, "strokeAlign", void 0);
8893
8938
  Path = __decorate([
8894
8939
  registerUI()
8895
8940
  ], Path);
@@ -8928,10 +8973,10 @@ let Pen = class Pen extends Group {
8928
8973
  };
8929
8974
  __decorate([
8930
8975
  dataProcessor(PenData)
8931
- ], Pen.prototype, "__", undefined);
8976
+ ], Pen.prototype, "__", void 0);
8932
8977
  __decorate([
8933
8978
  penPathType()
8934
- ], Pen.prototype, "path", undefined);
8979
+ ], Pen.prototype, "path", void 0);
8935
8980
  Pen = __decorate([
8936
8981
  useModule(PathCreator, ['set', 'path', 'paint']),
8937
8982
  registerUI()
@@ -9167,7 +9212,7 @@ let DragEvent$1 = class DragEvent extends PointerEvent$1 {
9167
9212
  const { draggable, dragBounds } = leaf, move = leaf.getLocalPoint(total, null, true);
9168
9213
  PointHelper.move(move, start.x - leaf.x, start.y - leaf.y);
9169
9214
  if (dragBounds)
9170
- this.getMoveInDragBounds(leaf.__local, dragBounds === 'parent' ? leaf.parent.boxBounds : dragBounds, move, true);
9215
+ this.getMoveInDragBounds(leaf.__localBoxBounds, dragBounds === 'parent' ? leaf.parent.boxBounds : dragBounds, move, true);
9171
9216
  if (draggable === 'x')
9172
9217
  move.y = 0;
9173
9218
  if (draggable === 'y')
@@ -9870,7 +9915,9 @@ class InteractionBase {
9870
9915
  }
9871
9916
  findPath(data, options) {
9872
9917
  const { hitRadius, through } = this.p;
9873
- const { bottomList } = this;
9918
+ const { bottomList, target } = this;
9919
+ if (!Platform.backgrounder && !data.origin)
9920
+ target && target.updateLayout();
9874
9921
  const find = this.selector.getByPoint(data, hitRadius, Object.assign({ bottomList, name: data.type }, (options || { through })));
9875
9922
  if (find.throughPath)
9876
9923
  data.throughPath = find.throughPath;
@@ -10115,9 +10162,9 @@ leaf.__hitWorld = function (point) {
10115
10162
  }
10116
10163
  return this.__hit(inner);
10117
10164
  };
10118
- leaf.__hitFill = function (inner) { var _a; return (_a = this.__hitCanvas) === null || _a === undefined ? undefined : _a.hitFill(inner, this.__.windingRule); };
10119
- leaf.__hitStroke = function (inner, strokeWidth) { var _a; return (_a = this.__hitCanvas) === null || _a === undefined ? undefined : _a.hitStroke(inner, strokeWidth); };
10120
- leaf.__hitPixel = function (inner) { var _a; return (_a = this.__hitCanvas) === null || _a === undefined ? undefined : _a.hitPixel(inner, this.__layout.renderBounds, this.__hitCanvas.hitScale); };
10165
+ leaf.__hitFill = function (inner) { var _a; return (_a = this.__hitCanvas) === null || _a === void 0 ? void 0 : _a.hitFill(inner, this.__.windingRule); };
10166
+ leaf.__hitStroke = function (inner, strokeWidth) { var _a; return (_a = this.__hitCanvas) === null || _a === void 0 ? void 0 : _a.hitStroke(inner, strokeWidth); };
10167
+ 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); };
10121
10168
  leaf.__drawHitPath = function (canvas) { if (canvas)
10122
10169
  this.__drawRenderPath(canvas); };
10123
10170
 
@@ -10205,8 +10252,8 @@ function getSelector(ui) {
10205
10252
  return ui.leafer ? ui.leafer.selector : (Platform.selector || (Platform.selector = Creator.selector()));
10206
10253
  }
10207
10254
  Group.prototype.pick = function (hitPoint, options) {
10208
- this.leafer || this.updateLayout();
10209
10255
  options || (options = emptyData);
10256
+ this.updateLayout();
10210
10257
  return getSelector(this).getByPoint(hitPoint, options.hitRadius || 0, Object.assign(Object.assign({}, options), { target: this }));
10211
10258
  };
10212
10259
 
@@ -10899,7 +10946,7 @@ function getPatternData(paint, box, image) {
10899
10946
  box = tempBox.set(box).shrink(paint.padding);
10900
10947
  if (paint.mode === 'strench')
10901
10948
  paint.mode = 'stretch';
10902
- const { opacity, mode, align, offset, scale, size, rotation, repeat } = paint;
10949
+ const { opacity, mode, align, offset, scale, size, rotation, repeat, filters } = paint;
10903
10950
  const sameBox = box.width === width && box.height === height;
10904
10951
  const data = { mode };
10905
10952
  const swapSize = align !== 'center' && (rotation || 0) % 180 === 90;
@@ -10962,6 +11009,8 @@ function getPatternData(paint, box, image) {
10962
11009
  data.height = height;
10963
11010
  if (opacity)
10964
11011
  data.opacity = opacity;
11012
+ if (filters)
11013
+ data.filters = filters;
10965
11014
  if (repeat)
10966
11015
  data.repeat = typeof repeat === 'string' ? (repeat === 'x' ? 'repeat-x' : 'repeat-y') : 'repeat';
10967
11016
  return data;
@@ -11064,7 +11113,7 @@ function createPattern(ui, paint, pixelRatio) {
11064
11113
  scaleX = abs$1(scaleX);
11065
11114
  scaleY = abs$1(scaleY);
11066
11115
  const { image, data } = paint;
11067
- let imageScale, imageMatrix, { width, height, scaleX: sx, scaleY: sy, opacity, transform, repeat } = data;
11116
+ let imageScale, imageMatrix, { width, height, scaleX: sx, scaleY: sy, transform, repeat } = data;
11068
11117
  if (sx) {
11069
11118
  imageMatrix = get$1();
11070
11119
  copy$1(imageMatrix, transform);
@@ -11107,7 +11156,7 @@ function createPattern(ui, paint, pixelRatio) {
11107
11156
  }
11108
11157
  scale(imageMatrix, 1 / scaleX, 1 / scaleY);
11109
11158
  }
11110
- const canvas = image.getCanvas(ceil(width) || 1, ceil(height) || 1, opacity);
11159
+ const canvas = image.getCanvas(ceil(width) || 1, ceil(height) || 1, data.opacity, data.filters);
11111
11160
  const pattern = image.getPattern(canvas, repeat || (Platform.origin.noRepeat || 'no-repeat'), imageMatrix, paint);
11112
11161
  paint.style = pattern;
11113
11162
  paint.patternId = id;
@@ -11151,7 +11200,7 @@ function checkImage(ui, canvas, paint, allowPaint) {
11151
11200
  canvas.opacity *= data.opacity;
11152
11201
  if (data.transform)
11153
11202
  canvas.transform(data.transform);
11154
- canvas.drawImage(paint.image.view, 0, 0, data.width, data.height);
11203
+ canvas.drawImage(paint.image.getFull(data.filters), 0, 0, data.width, data.height);
11155
11204
  canvas.restore();
11156
11205
  return true;
11157
11206
  }
@@ -11161,7 +11210,7 @@ function checkImage(ui, canvas, paint, allowPaint) {
11161
11210
  }
11162
11211
  else {
11163
11212
  if (!paint.patternTask) {
11164
- paint.patternTask = ImageManager.patternTasker.add(() => __awaiter(this, undefined, undefined, function* () {
11213
+ paint.patternTask = ImageManager.patternTasker.add(() => __awaiter(this, void 0, void 0, function* () {
11165
11214
  paint.patternTask = null;
11166
11215
  if (canvas.bounds.hit(ui.__nowWorld))
11167
11216
  createPattern(ui, paint, pixelRatio);
@@ -12033,5 +12082,5 @@ Object.assign(Creator, {
12033
12082
  });
12034
12083
  useCanvas();
12035
12084
 
12036
- 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$1 as DragEvent, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Frame, FrameData, Group, GroupData, HitCanvasManager, Image$1 as Image, ImageData, ImageEvent, ImageManager, IncrementId, Interaction, 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$1 as 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 };
12085
+ 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$1 as DragEvent, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, Frame, FrameData, Group, GroupData, HitCanvasManager, Image$1 as Image, ImageData, ImageEvent, ImageManager, IncrementId, Interaction, 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$1 as 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 };
12037
12086
  //# sourceMappingURL=web.module.js.map