@leafer-draw/miniapp 2.1.5 → 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.
@@ -3722,7 +3722,7 @@ const {arcTo: arcTo} = PathCommandDataHelper;
3722
3722
 
3723
3723
  const PathCorner = {
3724
3724
  smooth(data, cornerRadius, _cornerSmoothing) {
3725
- let command, lastCommand, commandLen;
3725
+ let command, lastCommand, commandLen, startXIndex, startYIndex, smoothLen;
3726
3726
  let i = 0, x = 0, y = 0, startX = 0, startY = 0, secondX = 0, secondY = 0, lastX = 0, lastY = 0;
3727
3727
  if (isArray(cornerRadius)) cornerRadius = cornerRadius[0] || 0;
3728
3728
  const len = data.length, three = len === 9;
@@ -3731,6 +3731,11 @@ const PathCorner = {
3731
3731
  command = data[i];
3732
3732
  switch (command) {
3733
3733
  case M:
3734
+ smoothLen = smooth.length;
3735
+ if (smoothLen && lastCommand !== Z) {
3736
+ smooth[startXIndex] = startX;
3737
+ smooth[startYIndex] = startY;
3738
+ }
3734
3739
  startX = lastX = data[i + 1];
3735
3740
  startY = lastY = data[i + 2];
3736
3741
  i += 3;
@@ -3741,6 +3746,8 @@ const PathCorner = {
3741
3746
  } else {
3742
3747
  smooth.push(M, startX, startY);
3743
3748
  }
3749
+ startXIndex = smoothLen + 1;
3750
+ startYIndex = smoothLen + 2;
3744
3751
  break;
3745
3752
 
3746
3753
  case L$1:
@@ -3779,8 +3786,8 @@ const PathCorner = {
3779
3786
  lastCommand = command;
3780
3787
  }
3781
3788
  if (command !== Z) {
3782
- smooth[1] = startX;
3783
- smooth[2] = startY;
3789
+ smooth[startXIndex] = startX;
3790
+ smooth[startYIndex] = startY;
3784
3791
  }
3785
3792
  return smooth;
3786
3793
  }
@@ -6976,7 +6983,7 @@ class LeafLevelList {
6976
6983
  }
6977
6984
  }
6978
6985
 
6979
- const version = "2.1.5";
6986
+ const version = "2.1.6";
6980
6987
 
6981
6988
  class LeaferCanvas extends LeaferCanvasBase {
6982
6989
  get allowBackgroundColor() {
@@ -10254,8 +10261,9 @@ function getPatternData(paint, box, image) {
10254
10261
  break;
10255
10262
 
10256
10263
  case "repeat":
10257
- case "brush":
10258
10264
  if (!sameBox || scaleX || rotation || skew) PaintImage.repeatMode(data, box, width, height, tempImage.x, tempImage.y, scaleX, scaleY, rotation, skew, align, paint.freeTransform);
10265
+
10266
+ case "brush":
10259
10267
  if (!repeat) data.repeat = "repeat";
10260
10268
  const count = isObject(repeat);
10261
10269
  if (gap || count) data.gap = getGapData(gap, count && repeat, tempImage.width, tempImage.height, box);
@@ -10266,7 +10274,7 @@ function getPatternData(paint, box, image) {
10266
10274
  default:
10267
10275
  if (scaleX) PaintImage.fillOrFitMode(data, box, tempImage.x, tempImage.y, scaleX, scaleY, rotation);
10268
10276
  }
10269
- if (!data.transform) {
10277
+ if (!data.transform && mode !== "brush") {
10270
10278
  if (box.x || box.y) translate$1(data.transform = get$3(), box.x, box.y);
10271
10279
  }
10272
10280
  if (scaleX) {
@@ -10395,8 +10403,9 @@ function createPattern(paint, ui, canvas, renderOptions) {
10395
10403
  let {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions), id = paint.film ? paint.nowIndex : scaleX + "-" + scaleY;
10396
10404
  if (paint.patternId !== id && !ui.destroyed) {
10397
10405
  if (!(Platform.image.isLarge(paint.image, scaleX, scaleY) && !paint.data.repeat)) {
10398
- const {image: image, brush: brush, data: data} = paint, {opacity: opacity} = paint.originPaint, {transform: transform, gap: gap} = data, fixScale = PaintImage.getPatternFixScale(paint, scaleX, scaleY);
10399
- let imageMatrix, xGap, yGap, {width: width, height: height} = image;
10406
+ const {image: image, brush: brush, data: data} = paint, {transform: transform, gap: gap} = data, fixScale = PaintImage.getPatternFixScale(paint, scaleX, scaleY);
10407
+ let imageMatrix, xGap, yGap, {width: width, height: height} = image, {opacity: opacity} = paint.originPaint;
10408
+ if (brush || opacity === 1) opacity = undefined;
10400
10409
  if (fixScale) scaleX *= fixScale, scaleY *= fixScale;
10401
10410
  width *= scaleX;
10402
10411
  height *= scaleY;