leafer-game 2.3.0 → 2.3.2

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.
@@ -4901,6 +4901,8 @@ const LeafHelper = {
4901
4901
  renderComplex(_leaf, _canvas, _options) {},
4902
4902
  updateComplex(_leaf) {},
4903
4903
  checkComplex(_leaf) {},
4904
+ updateFlowLayout(_leaf) {},
4905
+ updatePositionLayout(_leaf) {},
4904
4906
  moveWorld(t, x, y = 0, isInnerPoint, transition) {
4905
4907
  const local = isObject(x) ? Object.assign({}, x) : {
4906
4908
  x: x,
@@ -6206,6 +6208,7 @@ const LeafBounds = {
6206
6208
  },
6207
6209
  __updateLocalBoxBounds() {
6208
6210
  if (this.__hasMotionPath) this.__updateMotionPath();
6211
+ if (this.__hasPosition) LeafHelper.updatePositionLayout(this);
6209
6212
  if (this.__hasAutoLayout) this.__updateAutoLayout();
6210
6213
  toOuterOf$2(this.__layout.boxBounds, this.__local, this.__local);
6211
6214
  },
@@ -6232,11 +6235,7 @@ const LeafBounds = {
6232
6235
  if (this.isBranch) {
6233
6236
  this.__extraUpdate();
6234
6237
  if (this.__.flow) {
6235
- if (this.__layout.childrenSortChanged) this.__updateSortChildren();
6236
- if (this.__layout.boxChanged) this.__updateFlowLayout();
6237
- updateAllMatrix$3(this);
6238
- updateBounds$1(this, this);
6239
- if (this.__.__autoSide) this.__updateBoxBounds(true);
6238
+ LeafHelper.updateFlowLayout(this);
6240
6239
  } else {
6241
6240
  updateAllMatrix$3(this);
6242
6241
  updateBounds$1(this, this);
@@ -6568,6 +6567,7 @@ let Leaf = class Leaf {
6568
6567
  this.__layout.update();
6569
6568
  }
6570
6569
  forceUpdate(typeOrAttrName) {
6570
+ if (this.__hasComplex) LeafHelper.updateComplex(this);
6571
6571
  let quick;
6572
6572
  if (!typeOrAttrName || typeOrAttrName === "bounds") doBoundsType(this), quick = true; else if (typeOrAttrName === "surface") doSurfaceType(this),
6573
6573
  quick = true; else if (typeOrAttrName === "stroke") doStrokeType(this), quick = true;
@@ -7077,7 +7077,7 @@ class LeafLevelList {
7077
7077
  }
7078
7078
  }
7079
7079
 
7080
- const version = "2.3.0";
7080
+ const version = "2.3.2";
7081
7081
 
7082
7082
  if (typeof globalThis !== "undefined") {
7083
7083
  const globalLeafer = globalThis.Leafer || (globalThis.Leafer = {});
@@ -12319,19 +12319,21 @@ function compute(attrName, ui) {
12319
12319
  data.__removePaint(attrName, false);
12320
12320
  data["_" + attrName] = "";
12321
12321
  }
12322
+ recycleMap = undefined;
12322
12323
  }
12323
12324
 
12324
12325
  function getLeafPaint(attrName, paint, ui) {
12325
12326
  if (!isObject(paint) || paint.visible === false || paint.opacity === 0) return undefined;
12326
- let leafPaint;
12327
+ let leafPaint, oldPaint;
12327
12328
  const {boxBounds: boxBounds} = ui.__layout, {type: type} = paint;
12328
12329
  switch (type) {
12329
12330
  case "image":
12330
12331
  case "film":
12331
12332
  case "video":
12332
12333
  if (!paint.url) return undefined;
12333
- leafPaint = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
12334
- if (type !== "image") PaintImage[type](leafPaint);
12334
+ oldPaint = recycleMap && recycleMap[paint.url];
12335
+ leafPaint = PaintImage.image(ui, attrName, paint, boxBounds, oldPaint);
12336
+ if (type !== "image") PaintImage[type](leafPaint, oldPaint);
12335
12337
  break;
12336
12338
 
12337
12339
  case "linear":
@@ -12389,9 +12391,9 @@ let cache$1, box = new Bounds;
12389
12391
 
12390
12392
  const {isSame: isSame} = BoundsHelper;
12391
12393
 
12392
- function image(ui, attrName, paint, boxBounds, firstUse) {
12394
+ function image(ui, attrName, paint, boxBounds, oldPaint) {
12393
12395
  let leafPaint, event;
12394
- const image = ImageManager.get(paint, paint.type);
12396
+ const image = ImageManager.get(paint, paint.type), firstUse = !oldPaint;
12395
12397
  if (cache$1 && paint === cache$1.paint && isSame(boxBounds, cache$1.boxBounds)) {
12396
12398
  leafPaint = cache$1.leafPaint;
12397
12399
  } else {
@@ -12817,7 +12819,7 @@ function recycleImage(attrName, data) {
12817
12819
  url = image && image.url;
12818
12820
  if (url) {
12819
12821
  if (!recycleMap) recycleMap = {};
12820
- recycleMap[url] = true;
12822
+ recycleMap[url] = paint;
12821
12823
  ImageManager.recyclePaint(paint);
12822
12824
  if (paint.brush) PaintImage.recycleBrush(paint, ui);
12823
12825
  if (data.__willDestroy && image.parent) PaintImage.recycleFilter(image, ui);
@@ -15725,7 +15727,7 @@ ui$1.getMotionPoint = function(motionDistance, motionAround, offsetX = 0, offset
15725
15727
  if (!data.total) return {};
15726
15728
  const point = HighCurveHelper.getDistancePoint(data, motionDistance, pathElement.motionPrecision, offsetX);
15727
15729
  const {motionRotation: motionRotation} = this;
15728
- if (isNumber(motionRotation)) point.rotation += motionRotation;
15730
+ if (isNumber(motionRotation)) point.rotation += motionRotation; else if (motionRotation === false) point.rotation = 0;
15729
15731
  if (motionAround && motionAround !== "top-left") {
15730
15732
  AroundHelper.toPoint(motionAround, this.__layout.boxBounds, tempPoint);
15731
15733
  PointHelper.set(tempPoint, point.x - tempPoint.x * this.scaleX, point.y - tempPoint.y * this.scaleY);