@leafer-draw/worker 2.2.11 → 2.3.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.
@@ -470,7 +470,7 @@ function getMatrixData() {
470
470
 
471
471
  const {sin: sin$5, cos: cos$5, acos: acos, sqrt: sqrt$3} = Math;
472
472
 
473
- const {float: float$2} = MathHelper;
473
+ const {float: float$3} = MathHelper;
474
474
 
475
475
  const tempPoint$4 = {};
476
476
 
@@ -721,12 +721,12 @@ const MatrixHelper = {
721
721
  const cosR = c / scaleY;
722
722
  rotation = PI_2 - (d > 0 ? acos(-cosR) : -acos(cosR));
723
723
  }
724
- const cosR = float$2(cos$5(rotation));
724
+ const cosR = float$3(cos$5(rotation));
725
725
  const sinR = sin$5(rotation);
726
- scaleX = float$2(scaleX), scaleY = float$2(scaleY);
727
- skewX = cosR ? float$2((c / scaleY + sinR) / cosR / OneRadian, 9) : 0;
728
- skewY = cosR ? float$2((b / scaleX - sinR) / cosR / OneRadian, 9) : 0;
729
- rotation = float$2(rotation / OneRadian);
726
+ scaleX = float$3(scaleX), scaleY = float$3(scaleY);
727
+ skewX = cosR ? float$3((c / scaleY + sinR) / cosR / OneRadian, 9) : 0;
728
+ skewY = cosR ? float$3((b / scaleX - sinR) / cosR / OneRadian, 9) : 0;
729
+ rotation = float$3(rotation / OneRadian);
730
730
  } else {
731
731
  scaleX = a;
732
732
  scaleY = d;
@@ -770,7 +770,7 @@ const MatrixHelper = {
770
770
 
771
771
  const M$6 = MatrixHelper;
772
772
 
773
- const {float: float$1} = MathHelper;
773
+ const {float: float$2} = MathHelper;
774
774
 
775
775
  const {toInnerPoint: toInnerPoint$2, toOuterPoint: toOuterPoint$3} = MatrixHelper;
776
776
 
@@ -916,7 +916,7 @@ const PointHelper = {
916
916
  return points;
917
917
  },
918
918
  isSame(t, point, quick) {
919
- return quick ? t.x === point.x && t.y === point.y : float$1(t.x) === float$1(point.x) && float$1(t.y) === float$1(point.y);
919
+ 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);
920
920
  },
921
921
  reset(t) {
922
922
  t.x = t.y = 0;
@@ -1272,7 +1272,7 @@ const {tempPointBounds: tempPointBounds$1, setPoint: setPoint$2, addPoint: addPo
1272
1272
 
1273
1273
  const {toOuterPoint: toOuterPoint$2} = MatrixHelper;
1274
1274
 
1275
- const {float: float, fourNumber: fourNumber} = MathHelper;
1275
+ const {float: float$1, fourNumber: fourNumber} = MathHelper;
1276
1276
 
1277
1277
  const {floor: floor$1, ceil: ceil$1} = Math;
1278
1278
 
@@ -1447,10 +1447,10 @@ const BoundsHelper = {
1447
1447
  }
1448
1448
  },
1449
1449
  float(t, maxLength) {
1450
- t.x = float(t.x, maxLength);
1451
- t.y = float(t.y, maxLength);
1452
- t.width = float(t.width, maxLength);
1453
- t.height = float(t.height, maxLength);
1450
+ t.x = float$1(t.x, maxLength);
1451
+ t.y = float$1(t.y, maxLength);
1452
+ t.width = float$1(t.width, maxLength);
1453
+ t.height = float$1(t.height, maxLength);
1454
1454
  },
1455
1455
  add(t, bounds, isPoint) {
1456
1456
  right$1 = t.x + t.width;
@@ -3742,6 +3742,8 @@ const {getCenterX: getCenterX, getCenterY: getCenterY} = PointHelper;
3742
3742
 
3743
3743
  const {arcTo: arcTo} = PathCommandDataHelper;
3744
3744
 
3745
+ const {float: float} = MathHelper;
3746
+
3745
3747
  const PathCorner = {
3746
3748
  smooth(data, cornerRadius, _cornerSmoothing) {
3747
3749
  let command, lastCommand, commandLen, startXIndex, startYIndex, smoothLen;
@@ -3782,7 +3784,7 @@ const PathCorner = {
3782
3784
  break;
3783
3785
 
3784
3786
  case Z:
3785
- arcTo(smooth, x, y, startX, startY, cornerRadius, lastX, lastY, three);
3787
+ if (float(x) === float(startX) && float(y) === float(startY)) x = lastX, y = lastY; else arcTo(smooth, x, y, startX, startY, cornerRadius, lastX, lastY, three);
3786
3788
  break;
3787
3789
 
3788
3790
  default:
@@ -5022,10 +5024,11 @@ const LeafHelper = {
5022
5024
  hasOffset(t) {
5023
5025
  return t.offsetX || t.offsetY;
5024
5026
  },
5025
- hasParent(p, parent) {
5027
+ hasParent(p, parent, minLevel) {
5026
5028
  if (!parent) return false;
5027
5029
  while (p) {
5028
5030
  if (parent === p) return true;
5031
+ if (minLevel && p.__level === minLevel) return;
5029
5032
  p = p.parent;
5030
5033
  }
5031
5034
  },
@@ -5043,6 +5046,10 @@ const LeafHelper = {
5043
5046
  }
5044
5047
  };
5045
5048
 
5049
+ function isTrackChanges(leafer) {
5050
+ return leafer && leafer.config.trackChanges;
5051
+ }
5052
+
5046
5053
  const L = LeafHelper;
5047
5054
 
5048
5055
  const {updateAllMatrix: updateAllMatrix$3, updateMatrix: updateMatrix$1, updateAllWorldOpacity: updateAllWorldOpacity, updateAllChange: updateAllChange$1, updateChange: updateChange} = L;
@@ -5097,6 +5104,16 @@ const BranchHelper = {
5097
5104
  sort(a, b) {
5098
5105
  return a.__.zIndex === b.__.zIndex ? a.__tempNumber - b.__tempNumber : a.__.zIndex - b.__.zIndex;
5099
5106
  },
5107
+ zIndex(branch, child, index) {
5108
+ const {children: children} = branch, before = children[index - 1], after = children[index];
5109
+ if (before && after) {
5110
+ if (child.zIndex < before.zIndex || child.zIndex > after.zIndex) child.zIndex = (before.zIndex + after.zIndex) / 2;
5111
+ } else if (before) {
5112
+ if (child.zIndex < before.zIndex) child.zIndex = before.zIndex + 1;
5113
+ } else if (after) {
5114
+ if (child.zIndex > after.zIndex) child.zIndex = after.zIndex - 1;
5115
+ }
5116
+ },
5100
5117
  pushAllChildBranch(branch, leafList) {
5101
5118
  branch.__tempNumber = 1;
5102
5119
  if (branch.__.__childBranchNumber) {
@@ -6063,7 +6080,7 @@ const LeafDataProxy = {
6063
6080
  },
6064
6081
  emitPropertyEvent(type, name, oldValue, newValue) {
6065
6082
  const {leafer: leafer} = this;
6066
- if (leafer.config.trackChanges || leafer.zoomLayer === this) {
6083
+ if (isTrackChanges(leafer) || leafer.zoomLayer === this) {
6067
6084
  const event = new PropertyEvent(type, this, name, oldValue, newValue);
6068
6085
  this.isLeafer || this.hasEvent(type) && this.emitEvent(event);
6069
6086
  leafer.emitEvent(event);
@@ -6518,7 +6535,6 @@ let Leaf = class Leaf {
6518
6535
  }
6519
6536
  }
6520
6537
  __bindFrame(frame) {
6521
- if (this.isFrame && frame !== null) frame = this;
6522
6538
  this.frame = frame;
6523
6539
  if (this.isBranch) {
6524
6540
  const {children: children} = this;
@@ -6551,6 +6567,7 @@ let Leaf = class Leaf {
6551
6567
  this.__layout.update();
6552
6568
  }
6553
6569
  forceUpdate(typeOrAttrName) {
6570
+ if (this.__hasComplex) LeafHelper.updateComplex(this);
6554
6571
  let quick;
6555
6572
  if (!typeOrAttrName || typeOrAttrName === "bounds") doBoundsType(this), quick = true; else if (typeOrAttrName === "surface") doSurfaceType(this),
6556
6573
  quick = true; else if (typeOrAttrName === "stroke") doStrokeType(this), quick = true;
@@ -6829,14 +6846,17 @@ let Branch = class Branch extends Leaf {
6829
6846
  }
6830
6847
  if (child.parent) child.parent.remove(child);
6831
6848
  child.parent = this;
6832
- noIndex ? this.children.push(child) : this.children.splice(index, 0, child);
6849
+ if (noIndex) this.children.push(child); else {
6850
+ BranchHelper.zIndex(this, child, index);
6851
+ this.children.splice(index, 0, child);
6852
+ }
6833
6853
  if (child.isBranch) this.__.__childBranchNumber = (this.__.__childBranchNumber || 0) + 1;
6834
6854
  const childLayout = child.__layout;
6835
6855
  childLayout.boxChanged || childLayout.boxChange();
6836
6856
  childLayout.matrixChanged || childLayout.matrixChange();
6837
6857
  if (child.__parentChange) child.__parentChange.forEach(item => item(this, child));
6838
6858
  if (child.__bubbleMap) child.__emitLifeEvent(ChildEvent.ADD);
6839
- if (this.isFrame) child.__bindFrame(this);
6859
+ if (this.frame) child.__bindFrame(this.frame);
6840
6860
  if (this.leafer) {
6841
6861
  child.__bindLeafer(this.leafer);
6842
6862
  if (this.leafer.created) this.__emitChildEvent(ChildEvent.ADD, child);
@@ -6896,11 +6916,11 @@ let Branch = class Branch extends Leaf {
6896
6916
  if (this.leafer.hitCanvasManager) this.leafer.hitCanvasManager.clear();
6897
6917
  }
6898
6918
  }
6899
- if (this.isFrame) child.__bindFrame(null);
6919
+ if (child.frame && !child.isFrame) child.__bindFrame(null);
6900
6920
  }
6901
6921
  __emitChildEvent(type, child) {
6902
6922
  const {leafer: leafer} = this;
6903
- if (leafer.config.trackChanges || leafer.zoomLayer === this) {
6923
+ if (isTrackChanges(leafer) || leafer.zoomLayer === this) {
6904
6924
  const event = new ChildEvent(type, child, this);
6905
6925
  if (this.hasEvent(type) && !this.isLeafer) this.emitEvent(event);
6906
6926
  leafer.emitEvent(event);
@@ -7057,7 +7077,13 @@ class LeafLevelList {
7057
7077
  }
7058
7078
  }
7059
7079
 
7060
- const version = "2.2.11";
7080
+ const version = "2.3.1";
7081
+
7082
+ if (typeof globalThis !== "undefined") {
7083
+ const globalLeafer = globalThis.Leafer || (globalThis.Leafer = {});
7084
+ globalLeafer.version = version;
7085
+ globalLeafer.Plugin = Plugin;
7086
+ }
7061
7087
 
7062
7088
  class LeaferCanvas extends LeaferCanvasBase {
7063
7089
  get allowBackgroundColor() {
@@ -7794,6 +7820,17 @@ function zoomLayerType() {
7794
7820
  };
7795
7821
  }
7796
7822
 
7823
+ function frameType() {
7824
+ return (target, key) => {
7825
+ defineKey(target, key, {
7826
+ set(_value) {},
7827
+ get() {
7828
+ return this;
7829
+ }
7830
+ });
7831
+ };
7832
+ }
7833
+
7797
7834
  function createAttr(defaultValue) {
7798
7835
  return (target, key) => {
7799
7836
  defineKey(target, key, createDescriptor(key, defaultValue));
@@ -9197,6 +9234,8 @@ let Frame = class Frame extends Box {
9197
9234
  }
9198
9235
  };
9199
9236
 
9237
+ __decorate([ frameType() ], Frame.prototype, "frame", void 0);
9238
+
9200
9239
  __decorate([ dataProcessor(FrameData) ], Frame.prototype, "__", void 0);
9201
9240
 
9202
9241
  __decorate([ surfaceType("#FFFFFF") ], Frame.prototype, "fill", void 0);
@@ -11426,4 +11465,4 @@ Object.assign(Effect, EffectModule);
11426
11465
 
11427
11466
  useCanvas();
11428
11467
 
11429
- export { AlignHelper, Answer, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, 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, FourNumberHelper, Frame, FrameData, Group, GroupData, Image, ImageData, ImageEvent, ImageManager, IncrementId, LayoutEvent, Layouter, LayouterHelper, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferFilm, LeaferImage, LeaferVideo, Line, LineData, MathHelper, Matrix, MatrixHelper, MyImage, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathCommandNodeHelper, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNodeHandleType, 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, UnitConvertHelper, WaitHelper, WatchEvent, Watcher, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, createAttr, createDescriptor, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, dimType, doBoundsType, doStrokeType, doSurfaceType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerPointsCurve, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$3 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
11468
+ export { AlignHelper, Answer, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, 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, FourNumberHelper, Frame, FrameData, Group, GroupData, Image, ImageData, ImageEvent, ImageManager, IncrementId, LayoutEvent, Layouter, LayouterHelper, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferFilm, LeaferImage, LeaferVideo, Line, LineData, MathHelper, Matrix, MatrixHelper, MyImage, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathCommandNodeHelper, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNodeHandleType, 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, UnitConvertHelper, WaitHelper, WatchEvent, Watcher, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, createAttr, createDescriptor, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, dimType, doBoundsType, doStrokeType, doSurfaceType, effectType, emptyData, eraserType, extraPropertyEventMap, frameType, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite, isNull, isNumber, isObject, isString, isTrackChanges, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerPointsCurve, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$3 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };