@leafer-draw/miniapp 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$d = Debug.get('RunTime');
1377
+ const debug$e = 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$d.log(name, duration, 'ms');
1394
+ R$1.idMap[id] = R$1.nameMap[id] = R$1.nameToIdMap[name] = undefined;
1395
+ debug$e.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$c = Debug.get('UICreator');
1424
+ const debug$d = 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$c.repeat(tag);
1430
+ debug$d.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$c.error('not register ' + tag);
1435
+ debug$d.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$b = Debug.get('EventCreator');
1451
+ const debug$c = 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$b.repeat(name), nameList[name] = Event;
1459
+ nameList[name] && debug$c.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$2, roundRect: roundRect$2, arcTo: arcTo$3, arc: arc$3, ellipse: ellipse$4, quadraticCurveTo: quadraticCurveTo$1 } = BezierHelper;
2614
2614
  const { ellipticalArc } = EllipseHelper;
2615
- const debug$a = Debug.get('PathConvert');
2615
+ const debug$b = 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$a.error(`command: ${command} [index:${i}]`, old);
2856
+ debug$b.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$9 = Debug.get('PathDrawer');
3079
+ const debug$a = 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$9.error(`command: ${command} [index:${i}]`, data);
3142
+ debug$a.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$7, addPoint, setPoint, addBounds, toBounds: toBounds$2 } = TwoPointBoundsHelper;
3154
- const debug$8 = Debug.get('PathBounds');
3152
+ const debug$9 = 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$8.error(`command: ${command} [index:${i}]`, data);
3260
+ debug$9.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$7 = Debug.get('TaskProcessor');
3376
+ const debug$8 = 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$7.error(error);
3391
+ debug$8.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$7 = 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$7.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.tasker.isComplete; },
3632
3666
  get(config) {
3633
- let image = I.map[config.url];
3634
- if (!image) {
3635
- image = Creator.image(config);
3636
- I.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.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.map = {};
3679
3710
  I.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
  class LeaferCanvas extends LeaferCanvasBase {
6018
6057
  get allowBackgroundColor() { return false; }
@@ -6496,7 +6535,7 @@ class Layouter {
6496
6535
  }
6497
6536
  partLayout() {
6498
6537
  var _a;
6499
- if (!((_a = this.__updatedList) === null || _a === undefined ? undefined : _a.length))
6538
+ if (!((_a = this.__updatedList) === null || _a === void 0 ? void 0 : _a.length))
6500
6539
  return;
6501
6540
  const t = Run.start('PartLayout');
6502
6541
  const { target, __updatedList: updateList } = this;
@@ -6865,9 +6904,7 @@ const TextConvert = {};
6865
6904
  const ColorConvert = {};
6866
6905
  const UnitConvert = {
6867
6906
  number(value, percentRefer) {
6868
- if (typeof value === 'object')
6869
- return value.type === 'percent' ? value.value * percentRefer : value.value;
6870
- return value;
6907
+ return typeof value === 'object' ? (value.type === 'percent' ? value.value * percentRefer : value.value) : value;
6871
6908
  }
6872
6909
  };
6873
6910
  const PathArrow = {};
@@ -6875,16 +6912,15 @@ const Paint = {};
6875
6912
  const PaintImage = {};
6876
6913
  const PaintGradient = {};
6877
6914
  const Effect = {};
6915
+ const Filter = {
6916
+ apply() { Plugin.need('filter'); }
6917
+ };
6878
6918
  const Export = {};
6879
6919
  const State = {
6880
- setStyleName(_leaf, _styleName, _value) { return Plugin.need('state'); },
6881
- set(_leaf, _stateName) { return Plugin.need('state'); }
6882
- };
6883
- const Transition = {
6884
- list: {},
6885
- register(attrName, fn) { Transition.list[attrName] = fn; },
6886
- get(attrName) { return Transition.list[attrName]; }
6920
+ setStyleName() { return Plugin.need('state'); },
6921
+ set() { return Plugin.need('state'); }
6887
6922
  };
6923
+ const Transition = {};
6888
6924
 
6889
6925
  const { parse, objectToCanvasData } = PathConvert;
6890
6926
  const emptyPaint = {};
@@ -6991,24 +7027,13 @@ class UIData extends LeafData {
6991
7027
  }
6992
7028
  }
6993
7029
  setShadow(value) {
6994
- this.__setInput('shadow', value);
6995
- if (value instanceof Array) {
6996
- if (value.some((item) => item.visible === false))
6997
- value = value.filter((item) => item.visible !== false);
6998
- this._shadow = value.length ? value : null;
6999
- }
7000
- else
7001
- this._shadow = value && value.visible !== false ? [value] : null;
7030
+ setArray(this, 'shadow', value);
7002
7031
  }
7003
7032
  setInnerShadow(value) {
7004
- this.__setInput('innerShadow', value);
7005
- if (value instanceof Array) {
7006
- if (value.some((item) => item.visible === false))
7007
- value = value.filter((item) => item.visible !== false);
7008
- this._innerShadow = value.length ? value : null;
7009
- }
7010
- else
7011
- this._innerShadow = value && value.visible !== false ? [value] : null;
7033
+ setArray(this, 'innerShadow', value);
7034
+ }
7035
+ setFilter(value) {
7036
+ setArray(this, 'filter', value);
7012
7037
  }
7013
7038
  __computePaint() {
7014
7039
  const { fill, stroke } = this.__input;
@@ -7019,6 +7044,17 @@ class UIData extends LeafData {
7019
7044
  this.__needComputePaint = false;
7020
7045
  }
7021
7046
  }
7047
+ function setArray(data, key, value) {
7048
+ data.__setInput(key, value);
7049
+ if (value instanceof Array) {
7050
+ if (value.some((item) => item.visible === false))
7051
+ value = value.filter((item) => item.visible !== false);
7052
+ value.length || (value = null);
7053
+ }
7054
+ else
7055
+ value = value && value.visible !== false ? [value] : null;
7056
+ data['_' + key] = value;
7057
+ }
7022
7058
 
7023
7059
  class GroupData extends UIData {
7024
7060
  }
@@ -7141,11 +7177,13 @@ const UIBounds = {
7141
7177
  },
7142
7178
  __updateRenderSpread() {
7143
7179
  let width = 0;
7144
- const { shadow, innerShadow, blur, backgroundBlur } = this.__;
7180
+ const { shadow, innerShadow, blur, backgroundBlur, filter } = this.__;
7145
7181
  if (shadow)
7146
7182
  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));
7147
7183
  if (blur)
7148
7184
  width = Math.max(width, blur);
7185
+ if (filter)
7186
+ width += Filter.getSpread(filter);
7149
7187
  let shapeWidth = width = Math.ceil(width);
7150
7188
  if (innerShadow)
7151
7189
  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));
