leafer-game 2.3.1 → 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);
@@ -7078,7 +7077,7 @@ class LeafLevelList {
7078
7077
  }
7079
7078
  }
7080
7079
 
7081
- const version = "2.3.1";
7080
+ const version = "2.3.2";
7082
7081
 
7083
7082
  if (typeof globalThis !== "undefined") {
7084
7083
  const globalLeafer = globalThis.Leafer || (globalThis.Leafer = {});
@@ -12320,19 +12319,21 @@ function compute(attrName, ui) {
12320
12319
  data.__removePaint(attrName, false);
12321
12320
  data["_" + attrName] = "";
12322
12321
  }
12322
+ recycleMap = undefined;
12323
12323
  }
12324
12324
 
12325
12325
  function getLeafPaint(attrName, paint, ui) {
12326
12326
  if (!isObject(paint) || paint.visible === false || paint.opacity === 0) return undefined;
12327
- let leafPaint;
12327
+ let leafPaint, oldPaint;
12328
12328
  const {boxBounds: boxBounds} = ui.__layout, {type: type} = paint;
12329
12329
  switch (type) {
12330
12330
  case "image":
12331
12331
  case "film":
12332
12332
  case "video":
12333
12333
  if (!paint.url) return undefined;
12334
- leafPaint = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
12335
- 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);
12336
12337
  break;
12337
12338
 
12338
12339
  case "linear":
@@ -12390,9 +12391,9 @@ let cache$1, box = new Bounds;
12390
12391
 
12391
12392
  const {isSame: isSame} = BoundsHelper;
12392
12393
 
12393
- function image(ui, attrName, paint, boxBounds, firstUse) {
12394
+ function image(ui, attrName, paint, boxBounds, oldPaint) {
12394
12395
  let leafPaint, event;
12395
- const image = ImageManager.get(paint, paint.type);
12396
+ const image = ImageManager.get(paint, paint.type), firstUse = !oldPaint;
12396
12397
  if (cache$1 && paint === cache$1.paint && isSame(boxBounds, cache$1.boxBounds)) {
12397
12398
  leafPaint = cache$1.leafPaint;
12398
12399
  } else {
@@ -12818,7 +12819,7 @@ function recycleImage(attrName, data) {
12818
12819
  url = image && image.url;
12819
12820
  if (url) {
12820
12821
  if (!recycleMap) recycleMap = {};
12821
- recycleMap[url] = true;
12822
+ recycleMap[url] = paint;
12822
12823
  ImageManager.recyclePaint(paint);
12823
12824
  if (paint.brush) PaintImage.recycleBrush(paint, ui);
12824
12825
  if (data.__willDestroy && image.parent) PaintImage.recycleFilter(image, ui);
@@ -15726,7 +15727,7 @@ ui$1.getMotionPoint = function(motionDistance, motionAround, offsetX = 0, offset
15726
15727
  if (!data.total) return {};
15727
15728
  const point = HighCurveHelper.getDistancePoint(data, motionDistance, pathElement.motionPrecision, offsetX);
15728
15729
  const {motionRotation: motionRotation} = this;
15729
- if (isNumber(motionRotation)) point.rotation += motionRotation;
15730
+ if (isNumber(motionRotation)) point.rotation += motionRotation; else if (motionRotation === false) point.rotation = 0;
15730
15731
  if (motionAround && motionAround !== "top-left") {
15731
15732
  AroundHelper.toPoint(motionAround, this.__layout.boxBounds, tempPoint);
15732
15733
  PointHelper.set(tempPoint, point.x - tempPoint.x * this.scaleX, point.y - tempPoint.y * this.scaleY);