leafer-ui 2.1.4 → 2.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -260,7 +260,7 @@ const IncrementId = {
260
260
  RUNTIME: "runtime",
261
261
  LEAF: "leaf",
262
262
  TASK: "task",
263
- CNAVAS: "canvas",
263
+ CANVAS: "canvas",
264
264
  IMAGE: "image",
265
265
  types: {},
266
266
  create(typeName) {
@@ -914,7 +914,7 @@ const PointHelper = {
914
914
  return quick ? t.x === point.x && t.y === point.y : float$2(t.x) === float$2(point.x) && float$2(t.y) === float$2(point.y);
915
915
  },
916
916
  reset(t) {
917
- P$5.reset(t);
917
+ t.x = t.y = 0;
918
918
  }
919
919
  };
920
920
 
@@ -1123,6 +1123,7 @@ class Matrix {
1123
1123
  }
1124
1124
  reset() {
1125
1125
  MatrixHelper.reset(this);
1126
+ return this;
1126
1127
  }
1127
1128
  }
1128
1129
 
@@ -2346,7 +2347,7 @@ class LeaferCanvasBase extends Canvas$1 {
2346
2347
  this.worldTransform = {};
2347
2348
  if (!config) config = minSize;
2348
2349
  this.manager = manager;
2349
- this.innerId = IncrementId.create(IncrementId.CNAVAS);
2350
+ this.innerId = IncrementId.create(IncrementId.CANVAS);
2350
2351
  const {width: width, height: height, pixelRatio: pixelRatio} = config;
2351
2352
  this.autoLayout = !width || !height;
2352
2353
  this.size.pixelRatio = pixelRatio || Platform.devicePixelRatio;
@@ -2496,6 +2497,7 @@ class LeaferCanvasBase extends Canvas$1 {
2496
2497
  }
2497
2498
  useGrayscaleAlpha(bounds) {
2498
2499
  this.setTempPixelBounds(bounds, true, true);
2500
+ if (!tempPixelBounds.width || !tempPixelBounds.height) return;
2499
2501
  let alpha, pixel;
2500
2502
  const {context: context} = this, imageData = context.getImageData(tempPixelBounds.x, tempPixelBounds.y, tempPixelBounds.width, tempPixelBounds.height), {data: data} = imageData;
2501
2503
  for (let i = 0, len = data.length; i < len; i += 4) {
@@ -3720,7 +3722,7 @@ const {arcTo: arcTo} = PathCommandDataHelper;
3720
3722
 
3721
3723
  const PathCorner = {
3722
3724
  smooth(data, cornerRadius, _cornerSmoothing) {
3723
- let command, lastCommand, commandLen;
3725
+ let command, lastCommand, commandLen, startXIndex, startYIndex, smoothLen;
3724
3726
  let i = 0, x = 0, y = 0, startX = 0, startY = 0, secondX = 0, secondY = 0, lastX = 0, lastY = 0;
3725
3727
  if (isArray(cornerRadius)) cornerRadius = cornerRadius[0] || 0;
3726
3728
  const len = data.length, three = len === 9;
@@ -3729,6 +3731,11 @@ const PathCorner = {
3729
3731
  command = data[i];
3730
3732
  switch (command) {
3731
3733
  case M:
3734
+ smoothLen = smooth.length;
3735
+ if (smoothLen && lastCommand !== Z) {
3736
+ smooth[startXIndex] = startX;
3737
+ smooth[startYIndex] = startY;
3738
+ }
3732
3739
  startX = lastX = data[i + 1];
3733
3740
  startY = lastY = data[i + 2];
3734
3741
  i += 3;
@@ -3739,6 +3746,8 @@ const PathCorner = {
3739
3746
  } else {
3740
3747
  smooth.push(M, startX, startY);
3741
3748
  }
3749
+ startXIndex = smoothLen + 1;
3750
+ startYIndex = smoothLen + 2;
3742
3751
  break;
3743
3752
 
3744
3753
  case L$1:
@@ -3777,8 +3786,8 @@ const PathCorner = {
3777
3786
  lastCommand = command;
3778
3787
  }
3779
3788
  if (command !== Z) {
3780
- smooth[1] = startX;
3781
- smooth[2] = startY;
3789
+ smooth[startXIndex] = startX;
3790
+ smooth[startYIndex] = startY;
3782
3791
  }
3783
3792
  return smooth;
3784
3793
  }
@@ -5519,6 +5528,7 @@ class LeafLayout {
5519
5528
  this.renderChanged = true;
5520
5529
  this.renderSpread || (this.renderSpread = 1);
5521
5530
  this.boundsChanged = true;
5531
+ this.hitCanvasChanged = true;
5522
5532
  }
5523
5533
  scaleChange() {
5524
5534
  this.scaleChanged = true;
@@ -6459,10 +6469,6 @@ let Leaf = class Leaf {
6459
6469
  }
6460
6470
  }
6461
6471
  }
6462
- set(_data, _isTemp) {}
6463
- get(_name) {
6464
- return undefined;
6465
- }
6466
6472
  setAttr(name, value) {
6467
6473
  this[name] = value;
6468
6474
  }
@@ -6479,37 +6485,10 @@ let Leaf = class Leaf {
6479
6485
  toString(options) {
6480
6486
  return JSON.stringify(this.toJSON(options));
6481
6487
  }
6482
- toSVG() {
6483
- return undefined;
6484
- }
6485
- __SVG(_data) {}
6486
- toHTML() {
6487
- return undefined;
6488
- }
6489
- __setAttr(_attrName, _newValue) {
6490
- return true;
6491
- }
6492
- __getAttr(_attrName) {
6493
- return undefined;
6494
- }
6495
- setProxyAttr(_attrName, _newValue) {}
6496
- getProxyAttr(_attrName) {
6497
- return undefined;
6498
- }
6499
- find(_condition, _options) {
6500
- return undefined;
6501
- }
6502
- findTag(_tag) {
6503
- return undefined;
6504
- }
6505
- findOne(_condition, _options) {
6506
- return undefined;
6507
- }
6508
- findId(_id) {
6509
- return undefined;
6488
+ scaleResize(scaleX, scaleY = scaleX, _noResize, _boundsType) {
6489
+ this.scaleX *= scaleX;
6490
+ this.scaleY *= scaleY;
6510
6491
  }
6511
- focus(_value) {}
6512
- updateState() {}
6513
6492
  updateLayout() {
6514
6493
  this.__layout.update();
6515
6494
  }
@@ -6525,27 +6504,6 @@ let Leaf = class Leaf {
6525
6504
  __extraUpdate() {
6526
6505
  if (this.leaferIsReady) this.leafer.layouter.addExtra(this);
6527
6506
  }
6528
- __updateWorldMatrix() {}
6529
- __updateLocalMatrix() {}
6530
- __updateWorldBounds() {}
6531
- __updateLocalBounds() {}
6532
- __updateLocalBoxBounds() {}
6533
- __updateLocalStrokeBounds() {}
6534
- __updateLocalRenderBounds() {}
6535
- __updateBoxBounds(_secondLayout, _bounds) {}
6536
- __updateContentBounds() {}
6537
- __updateStrokeBounds(_bounds) {}
6538
- __updateRenderBounds(_bounds) {}
6539
- __updateAutoLayout() {}
6540
- __updateFlowLayout() {}
6541
- __updateNaturalSize() {}
6542
- __updateStrokeSpread() {
6543
- return 0;
6544
- }
6545
- __updateRenderSpread() {
6546
- return 0;
6547
- }
6548
- __onUpdateSize() {}
6549
6507
  __updateEraser(value) {
6550
6508
  this.__hasEraser = value ? true : this.children.some(item => item.__.eraser);
6551
6509
  }
@@ -6559,7 +6517,6 @@ let Leaf = class Leaf {
6559
6517
  __updateMask(_value) {
6560
6518
  this.__hasMask = this.children.some(item => item.__.mask && item.__.visible && item.__.opacity);
6561
6519
  }
6562
- __renderMask(_canvas, _options) {}
6563
6520
  __getNowWorld(options) {
6564
6521
  if (options.matrix) {
6565
6522
  if (!this.__cameraWorld) this.__cameraWorld = {};
@@ -6715,76 +6672,12 @@ let Leaf = class Leaf {
6715
6672
  flip(axis, transition) {
6716
6673
  transform(this, getFlipTransform(this, axis), false, transition);
6717
6674
  }
6718
- scaleResize(scaleX, scaleY = scaleX, _noResize, _boundsType) {
6719
- this.scaleX *= scaleX;
6720
- this.scaleY *= scaleY;
6721
- }
6722
- __scaleResize(_scaleX, _scaleY) {}
6723
- resizeWidth(_width) {}
6724
- resizeHeight(_height) {}
6725
- hit(_world, _hitRadius) {
6726
- return true;
6727
- }
6728
- __hitWorld(_point, _forceHitFill) {
6729
- return true;
6730
- }
6731
- __hit(_local, _forceHitFill) {
6732
- return true;
6733
- }
6734
- __hitFill(_inner) {
6735
- return true;
6736
- }
6737
- __hitStroke(_inner, _strokeWidth) {
6738
- return true;
6739
- }
6740
- __hitPixel(_inner) {
6741
- return true;
6742
- }
6743
- __drawHitPath(_canvas) {}
6744
- __updateHitCanvas() {}
6745
- __render(_canvas, _options) {}
6746
- __drawFast(_canvas, _options) {}
6747
- __draw(_canvas, _options, _originCanvas) {}
6748
- __clip(_canvas, _options) {}
6749
- __renderShape(_canvas, _options) {}
6750
- __drawShape(_canvas, _options) {}
6751
- __updateWorldOpacity() {}
6752
- __updateChange() {}
6753
- __drawPath(_canvas) {}
6754
- __drawRenderPath(_canvas) {}
6755
- __updatePath() {}
6756
- __updateRenderPath(_updateCache) {}
6757
- getMotionPathData() {
6758
- return Plugin.need("path");
6759
- }
6760
- getMotionPoint(_motionDistance) {
6761
- return Plugin.need("path");
6762
- }
6763
- getMotionTotal() {
6764
- return 0;
6765
- }
6766
- __updateMotionPath() {}
6767
- __runAnimation(_type, _complete) {}
6768
- __updateSortChildren() {}
6769
- add(_child, _index) {}
6770
6675
  remove(_child, destroy) {
6771
6676
  if (this.parent) this.parent.remove(this, destroy);
6772
6677
  }
6773
6678
  dropTo(parent, index, resize) {
6774
6679
  drop(this, parent, index, resize);
6775
6680
  }
6776
- on(_type, _listener, _options) {}
6777
- off(_type, _listener, _options) {}
6778
- on_(_type, _listener, _bind, _options) {
6779
- return undefined;
6780
- }
6781
- off_(_id) {}
6782
- once(_type, _listener, _captureOrBind, _capture) {}
6783
- emit(_type, _event, _capture) {}
6784
- emitEvent(_event, _capture) {}
6785
- hasEvent(_type, _capture) {
6786
- return false;
6787
- }
6788
6681
  static changeAttr(attrName, defaultValue, fn) {
6789
6682
  fn ? this.addAttr(attrName, defaultValue, fn) : defineDataProcessor(this.prototype, attrName, defaultValue);
6790
6683
  }
@@ -7090,7 +6983,7 @@ class LeafLevelList {
7090
6983
  }
7091
6984
  }
7092
6985
 
7093
- const version = "2.1.4";
6986
+ const version = "2.1.6";
7094
6987
 
7095
6988
  const debug$5 = Debug.get("LeaferCanvas");
7096
6989
 
@@ -8771,17 +8664,12 @@ let UI = UI_1 = class UI extends Leaf {
8771
8664
  if (!path) this.__drawPathByBox(pen);
8772
8665
  return pen;
8773
8666
  }
8774
- reset(_data) {}
8775
8667
  set(data, _transition) {
8776
8668
  if (data) Object.assign(this, data);
8777
8669
  }
8778
8670
  get(name) {
8779
8671
  return isString(name) ? this.__.__getInput(name) : this.__.__getInputData(name);
8780
8672
  }
8781
- createProxyData() {
8782
- return undefined;
8783
- }
8784
- clearProxyData() {}
8785
8673
  find(_condition, _options) {
8786
8674
  return Plugin.need("find");
8787
8675
  }
@@ -8819,6 +8707,7 @@ let UI = UI_1 = class UI extends Leaf {
8819
8707
  data.lazy && !this.__inLazyBounds && !Export.running ? data.__needComputePaint = true : data.__computePaint();
8820
8708
  }
8821
8709
  }
8710
+ __updatePath() {}
8822
8711
  __updateRenderPath(updateCache) {
8823
8712
  const data = this.__;
8824
8713
  if (data.path) {
@@ -8854,7 +8743,6 @@ let UI = UI_1 = class UI extends Leaf {
8854
8743
  this.set(keyframe);
8855
8744
  return Plugin.need("animate");
8856
8745
  }
8857
- killAnimate(_type, _nextStyle) {}
8858
8746
  export(_filename, _options) {
8859
8747
  return Plugin.need("export");
8860
8748
  }
@@ -9030,8 +8918,6 @@ __decorate([ dataType(100) ], UI.prototype, "placeholderDelay", void 0);
9030
8918
 
9031
8919
  __decorate([ dataType({}) ], UI.prototype, "data", void 0);
9032
8920
 
9033
- __decorate([ rewrite(Leaf.prototype.reset) ], UI.prototype, "reset", null);
9034
-
9035
8921
  UI = UI_1 = __decorate([ useModule(UIBounds), useModule(UIRender), rewriteAble() ], UI);
9036
8922
 
9037
8923
  let Group = class Group extends UI {
@@ -9068,9 +8954,6 @@ let Group = class Group extends UI {
9068
8954
  }
9069
8955
  return data;
9070
8956
  }
9071
- pick(_hitPoint, _options) {
9072
- return undefined;
9073
- }
9074
8957
  addAt(child, index) {
9075
8958
  this.add(child, index);
9076
8959
  }
@@ -9080,11 +8963,6 @@ let Group = class Group extends UI {
9080
8963
  addBefore(child, before) {
9081
8964
  this.add(child, this.children.indexOf(before));
9082
8965
  }
9083
- add(_child, _index) {}
9084
- addMany(..._children) {}
9085
- remove(_child, _destroy) {}
9086
- removeAll(_destroy) {}
9087
- clear() {}
9088
8966
  };
9089
8967
 
9090
8968
  __decorate([ dataProcessor(GroupData) ], Group.prototype, "__", void 0);
@@ -10058,51 +9936,6 @@ let Pen = class Pen extends Group {
10058
9936
  this.add(path);
10059
9937
  return this;
10060
9938
  }
10061
- beginPath() {
10062
- return this;
10063
- }
10064
- moveTo(_x, _y) {
10065
- return this;
10066
- }
10067
- lineTo(_x, _y) {
10068
- return this;
10069
- }
10070
- bezierCurveTo(_x1, _y1, _x2, _y2, _x, _y) {
10071
- return this;
10072
- }
10073
- quadraticCurveTo(_x1, _y1, _x, _y) {
10074
- return this;
10075
- }
10076
- closePath() {
10077
- return this;
10078
- }
10079
- rect(_x, _y, _width, _height) {
10080
- return this;
10081
- }
10082
- roundRect(_x, _y, _width, _height, _cornerRadius) {
10083
- return this;
10084
- }
10085
- ellipse(_x, _y, _radiusX, _radiusY, _rotation, _startAngle, _endAngle, _anticlockwise) {
10086
- return this;
10087
- }
10088
- arc(_x, _y, _radius, _startAngle, _endAngle, _anticlockwise) {
10089
- return this;
10090
- }
10091
- arcTo(_x1, _y1, _x2, _y2, _radius) {
10092
- return this;
10093
- }
10094
- drawEllipse(_x, _y, _radiusX, _radiusY, _rotation, _startAngle, _endAngle, _anticlockwise) {
10095
- return this;
10096
- }
10097
- drawArc(_x, _y, _radius, _startAngle, _endAngle, _anticlockwise) {
10098
- return this;
10099
- }
10100
- drawPoints(_points, _curve, _close) {
10101
- return this;
10102
- }
10103
- clearPath() {
10104
- return this;
10105
- }
10106
9939
  paint() {
10107
9940
  const {pathElement: pathElement} = this;
10108
9941
  if (!pathElement.__layout.boxChanged) pathElement.forceUpdate("path");
@@ -12417,7 +12250,7 @@ function checkSizeAndCreateData(ui, attrName, paint, image, leafPaint, boxBounds
12417
12250
  needUpdate = false;
12418
12251
  }
12419
12252
  }
12420
- if (paint.mode === "brush") PaintImage.brush(leafPaint, ui);
12253
+ if (paint.mode === "brush") PaintImage.brush(leafPaint, ui, attrName);
12421
12254
  if (!leafPaint.data) {
12422
12255
  PaintImage.createData(leafPaint, image, paint, boxBounds);
12423
12256
  const {transform: transform} = leafPaint.data, {opacity: opacity} = paint;
@@ -12512,8 +12345,9 @@ function getPatternData(paint, box, image) {
12512
12345
  break;
12513
12346
 
12514
12347
  case "repeat":
12515
- case "brush":
12516
12348
  if (!sameBox || scaleX || rotation || skew) PaintImage.repeatMode(data, box, width, height, tempImage.x, tempImage.y, scaleX, scaleY, rotation, skew, align, paint.freeTransform);
12349
+
12350
+ case "brush":
12517
12351
  if (!repeat) data.repeat = "repeat";
12518
12352
  const count = isObject(repeat);
12519
12353
  if (gap || count) data.gap = getGapData(gap, count && repeat, tempImage.width, tempImage.height, box);
@@ -12524,7 +12358,7 @@ function getPatternData(paint, box, image) {
12524
12358
  default:
12525
12359
  if (scaleX) PaintImage.fillOrFitMode(data, box, tempImage.x, tempImage.y, scaleX, scaleY, rotation);
12526
12360
  }
12527
- if (!data.transform) {
12361
+ if (!data.transform && mode !== "brush") {
12528
12362
  if (box.x || box.y) translate$1(data.transform = get$3(), box.x, box.y);
12529
12363
  }
12530
12364
  if (scaleX) {
@@ -12653,8 +12487,9 @@ function createPattern(paint, ui, canvas, renderOptions) {
12653
12487
  let {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions), id = paint.film ? paint.nowIndex : scaleX + "-" + scaleY;
12654
12488
  if (paint.patternId !== id && !ui.destroyed) {
12655
12489
  if (!(Platform.image.isLarge(paint.image, scaleX, scaleY) && !paint.data.repeat)) {
12656
- const {image: image, brush: brush, data: data} = paint, {opacity: opacity} = paint.originPaint, {transform: transform, gap: gap} = data, fixScale = PaintImage.getPatternFixScale(paint, scaleX, scaleY);
12657
- let imageMatrix, xGap, yGap, {width: width, height: height} = image;
12490
+ const {image: image, brush: brush, data: data} = paint, {transform: transform, gap: gap} = data, fixScale = PaintImage.getPatternFixScale(paint, scaleX, scaleY);
12491
+ let imageMatrix, xGap, yGap, {width: width, height: height} = image, {opacity: opacity} = paint.originPaint;
12492
+ if (brush || opacity === 1) opacity = undefined;
12658
12493
  if (fixScale) scaleX *= fixScale, scaleY *= fixScale;
12659
12494
  width *= scaleX;
12660
12495
  height *= scaleY;