@@ -7160,8 +7198,8 @@ const UIRender = {
7160
7198
  __updateChange() {
7161
7199
  const data = this.__;
7162
7200
  if (data.__useEffect) {
7163
- const { shadow, innerShadow, blur, backgroundBlur } = this.__;
7164
- data.__useEffect = !!(shadow || innerShadow || blur || backgroundBlur);
7201
+ const { shadow, innerShadow, blur, backgroundBlur, filter } = this.__;
7202
+ data.__useEffect = !!(shadow || innerShadow || blur || backgroundBlur || filter);
7165
7203
  }
7166
7204
  data.__checkSingle();
7167
7205
  const complex = data.__isFills || data.__isStrokes || data.cornerRadius || data.__useEffect;
@@ -7175,7 +7213,7 @@ const UIRender = {
7175
7213
  __drawFast(canvas, options) {
7176
7214
  drawFast(this, canvas, options);
7177
7215
  },
7178
- __draw(canvas, options) {
7216
+ __draw(canvas, options, originCanvas) {
7179
7217
  const data = this.__;
7180
7218
  if (data.__complex) {
7181
7219
  if (data.__needComputePaint)
@@ -7185,7 +7223,7 @@ const UIRender = {
7185
7223
  if (data.__useEffect) {
7186
7224
  const shape = Paint.shape(this, canvas, options);
7187
7225
  this.__nowWorld = this.__getNowWorld(options);
7188
- const { shadow, innerShadow } = data;
7226
+ const { shadow, innerShadow, filter } = data;
7189
7227
  if (shadow)
7190
7228
  Effect.shadow(this, canvas, shape);
7191
7229
  if (fill)
@@ -7196,6 +7234,8 @@ const UIRender = {
7196
7234
  Effect.innerShadow(this, canvas, shape);
7197
7235
  if (stroke)
7198
7236
  data.__isStrokes ? Paint.strokes(stroke, this, canvas) : Paint.stroke(stroke, this, canvas);
7237
+ if (filter)
7238
+ Filter.apply(filter, this, this.__nowWorld, canvas, originCanvas, shape);
7199
7239
  if (shape.worldCanvas)
7200
7240
  shape.worldCanvas.recycle();
7201
7241
  shape.canvas.recycle();
@@ -7415,199 +7455,202 @@ let UI = UI_1 = class UI extends Leaf {
7415
7455
  };
7416
7456
  __decorate([
7417
7457
  dataProcessor(UIData)
7418
- ], UI.prototype, "__", undefined);
7458
+ ], UI.prototype, "__", void 0);
7419
7459
  __decorate([
7420
7460
  zoomLayerType()
7421
- ], UI.prototype, "zoomLayer", undefined);
7461
+ ], UI.prototype, "zoomLayer", void 0);
7422
7462
  __decorate([
7423
7463
  dataType('')
7424
- ], UI.prototype, "id", undefined);
7464
+ ], UI.prototype, "id", void 0);
7425
7465
  __decorate([
7426
7466
  dataType('')
7427
- ], UI.prototype, "name", undefined);
7467
+ ], UI.prototype, "name", void 0);
7428
7468
  __decorate([
7429
7469
  dataType('')
7430
- ], UI.prototype, "className", undefined);
7470
+ ], UI.prototype, "className", void 0);
7431
7471
  __decorate([
7432
7472
  surfaceType('pass-through')
7433
- ], UI.prototype, "blendMode", undefined);
7473
+ ], UI.prototype, "blendMode", void 0);
7434
7474
  __decorate([
7435
7475
  opacityType(1)
7436
- ], UI.prototype, "opacity", undefined);
7476
+ ], UI.prototype, "opacity", void 0);
7437
7477
  __decorate([
7438
7478
  visibleType(true)
7439
- ], UI.prototype, "visible", undefined);
7479
+ ], UI.prototype, "visible", void 0);
7440
7480
  __decorate([
7441
7481
  surfaceType(false)
7442
- ], UI.prototype, "locked", undefined);
7482
+ ], UI.prototype, "locked", void 0);
7443
7483
  __decorate([
7444
7484
  sortType(0)
7445
- ], UI.prototype, "zIndex", undefined);
7485
+ ], UI.prototype, "zIndex", void 0);
7446
7486
  __decorate([
7447
7487
  maskType(false)
7448
- ], UI.prototype, "mask", undefined);
7488
+ ], UI.prototype, "mask", void 0);
7449
7489
  __decorate([
7450
7490
  eraserType(false)
7451
- ], UI.prototype, "eraser", undefined);
7491
+ ], UI.prototype, "eraser", void 0);
7452
7492
  __decorate([
7453
7493
  positionType(0, true)
7454
- ], UI.prototype, "x", undefined);
7494
+ ], UI.prototype, "x", void 0);
7455
7495
  __decorate([
7456
7496
  positionType(0, true)
7457
- ], UI.prototype, "y", undefined);
7497
+ ], UI.prototype, "y", void 0);
7458
7498
  __decorate([
7459
7499
  boundsType(100, true)
7460
- ], UI.prototype, "width", undefined);
7500
+ ], UI.prototype, "width", void 0);
7461
7501
  __decorate([
7462
7502
  boundsType(100, true)
7463
- ], UI.prototype, "height", undefined);
7503
+ ], UI.prototype, "height", void 0);
7464
7504
  __decorate([
7465
7505
  scaleType(1, true)
7466
- ], UI.prototype, "scaleX", undefined);
7506
+ ], UI.prototype, "scaleX", void 0);
7467
7507
  __decorate([
7468
7508
  scaleType(1, true)
7469
- ], UI.prototype, "scaleY", undefined);
7509
+ ], UI.prototype, "scaleY", void 0);
7470
7510
  __decorate([
7471
7511
  rotationType(0, true)
7472
- ], UI.prototype, "rotation", undefined);
7512
+ ], UI.prototype, "rotation", void 0);
7473
7513
  __decorate([
7474
7514
  rotationType(0, true)
7475
- ], UI.prototype, "skewX", undefined);
7515
+ ], UI.prototype, "skewX", void 0);
7476
7516
  __decorate([
7477
7517
  rotationType(0, true)
7478
- ], UI.prototype, "skewY", undefined);
7518
+ ], UI.prototype, "skewY", void 0);
7479
7519
  __decorate([
7480
7520
  positionType(0, true)
7481
- ], UI.prototype, "offsetX", undefined);
7521
+ ], UI.prototype, "offsetX", void 0);
7482
7522
  __decorate([
7483
7523
  positionType(0, true)
7484
- ], UI.prototype, "offsetY", undefined);
7524
+ ], UI.prototype, "offsetY", void 0);
7485
7525
  __decorate([
7486
7526
  positionType(0, true)
7487
- ], UI.prototype, "scrollX", undefined);
7527
+ ], UI.prototype, "scrollX", void 0);
7488
7528
  __decorate([
7489
7529
  positionType(0, true)
7490
- ], UI.prototype, "scrollY", undefined);
7530
+ ], UI.prototype, "scrollY", void 0);
7491
7531
  __decorate([
7492
7532
  autoLayoutType()
7493
- ], UI.prototype, "origin", undefined);
7533
+ ], UI.prototype, "origin", void 0);
7494
7534
  __decorate([
7495
7535
  autoLayoutType()
7496
- ], UI.prototype, "around", undefined);
7536
+ ], UI.prototype, "around", void 0);
7497
7537
  __decorate([
7498
7538
  dataType(false)
7499
- ], UI.prototype, "lazy", undefined);
7539
+ ], UI.prototype, "lazy", void 0);
7500
7540
  __decorate([
7501
7541
  naturalBoundsType(1)
7502
- ], UI.prototype, "pixelRatio", undefined);
7542
+ ], UI.prototype, "pixelRatio", void 0);
7503
7543
  __decorate([
7504
7544
  pathInputType()
7505
- ], UI.prototype, "path", undefined);
7545
+ ], UI.prototype, "path", void 0);
7506
7546
  __decorate([
7507
7547
  pathType()
7508
- ], UI.prototype, "windingRule", undefined);
7548
+ ], UI.prototype, "windingRule", void 0);
7509
7549
  __decorate([
7510
7550
  pathType(true)
7511
- ], UI.prototype, "closed", undefined);
7551
+ ], UI.prototype, "closed", void 0);
7512
7552
  __decorate([
7513
7553
  boundsType(0)
7514
- ], UI.prototype, "padding", undefined);
7554
+ ], UI.prototype, "padding", void 0);
7515
7555
  __decorate([
7516
7556
  boundsType(false)
7517
- ], UI.prototype, "lockRatio", undefined);
7557
+ ], UI.prototype, "lockRatio", void 0);
7518
7558
  __decorate([
7519
7559
  boundsType()
7520
- ], UI.prototype, "widthRange", undefined);
7560
+ ], UI.prototype, "widthRange", void 0);
7521
7561
  __decorate([
7522
7562
  boundsType()
7523
- ], UI.prototype, "heightRange", undefined);
7563
+ ], UI.prototype, "heightRange", void 0);
7524
7564
  __decorate([
7525
7565
  dataType(false)
7526
- ], UI.prototype, "draggable", undefined);
7566
+ ], UI.prototype, "draggable", void 0);
7527
7567
  __decorate([
7528
7568
  dataType()
7529
- ], UI.prototype, "dragBounds", undefined);
7569
+ ], UI.prototype, "dragBounds", void 0);
7530
7570
  __decorate([
7531
7571
  dataType(false)
7532
- ], UI.prototype, "editable", undefined);
7572
+ ], UI.prototype, "editable", void 0);
7533
7573
  __decorate([
7534
7574
  hitType(true)
7535
- ], UI.prototype, "hittable", undefined);
7575
+ ], UI.prototype, "hittable", void 0);
7536
7576
  __decorate([
7537
7577
  hitType('path')
7538
- ], UI.prototype, "hitFill", undefined);
7578
+ ], UI.prototype, "hitFill", void 0);
7539
7579
  __decorate([
7540
7580
  strokeType('path')
7541
- ], UI.prototype, "hitStroke", undefined);
7581
+ ], UI.prototype, "hitStroke", void 0);
7542
7582
  __decorate([
7543
7583
  hitType(false)
7544
- ], UI.prototype, "hitBox", undefined);
7584
+ ], UI.prototype, "hitBox", void 0);
7545
7585
  __decorate([
7546
7586
  hitType(true)
7547
- ], UI.prototype, "hitChildren", undefined);
7587
+ ], UI.prototype, "hitChildren", void 0);
7548
7588
  __decorate([
7549
7589
  hitType(true)
7550
- ], UI.prototype, "hitSelf", undefined);
7590
+ ], UI.prototype, "hitSelf", void 0);
7551
7591
  __decorate([
7552
7592
  hitType()
7553
- ], UI.prototype, "hitRadius", undefined);
7593
+ ], UI.prototype, "hitRadius", void 0);
7554
7594
  __decorate([
7555
7595
  cursorType('')
7556
- ], UI.prototype, "cursor", undefined);
7596
+ ], UI.prototype, "cursor", void 0);
7557
7597
  __decorate([
7558
7598
  surfaceType()
7559
- ], UI.prototype, "fill", undefined);
7599
+ ], UI.prototype, "fill", void 0);
7560
7600
  __decorate([
7561
7601
  strokeType()
7562
- ], UI.prototype, "stroke", undefined);
7602
+ ], UI.prototype, "stroke", void 0);
7563
7603
  __decorate([
7564
7604
  strokeType('inside')
7565
- ], UI.prototype, "strokeAlign", undefined);
7605
+ ], UI.prototype, "strokeAlign", void 0);
7566
7606
  __decorate([
7567
7607
  strokeType(1)
7568
- ], UI.prototype, "strokeWidth", undefined);
7608
+ ], UI.prototype, "strokeWidth", void 0);
7569
7609
  __decorate([
7570
7610
  strokeType(false)
7571
- ], UI.prototype, "strokeWidthFixed", undefined);
7611
+ ], UI.prototype, "strokeWidthFixed", void 0);
7572
7612
  __decorate([
7573
7613
  strokeType('none')
7574
- ], UI.prototype, "strokeCap", undefined);
7614
+ ], UI.prototype, "strokeCap", void 0);
7575
7615
  __decorate([
7576
7616
  strokeType('miter')
7577
- ], UI.prototype, "strokeJoin", undefined);
7617
+ ], UI.prototype, "strokeJoin", void 0);
7578
7618
  __decorate([
7579
7619
  strokeType()
7580
- ], UI.prototype, "dashPattern", undefined);
7620
+ ], UI.prototype, "dashPattern", void 0);
7581
7621
  __decorate([
7582
7622
  strokeType()
7583
- ], UI.prototype, "dashOffset", undefined);
7623
+ ], UI.prototype, "dashOffset", void 0);
7584
7624
  __decorate([
7585
7625
  strokeType(10)
7586
- ], UI.prototype, "miterLimit", undefined);
7626
+ ], UI.prototype, "miterLimit", void 0);
7587
7627
  __decorate([
7588
7628
  pathType(0)
7589
- ], UI.prototype, "cornerRadius", undefined);
7629
+ ], UI.prototype, "cornerRadius", void 0);
7590
7630
  __decorate([
7591
7631
  pathType()
7592
- ], UI.prototype, "cornerSmoothing", undefined);
7632
+ ], UI.prototype, "cornerSmoothing", void 0);
7633
+ __decorate([
7634
+ effectType()
7635
+ ], UI.prototype, "shadow", void 0);
7593
7636
  __decorate([
7594
7637
  effectType()
7595
- ], UI.prototype, "shadow", undefined);
7638
+ ], UI.prototype, "innerShadow", void 0);
7596
7639
  __decorate([
7597
7640
  effectType()
7598
- ], UI.prototype, "innerShadow", undefined);
7641
+ ], UI.prototype, "blur", void 0);
7599
7642
  __decorate([
7600
7643
  effectType()
7601
- ], UI.prototype, "blur", undefined);
7644
+ ], UI.prototype, "backgroundBlur", void 0);
7602
7645
  __decorate([
7603
7646
  effectType()
7604
- ], UI.prototype, "backgroundBlur", undefined);
7647
+ ], UI.prototype, "grayscale", void 0);
7605
7648
  __decorate([
7606
7649
  effectType()
7607
- ], UI.prototype, "grayscale", undefined);
7650
+ ], UI.prototype, "filter", void 0);
7608
7651
  __decorate([
7609
7652
  dataType({})
7610
- ], UI.prototype, "data", undefined);
7653
+ ], UI.prototype, "data", void 0);
7611
7654
  __decorate([
7612
7655
  rewrite(Leaf.prototype.reset)
7613
7656
  ], UI.prototype, "reset", null);
