@leafer-draw/worker 2.0.6 → 2.0.7

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.
@@ -2896,6 +2896,32 @@ const BezierHelper = {
2896
2896
  getDerivative(t, fromV, v1, v2, toV) {
2897
2897
  const o = 1 - t;
2898
2898
  return 3 * o * o * (v1 - fromV) + 6 * o * t * (v2 - v1) + 3 * t * t * (toV - v2);
2899
+ },
2900
+ cut(t, fromX, fromY, x1, y1, x2, y2, toX, toY) {
2901
+ if (t <= 0) return {
2902
+ left: null,
2903
+ right: [ x1, y1, x2, y2, toX, toY ]
2904
+ }; else if (t >= 1) return {
2905
+ left: [ x1, y1, x2, y2, toX, toY ],
2906
+ right: null
2907
+ };
2908
+ const u = 1 - t;
2909
+ const leftX1 = fromX * u + x1 * t;
2910
+ const leftY1 = fromY * u + y1 * t;
2911
+ const P12x = x1 * u + x2 * t;
2912
+ const P12y = y1 * u + y2 * t;
2913
+ const rightX2 = x2 * u + toX * t;
2914
+ const rightY2 = y2 * u + toY * t;
2915
+ const leftX2 = leftX1 * u + P12x * t;
2916
+ const leftY2 = leftY1 * u + P12y * t;
2917
+ const rightX1 = P12x * u + rightX2 * t;
2918
+ const rightY1 = P12y * u + rightY2 * t;
2919
+ const leftX = leftX2 * u + rightX1 * t;
2920
+ const leftY = leftY2 * u + rightY1 * t;
2921
+ return {
2922
+ left: [ leftX1, leftY1, leftX2, leftY2, leftX, leftY ],
2923
+ right: [ rightX1, rightY1, rightX2, rightY2, toX, toY ]
2924
+ };
2899
2925
  }
2900
2926
  };
2901
2927
 
@@ -7053,7 +7079,7 @@ class LeafLevelList {
7053
7079
  }
7054
7080
  }
7055
7081
 
7056
- const version = "2.0.6";
7082
+ const version = "2.0.7";
7057
7083
 
7058
7084
  class LeaferCanvas extends LeaferCanvasBase {
7059
7085
  get allowBackgroundColor() {
@@ -8383,7 +8409,7 @@ let UI = UI_1 = class UI extends Leaf {
8383
8409
  __updateRenderPath(updateCache) {
8384
8410
  const data = this.__;
8385
8411
  if (data.path) {
8386
- data.__pathForRender = data.cornerRadius ? PathCorner.smooth(data.path, data.cornerRadius, data.cornerSmoothing) : data.path;
8412
+ data.__pathForRender = data.cornerRadius || data.path.radius ? PathCorner.smooth(data.path, data.cornerRadius, data.cornerSmoothing) : data.path;
8387
8413
  if (data.__useArrow) PathArrow.addArrows(this, updateCache);
8388
8414
  } else data.__pathForRender && (data.__pathForRender = undefined);
8389
8415
  }
@@ -9216,7 +9242,7 @@ let Ellipse = class Ellipse extends UI {
9216
9242
  }
9217
9243
  }
9218
9244
  if (!open) closePath$2(path);
9219
- if (Platform.ellipseToCurve || data.__useArrow) data.path = this.getPath(true);
9245
+ if (Platform.ellipseToCurve || data.__useArrow || data.cornerRadius) data.path = this.getPath(true);
9220
9246
  }
9221
9247
  };
9222
9248
 
@@ -9242,7 +9268,7 @@ let Polygon = class Polygon extends UI {
9242
9268
  const data = this.__;
9243
9269
  const path = data.path = [];
9244
9270
  if (data.points) {
9245
- drawPoints$1(path, data.points, data.curve, true);
9271
+ drawPoints$1(path, data.points, data.curve, data.closed);
9246
9272
  } else {
9247
9273
  const {width: width, height: height, sides: sides} = data;
9248
9274
  const rx = width / 2, ry = height / 2;