@leafer-ui/worker 1.6.7 → 1.7.0
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.
- package/dist/worker.cjs +17 -11
- package/dist/worker.esm.js +17 -11
- package/dist/worker.esm.min.js +1 -1
- package/dist/worker.esm.min.js.map +1 -1
- package/dist/worker.js +87 -62
- package/dist/worker.min.cjs +1 -1
- package/dist/worker.min.cjs.map +1 -1
- package/dist/worker.min.js +1 -1
- package/dist/worker.min.js.map +1 -1
- package/dist/worker.module.js +87 -62
- package/dist/worker.module.min.js +1 -1
- package/dist/worker.module.min.js.map +1 -1
- package/package.json +11 -11
package/dist/worker.module.js
CHANGED
|
@@ -43,7 +43,7 @@ const IncrementId = {
|
|
|
43
43
|
};
|
|
44
44
|
const I$2 = IncrementId;
|
|
45
45
|
|
|
46
|
-
const { round: round$3, pow: pow$1, PI: PI$
|
|
46
|
+
const { round: round$3, pow: pow$1, PI: PI$3 } = Math;
|
|
47
47
|
const MathHelper = {
|
|
48
48
|
within(value, min, max) {
|
|
49
49
|
if (typeof min === 'object')
|
|
@@ -139,9 +139,9 @@ const MathHelper = {
|
|
|
139
139
|
function randInt(num) {
|
|
140
140
|
return Math.round(Math.random() * num);
|
|
141
141
|
}
|
|
142
|
-
const OneRadian = PI$
|
|
143
|
-
const PI2 = PI$
|
|
144
|
-
const PI_2 = PI$
|
|
142
|
+
const OneRadian = PI$3 / 180;
|
|
143
|
+
const PI2 = PI$3 * 2;
|
|
144
|
+
const PI_2 = PI$3 / 2;
|
|
145
145
|
function getPointData() { return { x: 0, y: 0 }; }
|
|
146
146
|
function getBoundsData() { return { x: 0, y: 0, width: 0, height: 0 }; }
|
|
147
147
|
function getMatrixData() { return { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 }; }
|
|
@@ -436,7 +436,7 @@ const MatrixHelper = {
|
|
|
436
436
|
const M$6 = MatrixHelper;
|
|
437
437
|
|
|
438
438
|
const { toInnerPoint: toInnerPoint$2, toOuterPoint: toOuterPoint$3 } = MatrixHelper;
|
|
439
|
-
const { sin: sin$4, cos: cos$4, abs: abs$4, sqrt: sqrt$2, atan2: atan2$2, min: min$1, round: round$2
|
|
439
|
+
const { sin: sin$4, cos: cos$4, abs: abs$4, sqrt: sqrt$2, atan2: atan2$2, min: min$1, round: round$2 } = Math;
|
|
440
440
|
const PointHelper = {
|
|
441
441
|
defaultPoint: getPointData(),
|
|
442
442
|
tempPoint: {},
|
|
@@ -549,10 +549,11 @@ const PointHelper = {
|
|
|
549
549
|
getRadianFrom(fromX, fromY, originX, originY, toX, toY, toOriginX, toOriginY) {
|
|
550
550
|
if (toOriginX === undefined)
|
|
551
551
|
toOriginX = originX, toOriginY = originY;
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
const
|
|
555
|
-
|
|
552
|
+
const a = fromX - originX;
|
|
553
|
+
const b = fromY - originY;
|
|
554
|
+
const c = toX - toOriginX;
|
|
555
|
+
const d = toY - toOriginY;
|
|
556
|
+
return Math.atan2(a * d - b * c, a * c + b * d);
|
|
556
557
|
},
|
|
557
558
|
getAtan2(t, to) {
|
|
558
559
|
return atan2$2(to.y - t.y, to.x - t.x);
|
|
@@ -3339,7 +3340,7 @@ const { getCenterX, getCenterY } = PointHelper;
|
|
|
3339
3340
|
const { arcTo } = PathCommandDataHelper;
|
|
3340
3341
|
const PathCorner = {
|
|
3341
3342
|
smooth(data, cornerRadius, _cornerSmoothing) {
|
|
3342
|
-
let command, commandLen;
|
|
3343
|
+
let command, lastCommand, commandLen;
|
|
3343
3344
|
let i = 0, x = 0, y = 0, startX = 0, startY = 0, secondX = 0, secondY = 0, lastX = 0, lastY = 0;
|
|
3344
3345
|
const len = data.length;
|
|
3345
3346
|
const smooth = [];
|
|
@@ -3377,8 +3378,10 @@ const PathCorner = {
|
|
|
3377
3378
|
lastY = y;
|
|
3378
3379
|
break;
|
|
3379
3380
|
case Z:
|
|
3380
|
-
|
|
3381
|
-
|
|
3381
|
+
if (lastCommand !== Z) {
|
|
3382
|
+
arcTo(smooth, startX, startY, secondX, secondY, cornerRadius, lastX, lastY);
|
|
3383
|
+
smooth.push(Z);
|
|
3384
|
+
}
|
|
3382
3385
|
i += 1;
|
|
3383
3386
|
break;
|
|
3384
3387
|
default:
|
|
@@ -3387,6 +3390,7 @@ const PathCorner = {
|
|
|
3387
3390
|
smooth.push(data[i + j]);
|
|
3388
3391
|
i += commandLen;
|
|
3389
3392
|
}
|
|
3393
|
+
lastCommand = command;
|
|
3390
3394
|
}
|
|
3391
3395
|
if (command !== Z) {
|
|
3392
3396
|
smooth[1] = startX;
|
|
@@ -3883,12 +3887,12 @@ class LeaferImage {
|
|
|
3883
3887
|
try {
|
|
3884
3888
|
if (transform && pattern.setTransform) {
|
|
3885
3889
|
pattern.setTransform(transform);
|
|
3886
|
-
transform =
|
|
3890
|
+
transform = undefined;
|
|
3887
3891
|
}
|
|
3888
3892
|
}
|
|
3889
3893
|
catch (_a) { }
|
|
3890
3894
|
if (paint)
|
|
3891
|
-
paint
|
|
3895
|
+
DataHelper.stintSet(paint, 'transform', transform);
|
|
3892
3896
|
return pattern;
|
|
3893
3897
|
}
|
|
3894
3898
|
destroy() {
|
|
@@ -3993,10 +3997,14 @@ function pathInputType(defaultValue) {
|
|
|
3993
3997
|
}));
|
|
3994
3998
|
}
|
|
3995
3999
|
const pathType = boundsType;
|
|
3996
|
-
function affectStrokeBoundsType(defaultValue) {
|
|
4000
|
+
function affectStrokeBoundsType(defaultValue, useStroke) {
|
|
3997
4001
|
return decorateLeafAttr(defaultValue, (key) => attr({
|
|
3998
4002
|
set(value) {
|
|
3999
|
-
this.__setAttr(key, value)
|
|
4003
|
+
if (this.__setAttr(key, value)) {
|
|
4004
|
+
doStrokeType(this);
|
|
4005
|
+
if (useStroke)
|
|
4006
|
+
this.__.__useStroke = true;
|
|
4007
|
+
}
|
|
4000
4008
|
}
|
|
4001
4009
|
}));
|
|
4002
4010
|
}
|
|
@@ -5422,6 +5430,8 @@ const LeafBounds = {
|
|
|
5422
5430
|
|
|
5423
5431
|
const LeafRender = {
|
|
5424
5432
|
__render(canvas, options) {
|
|
5433
|
+
if (options.shape)
|
|
5434
|
+
return this.__renderShape(canvas, options);
|
|
5425
5435
|
if (this.__worldOpacity) {
|
|
5426
5436
|
const data = this.__;
|
|
5427
5437
|
canvas.setWorld(this.__nowWorld = this.__getNowWorld(options));
|
|
@@ -5431,12 +5441,10 @@ const LeafRender = {
|
|
|
5431
5441
|
return this.__renderEraser(canvas, options);
|
|
5432
5442
|
const tempCanvas = canvas.getSameCanvas(true, true);
|
|
5433
5443
|
this.__draw(tempCanvas, options, canvas);
|
|
5434
|
-
if (this.__worldFlipped)
|
|
5444
|
+
if (this.__worldFlipped)
|
|
5435
5445
|
canvas.copyWorldByReset(tempCanvas, this.__nowWorld, null, data.__blendMode, true);
|
|
5436
|
-
|
|
5437
|
-
else {
|
|
5446
|
+
else
|
|
5438
5447
|
canvas.copyWorldToInner(tempCanvas, this.__nowWorld, this.__layout.renderBounds, data.__blendMode);
|
|
5439
|
-
}
|
|
5440
5448
|
tempCanvas.recycle(this.__nowWorld);
|
|
5441
5449
|
}
|
|
5442
5450
|
else {
|
|
@@ -5446,6 +5454,12 @@ const LeafRender = {
|
|
|
5446
5454
|
Debug.drawBounds(this, canvas, options);
|
|
5447
5455
|
}
|
|
5448
5456
|
},
|
|
5457
|
+
__renderShape(canvas, options) {
|
|
5458
|
+
if (this.__worldOpacity) {
|
|
5459
|
+
canvas.setWorld(this.__nowWorld = this.__getNowWorld(options));
|
|
5460
|
+
this.__drawShape(canvas, options);
|
|
5461
|
+
}
|
|
5462
|
+
},
|
|
5449
5463
|
__clip(canvas, options) {
|
|
5450
5464
|
if (this.__worldOpacity) {
|
|
5451
5465
|
canvas.setWorld(this.__nowWorld = this.__getNowWorld(options));
|
|
@@ -5865,7 +5879,8 @@ let Leaf = class Leaf {
|
|
|
5865
5879
|
__drawFast(_canvas, _options) { }
|
|
5866
5880
|
__draw(_canvas, _options, _originCanvas) { }
|
|
5867
5881
|
__clip(_canvas, _options) { }
|
|
5868
|
-
__renderShape(_canvas, _options
|
|
5882
|
+
__renderShape(_canvas, _options) { }
|
|
5883
|
+
__drawShape(_canvas, _options) { }
|
|
5869
5884
|
__updateWorldOpacity() { }
|
|
5870
5885
|
__updateChange() { }
|
|
5871
5886
|
__drawPath(_canvas) { }
|
|
@@ -6233,7 +6248,7 @@ class LeafLevelList {
|
|
|
6233
6248
|
}
|
|
6234
6249
|
}
|
|
6235
6250
|
|
|
6236
|
-
const version = "1.
|
|
6251
|
+
const version = "1.7.0";
|
|
6237
6252
|
|
|
6238
6253
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6239
6254
|
get allowBackgroundColor() { return true; }
|
|
@@ -7150,13 +7165,9 @@ class UIData extends LeafData {
|
|
|
7150
7165
|
else
|
|
7151
7166
|
return strokeWidth;
|
|
7152
7167
|
}
|
|
7153
|
-
get __hasStroke() { return this.stroke && this.strokeWidth; }
|
|
7154
|
-
get __hasHalf() { const t = this; return (t.stroke && t.strokeAlign === 'center' && t.strokeWidth % 2) || undefined; }
|
|
7155
7168
|
get __hasMultiPaint() {
|
|
7156
7169
|
const t = this;
|
|
7157
|
-
|
|
7158
|
-
return true;
|
|
7159
|
-
return t.fill && this.__hasStroke;
|
|
7170
|
+
return (t.fill && this.__useStroke) || (t.__isFills && t.fill.length > 1) || (t.__isStrokes && t.stroke.length > 1) || t.__useEffect;
|
|
7160
7171
|
}
|
|
7161
7172
|
get __clipAfterFill() { const t = this; return (t.cornerRadius || t.innerShadow || t.__pathInputed); }
|
|
7162
7173
|
get __hasSurface() { const t = this; return (t.fill || t.stroke); }
|
|
@@ -7447,15 +7458,18 @@ const { stintSet: stintSet$1 } = DataHelper;
|
|
|
7447
7458
|
const UIRender = {
|
|
7448
7459
|
__updateChange() {
|
|
7449
7460
|
const data = this.__;
|
|
7461
|
+
if (data.__useStroke) {
|
|
7462
|
+
const useStroke = data.__useStroke = !!(data.stroke && data.strokeWidth);
|
|
7463
|
+
stintSet$1(this.__world, 'half', useStroke && data.strokeAlign === 'center' && data.strokeWidth % 2);
|
|
7464
|
+
stintSet$1(data, '__fillAfterStroke', useStroke && data.strokeAlign === 'outside' && data.fill && !data.__isTransparentFill);
|
|
7465
|
+
}
|
|
7450
7466
|
if (data.__useEffect) {
|
|
7451
7467
|
const { shadow, fill, stroke } = data, otherEffect = data.innerShadow || data.blur || data.backgroundBlur || data.filter;
|
|
7452
7468
|
stintSet$1(data, '__isFastShadow', shadow && !otherEffect && shadow.length < 2 && !shadow[0].spread && !(shadow[0].box && data.__isTransparentFill) && fill && !(fill instanceof Array && fill.length > 1) && (this.useFastShadow || !stroke || (stroke && data.strokeAlign === 'inside')));
|
|
7453
7469
|
data.__useEffect = !!(shadow || otherEffect);
|
|
7454
7470
|
}
|
|
7455
|
-
stintSet$1(this.__world, 'half', data.__hasHalf);
|
|
7456
|
-
stintSet$1(data, '__fillAfterStroke', data.stroke && data.strokeAlign === 'outside' && data.fill && !data.__isTransparentFill);
|
|
7457
7471
|
data.__checkSingle();
|
|
7458
|
-
stintSet$1(data, '__complex', data.__isFills || data.__isStrokes || data.cornerRadius || data.__useEffect);
|
|
7472
|
+
stintSet$1(data, '__complex', (data.__isFills || data.__isStrokes || data.cornerRadius || data.__useEffect));
|
|
7459
7473
|
},
|
|
7460
7474
|
__drawFast(canvas, options) {
|
|
7461
7475
|
drawFast(this, canvas, options);
|
|
@@ -7513,18 +7527,15 @@ const UIRender = {
|
|
|
7513
7527
|
this.__drawFast(canvas, options);
|
|
7514
7528
|
}
|
|
7515
7529
|
},
|
|
7516
|
-
|
|
7517
|
-
|
|
7518
|
-
|
|
7519
|
-
|
|
7520
|
-
this.
|
|
7521
|
-
|
|
7522
|
-
|
|
7523
|
-
|
|
7524
|
-
|
|
7525
|
-
if (stroke && !ignoreStroke)
|
|
7526
|
-
this.__.__isAlphaPixelStroke ? Paint.strokes(stroke, this, canvas) : Paint.stroke('#000000', this, canvas);
|
|
7527
|
-
}
|
|
7530
|
+
__drawShape(canvas, options) {
|
|
7531
|
+
this.__drawRenderPath(canvas);
|
|
7532
|
+
const data = this.__, { fill, stroke } = data;
|
|
7533
|
+
if (fill && !options.ignoreFill)
|
|
7534
|
+
data.__isAlphaPixelFill ? Paint.fills(fill, this, canvas) : Paint.fill('#000000', this, canvas);
|
|
7535
|
+
if (data.__isCanvas)
|
|
7536
|
+
this.__drawAfterFill(canvas, options);
|
|
7537
|
+
if (stroke && !options.ignoreStroke)
|
|
7538
|
+
data.__isAlphaPixelStroke ? Paint.strokes(stroke, this, canvas) : Paint.stroke('#000000', this, canvas);
|
|
7528
7539
|
},
|
|
7529
7540
|
__drawAfterFill(canvas, options) {
|
|
7530
7541
|
if (this.__.__clipAfterFill) {
|
|
@@ -7649,12 +7660,14 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
7649
7660
|
}
|
|
7650
7661
|
}
|
|
7651
7662
|
__updateRenderPath() {
|
|
7652
|
-
|
|
7653
|
-
|
|
7663
|
+
const data = this.__;
|
|
7664
|
+
if (data.path) {
|
|
7654
7665
|
data.__pathForRender = data.cornerRadius ? PathCorner.smooth(data.path, data.cornerRadius, data.cornerSmoothing) : data.path;
|
|
7655
7666
|
if (data.__useArrow)
|
|
7656
7667
|
PathArrow.addArrows(this, !data.cornerRadius);
|
|
7657
7668
|
}
|
|
7669
|
+
else
|
|
7670
|
+
data.__pathForRender && (data.__pathForRender = undefined);
|
|
7658
7671
|
}
|
|
7659
7672
|
__drawRenderPath(canvas) {
|
|
7660
7673
|
canvas.beginPath();
|
|
@@ -7865,13 +7878,13 @@ __decorate([
|
|
|
7865
7878
|
surfaceType()
|
|
7866
7879
|
], UI.prototype, "fill", void 0);
|
|
7867
7880
|
__decorate([
|
|
7868
|
-
strokeType()
|
|
7881
|
+
strokeType(undefined, true)
|
|
7869
7882
|
], UI.prototype, "stroke", void 0);
|
|
7870
7883
|
__decorate([
|
|
7871
7884
|
strokeType('inside')
|
|
7872
7885
|
], UI.prototype, "strokeAlign", void 0);
|
|
7873
7886
|
__decorate([
|
|
7874
|
-
strokeType(1)
|
|
7887
|
+
strokeType(1, true)
|
|
7875
7888
|
], UI.prototype, "strokeWidth", void 0);
|
|
7876
7889
|
__decorate([
|
|
7877
7890
|
strokeType(false)
|
|
@@ -8298,7 +8311,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
8298
8311
|
list.push(item);
|
|
8299
8312
|
this.requestRender();
|
|
8300
8313
|
}
|
|
8301
|
-
zoom(_zoomType,
|
|
8314
|
+
zoom(_zoomType, _optionsOrPadding, _scroll, _transition) {
|
|
8302
8315
|
return Plugin.need('view');
|
|
8303
8316
|
}
|
|
8304
8317
|
getValidMove(moveX, moveY) { return { x: moveX, y: moveY }; }
|
|
@@ -8343,7 +8356,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
8343
8356
|
Leafer_1.list.remove(this);
|
|
8344
8357
|
try {
|
|
8345
8358
|
this.stop();
|
|
8346
|
-
this.
|
|
8359
|
+
this.emitLeafer(LeaferEvent.END);
|
|
8347
8360
|
this.__removeListenEvents();
|
|
8348
8361
|
this.__controllers.forEach(item => !(this.parent && item === this.interaction) && item.destroy());
|
|
8349
8362
|
this.__controllers.length = 0;
|
|
@@ -8471,7 +8484,7 @@ let Box = class Box extends Group {
|
|
|
8471
8484
|
}
|
|
8472
8485
|
__drawContent(canvas, options) {
|
|
8473
8486
|
this.__renderGroup(canvas, options);
|
|
8474
|
-
if (this.__.
|
|
8487
|
+
if (this.__.__useStroke) {
|
|
8475
8488
|
canvas.setWorld(this.__nowWorld);
|
|
8476
8489
|
this.__drawRenderPath(canvas);
|
|
8477
8490
|
}
|
|
@@ -8691,8 +8704,8 @@ let Polygon = class Polygon extends UI {
|
|
|
8691
8704
|
for (let i = 1; i < sides; i++) {
|
|
8692
8705
|
lineTo$1(path, rx + rx * sin$1((i * 2 * PI$1) / sides), ry - ry * cos$1((i * 2 * PI$1) / sides));
|
|
8693
8706
|
}
|
|
8707
|
+
closePath$1(path);
|
|
8694
8708
|
}
|
|
8695
|
-
closePath$1(path);
|
|
8696
8709
|
}
|
|
8697
8710
|
__updateRenderPath() { }
|
|
8698
8711
|
__updateBoxBounds() { }
|
|
@@ -8930,6 +8943,11 @@ let Text = class Text extends UI {
|
|
|
8930
8943
|
return;
|
|
8931
8944
|
super.__draw(canvas, options, originCanvas);
|
|
8932
8945
|
}
|
|
8946
|
+
__drawShape(canvas, options) {
|
|
8947
|
+
if (options.shape)
|
|
8948
|
+
this.__box && this.__box.__drawShape(canvas, options);
|
|
8949
|
+
super.__drawShape(canvas, options);
|
|
8950
|
+
}
|
|
8933
8951
|
destroy() {
|
|
8934
8952
|
if (this.boxStyle)
|
|
8935
8953
|
this.boxStyle = null;
|
|
@@ -9751,6 +9769,7 @@ const config = {
|
|
|
9751
9769
|
delta: { x: 80 / 4, y: 8.0 },
|
|
9752
9770
|
},
|
|
9753
9771
|
pointer: {
|
|
9772
|
+
type: 'pointer',
|
|
9754
9773
|
snap: true,
|
|
9755
9774
|
hitRadius: 5,
|
|
9756
9775
|
tapTime: 120,
|
|
@@ -10294,7 +10313,7 @@ ui$1.__updateHitCanvas = function () {
|
|
|
10294
10313
|
h.resize({ width, height, pixelRatio: 1 });
|
|
10295
10314
|
h.clear();
|
|
10296
10315
|
ImageManager.patternLocked = true;
|
|
10297
|
-
this.__renderShape(h, { matrix: matrix.setWith(this.__world).scaleWith(1 / scale).invertWith().translate(-x, -y)
|
|
10316
|
+
this.__renderShape(h, { matrix: matrix.setWith(this.__world).scaleWith(1 / scale).invertWith().translate(-x, -y), ignoreFill: !isHitPixelFill, ignoreStroke: !isHitPixelStroke });
|
|
10298
10317
|
ImageManager.patternLocked = false;
|
|
10299
10318
|
h.resetTransform();
|
|
10300
10319
|
data.__isHitPixel = true;
|
|
@@ -10698,7 +10717,7 @@ const PaintModule = {
|
|
|
10698
10717
|
};
|
|
10699
10718
|
|
|
10700
10719
|
let origin = {};
|
|
10701
|
-
const { get: get$3, rotateOfOuter: rotateOfOuter$1, translate: translate$1, scaleOfOuter: scaleOfOuter$1, scale: scaleHelper, rotate } = MatrixHelper;
|
|
10720
|
+
const { get: get$3, rotateOfOuter: rotateOfOuter$1, translate: translate$1, scaleOfOuter: scaleOfOuter$1, scale: scaleHelper, rotate, skew: skewHelper } = MatrixHelper;
|
|
10702
10721
|
function fillOrFitMode(data, box, x, y, scaleX, scaleY, rotation) {
|
|
10703
10722
|
const transform = get$3();
|
|
10704
10723
|
translate$1(transform, box.x + x, box.y + y);
|
|
@@ -10707,13 +10726,15 @@ function fillOrFitMode(data, box, x, y, scaleX, scaleY, rotation) {
|
|
|
10707
10726
|
rotateOfOuter$1(transform, { x: box.x + box.width / 2, y: box.y + box.height / 2 }, rotation);
|
|
10708
10727
|
data.transform = transform;
|
|
10709
10728
|
}
|
|
10710
|
-
function clipMode(data, box, x, y, scaleX, scaleY, rotation) {
|
|
10729
|
+
function clipMode(data, box, x, y, scaleX, scaleY, rotation, skew) {
|
|
10711
10730
|
const transform = get$3();
|
|
10712
|
-
translate$1(transform, box.x + x, box.y + y);
|
|
10713
|
-
if (scaleX)
|
|
10714
|
-
scaleHelper(transform, scaleX, scaleY);
|
|
10715
10731
|
if (rotation)
|
|
10716
10732
|
rotate(transform, rotation);
|
|
10733
|
+
if (skew)
|
|
10734
|
+
skewHelper(transform, skew.x, skew.y);
|
|
10735
|
+
if (scaleX)
|
|
10736
|
+
scaleHelper(transform, scaleX, scaleY);
|
|
10737
|
+
translate$1(transform, box.x + x, box.y + y);
|
|
10717
10738
|
data.transform = transform;
|
|
10718
10739
|
}
|
|
10719
10740
|
function repeatMode(data, box, width, height, x, y, scaleX, scaleY, rotation, align) {
|
|
@@ -10750,11 +10771,13 @@ const tempBox = new Bounds();
|
|
|
10750
10771
|
const tempScaleData = {};
|
|
10751
10772
|
const tempImage = {};
|
|
10752
10773
|
function createData(leafPaint, image, paint, box) {
|
|
10753
|
-
const { changeful, sync } = paint;
|
|
10774
|
+
const { changeful, sync, editing } = paint;
|
|
10754
10775
|
if (changeful)
|
|
10755
10776
|
leafPaint.changeful = changeful;
|
|
10756
10777
|
if (sync)
|
|
10757
10778
|
leafPaint.sync = sync;
|
|
10779
|
+
if (editing)
|
|
10780
|
+
leafPaint.editing = editing;
|
|
10758
10781
|
leafPaint.data = getPatternData(paint, box, image);
|
|
10759
10782
|
}
|
|
10760
10783
|
function getPatternData(paint, box, image) {
|
|
@@ -10763,7 +10786,7 @@ function getPatternData(paint, box, image) {
|
|
|
10763
10786
|
if (paint.mode === 'strench')
|
|
10764
10787
|
paint.mode = 'stretch';
|
|
10765
10788
|
let { width, height } = image;
|
|
10766
|
-
const { opacity, mode, align, offset, scale, size, rotation, repeat, filters } = paint;
|
|
10789
|
+
const { opacity, mode, align, offset, scale, size, rotation, skew, repeat, filters } = paint;
|
|
10767
10790
|
const sameBox = box.width === width && box.height === height;
|
|
10768
10791
|
const data = { mode };
|
|
10769
10792
|
const swapSize = align !== 'center' && (rotation || 0) % 180 === 90;
|
|
@@ -10797,8 +10820,8 @@ function getPatternData(paint, box, image) {
|
|
|
10797
10820
|
break;
|
|
10798
10821
|
case 'normal':
|
|
10799
10822
|
case 'clip':
|
|
10800
|
-
if (tempImage.x || tempImage.y || scaleX || rotation)
|
|
10801
|
-
clipMode(data, box, tempImage.x, tempImage.y, scaleX, scaleY, rotation);
|
|
10823
|
+
if (tempImage.x || tempImage.y || scaleX || rotation || skew)
|
|
10824
|
+
clipMode(data, box, tempImage.x, tempImage.y, scaleX, scaleY, rotation, skew);
|
|
10802
10825
|
break;
|
|
10803
10826
|
case 'repeat':
|
|
10804
10827
|
if (!sameBox || scaleX || rotation)
|
|
@@ -10875,11 +10898,11 @@ function image(ui, attrName, paint, boxBounds, firstUse) {
|
|
|
10875
10898
|
}
|
|
10876
10899
|
onLoadSuccess(ui, event);
|
|
10877
10900
|
}
|
|
10878
|
-
leafPaint.loadId =
|
|
10901
|
+
leafPaint.loadId = undefined;
|
|
10879
10902
|
}, (error) => {
|
|
10880
10903
|
ignoreRender(ui, false);
|
|
10881
10904
|
onLoadError(ui, event, error);
|
|
10882
|
-
leafPaint.loadId =
|
|
10905
|
+
leafPaint.loadId = undefined;
|
|
10883
10906
|
});
|
|
10884
10907
|
if (ui.placeholderColor) {
|
|
10885
10908
|
if (!ui.placeholderDelay)
|
|
@@ -10945,6 +10968,8 @@ function createPattern(ui, paint, pixelRatio) {
|
|
|
10945
10968
|
const { image, data } = paint;
|
|
10946
10969
|
let imageScale, imageMatrix, { width, height, scaleX: sx, scaleY: sy, transform, repeat } = data;
|
|
10947
10970
|
if (sx) {
|
|
10971
|
+
sx = abs$1(sx);
|
|
10972
|
+
sy = abs$1(sy);
|
|
10948
10973
|
imageMatrix = get$1();
|
|
10949
10974
|
copy$1(imageMatrix, transform);
|
|
10950
10975
|
scale(imageMatrix, 1 / sx, 1 / sy);
|