@@ -7668,7 +7711,7 @@ let Group = class Group extends UI {
7668
7711
  };
7669
7712
  __decorate([
7670
7713
  dataProcessor(GroupData)
7671
- ], Group.prototype, "__", undefined);
7714
+ ], Group.prototype, "__", void 0);
7672
7715
  Group = __decorate([
7673
7716
  useModule(Branch),
7674
7717
  registerUI()
@@ -7681,7 +7724,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
7681
7724
  get isApp() { return false; }
7682
7725
  get app() { return this.parent || this; }
7683
7726
  get isLeafer() { return true; }
7684
- get imageReady() { return this.viewReady && ImageManager.isComplete; }
7727
+ get imageReady() { return this.viewReady && Resource.isComplete; }
7685
7728
  get layoutLocked() { return !this.layouter.running; }
7686
7729
  get FPS() { return this.renderer ? this.renderer.FPS : 60; }
7687
7730
  get cursorPoint() { return (this.interaction && this.interaction.hoverData) || { x: this.width / 2, y: this.height / 2 }; }
@@ -7892,13 +7935,13 @@ let Leafer = Leafer_1 = class Leafer extends Group {
7892
7935
  WaitHelper.run(this.__viewReadyWait);
7893
7936
  }
7894
7937
  __onLayoutEnd() {
7895
- const { grow, growWidth, growHeight } = this.config;
7938
+ const { grow, width: fixedWidth, height: fixedHeight } = this.config;
7896
7939
  if (grow) {
7897
7940
  let { width, height, pixelRatio } = this;
7898
7941
  const bounds = grow === 'box' ? this.worldBoxBounds : this.__world;
7899
- if (growWidth !== false)
7942
+ if (!fixedWidth)
7900
7943
  width = Math.max(1, bounds.x + bounds.width);
7901
- if (growHeight !== false)
7944
+ if (!fixedHeight)
7902
7945
  height = Math.max(1, bounds.y + bounds.height);
7903
7946
  this.__doResize({ width, height, pixelRatio });
7904
7947
  }
@@ -7976,7 +8019,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
7976
8019
  list.push(item);
7977
8020
  this.requestRender();
7978
8021
  }
7979
- zoom(_zoomType, _padding, _fixedScale) {
8022
+ zoom(_zoomType, _padding, _fixedScale, _transition) {
7980
8023
  return Plugin.need('view');
7981
8024
  }
7982
8025
  getValidMove(moveX, moveY) { return { x: moveX, y: moveY }; }
@@ -8041,10 +8084,10 @@ let Leafer = Leafer_1 = class Leafer extends Group {
8041
8084
  Leafer.list = new LeafList();
8042
8085
  __decorate([
8043
8086
  dataProcessor(LeaferData)
8044
- ], Leafer.prototype, "__", undefined);
8087
+ ], Leafer.prototype, "__", void 0);
8045
8088
  __decorate([
8046
8089
  boundsType()
8047
- ], Leafer.prototype, "pixelRatio", undefined);
8090
+ ], Leafer.prototype, "pixelRatio", void 0);
8048
8091
  Leafer = Leafer_1 = __decorate([
8049
8092
  registerUI()
8050
8093
  ], Leafer);
