leafer-ui 1.4.0 → 1.4.1

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