@@ -8057,7 +8100,7 @@ let Rect = class Rect extends UI {
8057
8100
  };
8058
8101
  __decorate([
8059
8102
  dataProcessor(RectData)
8060
- ], Rect.prototype, "__", undefined);
8103
+ ], Rect.prototype, "__", void 0);
8061
8104
  Rect = __decorate([
8062
8105
  useModule(RectRender),
8063
8106
  rewriteAble(),
@@ -8148,13 +8191,13 @@ let Box = class Box extends Group {
8148
8191
  };
8149
8192
  __decorate([
8150
8193
  dataProcessor(BoxData)
8151
- ], Box.prototype, "__", undefined);
8194
+ ], Box.prototype, "__", void 0);
8152
8195
  __decorate([
8153
8196
  dataType(false)
8154
- ], Box.prototype, "resizeChildren", undefined);
8197
+ ], Box.prototype, "resizeChildren", void 0);
8155
8198
  __decorate([
8156
8199
  affectRenderBoundsType('show')
8157
- ], Box.prototype, "overflow", undefined);
8200
+ ], Box.prototype, "overflow", void 0);
8158
8201
  __decorate([
8159
8202
  rewrite(rect.__updateStrokeSpread)
8160
8203
  ], Box.prototype, "__updateStrokeSpread", null);
@@ -8193,13 +8236,13 @@ let Frame = class Frame extends Box {
8193
8236
  };
8194
8237
  __decorate([
8195
8238
  dataProcessor(FrameData)
8196
- ], Frame.prototype, "__", undefined);
8239
+ ], Frame.prototype, "__", void 0);
8197
8240
  __decorate([
8198
8241
  surfaceType('#FFFFFF')
8199
- ], Frame.prototype, "fill", undefined);
8242
+ ], Frame.prototype, "fill", void 0);
8200
8243
  __decorate([
8201
8244
  affectRenderBoundsType('hide')
8202
- ], Frame.prototype, "overflow", undefined);
8245
+ ], Frame.prototype, "overflow", void 0);
8203
8246
  Frame = __decorate([
8204
8247
  registerUI()
8205
8248
  ], Frame);
@@ -8246,16 +8289,16 @@ let Ellipse = class Ellipse extends UI {
8246
8289
  };
8247
8290
  __decorate([
8248
8291
  dataProcessor(EllipseData)
8249
- ], Ellipse.prototype, "__", undefined);
8292
+ ], Ellipse.prototype, "__", void 0);
8250
8293
  __decorate([
8251
8294
  pathType(0)
8252
- ], Ellipse.prototype, "innerRadius", undefined);
8295
+ ], Ellipse.prototype, "innerRadius", void 0);
8253
8296
  __decorate([
8254
8297
  pathType(0)
8255
- ], Ellipse.prototype, "startAngle", undefined);
8298
+ ], Ellipse.prototype, "startAngle", void 0);
8256
8299
  __decorate([
8257
8300
  pathType(0)
8258
- ], Ellipse.prototype, "endAngle", undefined);
8301
+ ], Ellipse.prototype, "endAngle", void 0);
8259
8302
  Ellipse = __decorate([
8260
8303
  registerUI()
8261
8304
  ], Ellipse);
@@ -8314,22 +8357,22 @@ let Line = class Line extends UI {
8314
8357
  };
8315
8358
  __decorate([
8316
8359
  dataProcessor(LineData)
8317
- ], Line.prototype, "__", undefined);
8360
+ ], Line.prototype, "__", void 0);
8318
8361
  __decorate([
8319
8362
  affectStrokeBoundsType('center')
8320
- ], Line.prototype, "strokeAlign", undefined);
8363
+ ], Line.prototype, "strokeAlign", void 0);
8321
8364
  __decorate([
8322
8365
  boundsType(0)
8323
- ], Line.prototype, "height", undefined);
8366
+ ], Line.prototype, "height", void 0);
8324
8367
  __decorate([
8325
8368
  pathType()
8326
- ], Line.prototype, "points", undefined);
8369
+ ], Line.prototype, "points", void 0);
8327
8370
  __decorate([
8328
8371
  pathType(0)
8329
- ], Line.prototype, "curve", undefined);
8372
+ ], Line.prototype, "curve", void 0);
8330
8373
  __decorate([
8331
8374
  pathType(false)
8332
- ], Line.prototype, "closed", undefined);
8375
+ ], Line.prototype, "closed", void 0);
8333
8376
  Line = __decorate([
8334
8377
  registerUI()
8335
8378
  ], Line);
@@ -8362,16 +8405,16 @@ let Polygon = class Polygon extends UI {
8362
8405
  };
8363
8406
  __decorate([
8364
8407
  dataProcessor(PolygonData)
8365
- ], Polygon.prototype, "__", undefined);
8408
+ ], Polygon.prototype, "__", void 0);
8366
8409
  __decorate([
8367
8410
  pathType(3)
8368
- ], Polygon.prototype, "sides", undefined);
8411
+ ], Polygon.prototype, "sides", void 0);
8369
8412
  __decorate([
8370
8413
  pathType()
8371
- ], Polygon.prototype, "points", undefined);
8414
+ ], Polygon.prototype, "points", void 0);
8372
8415
  __decorate([
8373
8416
  pathType(0)
8374
- ], Polygon.prototype, "curve", undefined);
8417
+ ], Polygon.prototype, "curve", void 0);
8375
8418
  __decorate([
8376
8419
  rewrite(line.__updateRenderPath)
8377
8420
  ], Polygon.prototype, "__updateRenderPath", null);
@@ -8403,13 +8446,13 @@ let Star = class Star extends UI {
8403
8446
  };
8404
8447
  __decorate([
8405
8448
  dataProcessor(StarData)
8406
- ], Star.prototype, "__", undefined);
8449
+ ], Star.prototype, "__", void 0);
8407
8450
  __decorate([
8408
8451
  pathType(5)
8409
- ], Star.prototype, "corners", undefined);
8452
+ ], Star.prototype, "corners", void 0);
8410
8453
  __decorate([
8411
8454
  pathType(0.382)
8412
- ], Star.prototype, "innerRadius", undefined);
8455
+ ], Star.prototype, "innerRadius", void 0);
8413
8456
  Star = __decorate([
8414
8457
  registerUI()
8415
8458
  ], Star);
@@ -8431,10 +8474,10 @@ let Image = class Image extends Rect {
8431
8474
  };
8432
8475
  __decorate([
8433
8476
  dataProcessor(ImageData)
8434
- ], Image.prototype, "__", undefined);
8477
+ ], Image.prototype, "__", void 0);
8435
8478
  __decorate([
8436
8479
  boundsType('')
8437
- ], Image.prototype, "url", undefined);
8480
+ ], Image.prototype, "url", void 0);
8438
8481
  Image = __decorate([
8439
8482
  registerUI()
8440
8483
  ], Image);
@@ -8497,25 +8540,25 @@ let Canvas = class Canvas extends Rect {
8497
8540
  };
8498
8541
  __decorate([
8499
8542
  dataProcessor(CanvasData)
8500
- ], Canvas.prototype, "__", undefined);
8543
+ ], Canvas.prototype, "__", void 0);
8501
8544
  __decorate([
8502
8545
  resizeType(100)
8503
- ], Canvas.prototype, "width", undefined);
8546
+ ], Canvas.prototype, "width", void 0);
8504
8547
  __decorate([
8505
8548
  resizeType(100)
8506
- ], Canvas.prototype, "height", undefined);
8549
+ ], Canvas.prototype, "height", void 0);
8507
8550
  __decorate([
8508
8551
  resizeType(1)
8509
- ], Canvas.prototype, "pixelRatio", undefined);
8552
+ ], Canvas.prototype, "pixelRatio", void 0);
8510
8553
  __decorate([
8511
8554
  resizeType(true)
8512
- ], Canvas.prototype, "smooth", undefined);
8555
+ ], Canvas.prototype, "smooth", void 0);
8513
8556
  __decorate([
8514
8557
  dataType(false)
8515
- ], Canvas.prototype, "safeResize", undefined);
8558
+ ], Canvas.prototype, "safeResize", void 0);
8516
8559
  __decorate([
8517
8560
  resizeType()
8518
- ], Canvas.prototype, "contextSettings", undefined);
8561
+ ], Canvas.prototype, "contextSettings", void 0);
8519
8562
  Canvas = __decorate([
8520
8563
  registerUI()
8521
8564
  ], Canvas);
@@ -8606,76 +8649,76 @@ let Text = class Text extends UI {
8606
8649
  };
8607
8650
  __decorate([
8608
8651
  dataProcessor(TextData)
8609
- ], Text.prototype, "__", undefined);
8652
+ ], Text.prototype, "__", void 0);
8610
8653
  __decorate([
8611
8654
  boundsType(0)
8612
- ], Text.prototype, "width", undefined);
8655
+ ], Text.prototype, "width", void 0);
8613
8656
  __decorate([
8614
8657
  boundsType(0)
8615
- ], Text.prototype, "height", undefined);
8658
+ ], Text.prototype, "height", void 0);
8616
8659
  __decorate([
8617
8660
  dataType(false)
8618
- ], Text.prototype, "resizeFontSize", undefined);
8661
+ ], Text.prototype, "resizeFontSize", void 0);
8619
8662
  __decorate([
8620
8663
  surfaceType('#000000')
8621
- ], Text.prototype, "fill", undefined);
8664
+ ], Text.prototype, "fill", void 0);
8622
8665
  __decorate([
8623
8666
  affectStrokeBoundsType('outside')
8624
- ], Text.prototype, "strokeAlign", undefined);
8667
+ ], Text.prototype, "strokeAlign", void 0);
8625
8668
  __decorate([
8626
8669
  hitType('all')
8627
- ], Text.prototype, "hitFill", undefined);
8670
+ ], Text.prototype, "hitFill", void 0);
8628
8671
  __decorate([
8629
8672
  boundsType('')
8630
- ], Text.prototype, "text", undefined);
8673
+ ], Text.prototype, "text", void 0);
8631
8674
  __decorate([
8632
8675
  boundsType('caption')
8633
- ], Text.prototype, "fontFamily", undefined);
8676
+ ], Text.prototype, "fontFamily", void 0);
8634
8677
  __decorate([
8635
8678
  boundsType(12)
8636
- ], Text.prototype, "fontSize", undefined);
8679
+ ], Text.prototype, "fontSize", void 0);
8637
8680
  __decorate([
8638
8681
  boundsType('normal')
8639
- ], Text.prototype, "fontWeight", undefined);
8682
+ ], Text.prototype, "fontWeight", void 0);
8640
8683
  __decorate([
8641
8684
  boundsType(false)
8642
- ], Text.prototype, "italic", undefined);
8685
+ ], Text.prototype, "italic", void 0);
8643
8686
  __decorate([
8644
8687
  boundsType('none')
8645
- ], Text.prototype, "textCase", undefined);
8688
+ ], Text.prototype, "textCase", void 0);
8646
8689
  __decorate([
8647
8690
  boundsType('none')
8648
- ], Text.prototype, "textDecoration", undefined);
8691
+ ], Text.prototype, "textDecoration", void 0);
8649
8692
  __decorate([
8650
8693
  boundsType(0)
8651
- ], Text.prototype, "letterSpacing", undefined);
8694
+ ], Text.prototype, "letterSpacing", void 0);
8652
8695
  __decorate([
8653
8696
  boundsType({ type: 'percent', value: 1.5 })
8654
- ], Text.prototype, "lineHeight", undefined);
8697
+ ], Text.prototype, "lineHeight", void 0);
8655
8698
  __decorate([
8656
8699
  boundsType(0)
8657
- ], Text.prototype, "paraIndent", undefined);
8700
+ ], Text.prototype, "paraIndent", void 0);
8658
8701
  __decorate([
8659
8702
  boundsType(0)
8660
- ], Text.prototype, "paraSpacing", undefined);
8703
+ ], Text.prototype, "paraSpacing", void 0);
8661
8704
  __decorate([
8662
8705
  boundsType('x')
8663
- ], Text.prototype, "writingMode", undefined);
8706
+ ], Text.prototype, "writingMode", void 0);
8664
8707
  __decorate([
8665
8708
  boundsType('left')
8666
- ], Text.prototype, "textAlign", undefined);
8709
+ ], Text.prototype, "textAlign", void 0);
8667
8710
  __decorate([
8668
8711
  boundsType('top')
8669
- ], Text.prototype, "verticalAlign", undefined);
8712
+ ], Text.prototype, "verticalAlign", void 0);
8670
8713
  __decorate([
8671
8714
  boundsType(true)
8672
- ], Text.prototype, "autoSizeAlign", undefined);
8715
+ ], Text.prototype, "autoSizeAlign", void 0);
8673
8716
  __decorate([
8674
8717
  boundsType('normal')
8675
- ], Text.prototype, "textWrap", undefined);
8718
+ ], Text.prototype, "textWrap", void 0);
8676
8719
  __decorate([
8677
8720
  boundsType('show')
8678
- ], Text.prototype, "textOverflow", undefined);
8721
+ ], Text.prototype, "textOverflow", void 0);
8679
8722
  Text = __decorate([
8680
8723
  registerUI()
8681
8724
  ], Text);
@@ -8688,10 +8731,10 @@ let Path = class Path extends UI {
8688
8731
  };
8689
8732
  __decorate([
8690
8733
  dataProcessor(PathData)
8691
- ], Path.prototype, "__", undefined);
8734
+ ], Path.prototype, "__", void 0);
8692
8735
  __decorate([
8693
8736
  affectStrokeBoundsType('center')
8694
- ], Path.prototype, "strokeAlign", undefined);
8737
+ ], Path.prototype, "strokeAlign", void 0);
8695
8738
  Path = __decorate([
8696
8739
  registerUI()
8697
8740
  ], Path);
@@ -8730,10 +8773,10 @@ let Pen = class Pen extends Group {
8730
8773
  };
8731
8774
  __decorate([
8732
8775
  dataProcessor(PenData)
8733
- ], Pen.prototype, "__", undefined);
8776
+ ], Pen.prototype, "__", void 0);
8734
8777
  __decorate([
8735
8778
  penPathType()
8736
- ], Pen.prototype, "path", undefined);
8779
+ ], Pen.prototype, "path", void 0);
8737
8780
  Pen = __decorate([
8738
8781
  useModule(PathCreator, ['set', 'path', 'paint']),
8739
8782
  registerUI()
@@ -9105,7 +9148,7 @@ function getPatternData(paint, box, image) {
9105
9148
  box = tempBox.set(box).shrink(paint.padding);
9106
9149
  if (paint.mode === 'strench')
9107
9150
  paint.mode = 'stretch';
9108
- const { opacity, mode, align, offset, scale, size, rotation, repeat } = paint;
9151
+ const { opacity, mode, align, offset, scale, size, rotation, repeat, filters } = paint;
9109
9152
  const sameBox = box.width === width && box.height === height;
9110
9153
  const data = { mode };
9111
9154
  const swapSize = align !== 'center' && (rotation || 0) % 180 === 90;
@@ -9168,6 +9211,8 @@ function getPatternData(paint, box, image) {
9168
9211
  data.height = height;
9169
9212
  if (opacity)
9170
9213
  data.opacity = opacity;
9214
+ if (filters)
9215
+ data.filters = filters;
9171
9216
  if (repeat)
9172
9217
  data.repeat = typeof repeat === 'string' ? (repeat === 'x' ? 'repeat-x' : 'repeat-y') : 'repeat';
9173
9218
  return data;
@@ -9270,7 +9315,7 @@ function createPattern(ui, paint, pixelRatio) {
9270
9315
  scaleX = abs$1(scaleX);
9271
9316
  scaleY = abs$1(scaleY);
9272
9317
  const { image, data } = paint;
9273
- let imageScale, imageMatrix, { width, height, scaleX: sx, scaleY: sy, opacity, transform, repeat } = data;
9318
+ let imageScale, imageMatrix, { width, height, scaleX: sx, scaleY: sy, transform, repeat } = data;
9274
9319
  if (sx) {
9275
9320
  imageMatrix = get$1();
9276
9321
  copy$1(imageMatrix, transform);
@@ -9313,7 +9358,7 @@ function createPattern(ui, paint, pixelRatio) {
9313
9358
  }
9314
9359
  scale(imageMatrix, 1 / scaleX, 1 / scaleY);
9315
9360
  }
9316
- const canvas = image.getCanvas(ceil(width) || 1, ceil(height) || 1, opacity);
9361
+ const canvas = image.getCanvas(ceil(width) || 1, ceil(height) || 1, data.opacity, data.filters);
9317
9362
  const pattern = image.getPattern(canvas, repeat || (Platform.origin.noRepeat || 'no-repeat'), imageMatrix, paint);
9318
9363
  paint.style = pattern;
9319
9364
  paint.patternId = id;
@@ -9357,7 +9402,7 @@ function checkImage(ui, canvas, paint, allowPaint) {
9357
9402
  canvas.opacity *= data.opacity;
9358
9403
  if (data.transform)
9359
9404
  canvas.transform(data.transform);
9360
- canvas.drawImage(paint.image.view, 0, 0, data.width, data.height);
9405
+ canvas.drawImage(paint.image.getFull(data.filters), 0, 0, data.width, data.height);
9361
9406
  canvas.restore();
9362
9407
  return true;
9363
9408
  }
@@ -9367,7 +9412,7 @@ function checkImage(ui, canvas, paint, allowPaint) {
9367
9412
  }
9368
9413
  else {
9369
9414
  if (!paint.patternTask) {
9370
- paint.patternTask = ImageManager.patternTasker.add(() => __awaiter(this, undefined, undefined, function* () {
9415
+ paint.patternTask = ImageManager.patternTasker.add(() => __awaiter(this, void 0, void 0, function* () {
9371
9416
  paint.patternTask = null;
9372
9417
  if (canvas.bounds.hit(ui.__nowWorld))
9373
9418
  createPattern(ui, paint, pixelRatio);
@@ -10238,5 +10283,5 @@ try {
10238
10283
  }
10239
10284
  catch (_a) { }
10240
10285
 
10241
- export { AlignHelper, Answer, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, DataHelper, Debug, Direction4, Direction9, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Frame, FrameData, Group, GroupData, Image, ImageData, ImageEvent, ImageManager, IncrementId, 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, MyImage, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Platform, Plugin, Point, PointHelper, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Run, Star, StarData, State, StringNumberMap, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, 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 };
10286
+ export { AlignHelper, Answer, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, DataHelper, Debug, Direction4, Direction9, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, Frame, FrameData, Group, GroupData, Image, ImageData, ImageEvent, ImageManager, IncrementId, 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, MyImage, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Platform, Plugin, Point, PointHelper, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Run, Star, StarData, State, StringNumberMap, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, 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 };
10242
10287
  //# sourceMappingURL=miniapp.module.js.map