@leafer-draw/worker 1.0.0 → 1.0.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.
- package/dist/worker.esm.js +11 -6
- package/dist/worker.esm.min.js +1 -1
- package/dist/worker.js +74 -39
- package/dist/worker.min.js +1 -1
- package/dist/worker.module.js +74 -39
- package/dist/worker.module.min.js +1 -1
- package/package.json +6 -6
package/dist/worker.module.js
CHANGED
|
@@ -48,6 +48,8 @@ const I$1 = IncrementId;
|
|
|
48
48
|
const { round, pow: pow$1, PI: PI$4 } = Math;
|
|
49
49
|
const MathHelper = {
|
|
50
50
|
within(value, min, max) {
|
|
51
|
+
if (typeof min === 'object')
|
|
52
|
+
max = min.max, min = min.min;
|
|
51
53
|
if (min !== undefined && value < min)
|
|
52
54
|
value = min;
|
|
53
55
|
if (max !== undefined && value > max)
|
|
@@ -150,10 +152,10 @@ const MatrixHelper = {
|
|
|
150
152
|
t.e += x;
|
|
151
153
|
t.f += y;
|
|
152
154
|
},
|
|
153
|
-
translateInner(t, x, y,
|
|
155
|
+
translateInner(t, x, y, hasOrigin) {
|
|
154
156
|
t.e += t.a * x + t.c * y;
|
|
155
157
|
t.f += t.b * x + t.d * y;
|
|
156
|
-
if (
|
|
158
|
+
if (hasOrigin)
|
|
157
159
|
t.e -= x, t.f -= y;
|
|
158
160
|
},
|
|
159
161
|
scale(t, scaleX, scaleY = scaleX) {
|
|
@@ -312,7 +314,7 @@ const MatrixHelper = {
|
|
|
312
314
|
to.y -= (f * a - e * b) * s;
|
|
313
315
|
}
|
|
314
316
|
},
|
|
315
|
-
setLayout(t, layout, origin, bcChanged) {
|
|
317
|
+
setLayout(t, layout, origin, around, bcChanged) {
|
|
316
318
|
const { x, y, scaleX, scaleY } = layout;
|
|
317
319
|
if (bcChanged === undefined)
|
|
318
320
|
bcChanged = layout.rotation || layout.skewX || layout.skewY;
|
|
@@ -344,10 +346,10 @@ const MatrixHelper = {
|
|
|
344
346
|
}
|
|
345
347
|
t.e = x;
|
|
346
348
|
t.f = y;
|
|
347
|
-
if (origin)
|
|
348
|
-
M$6.translateInner(t, -origin.x, -origin.y,
|
|
349
|
+
if (origin = origin || around)
|
|
350
|
+
M$6.translateInner(t, -origin.x, -origin.y, !around);
|
|
349
351
|
},
|
|
350
|
-
getLayout(t, origin, firstSkewY) {
|
|
352
|
+
getLayout(t, origin, around, firstSkewY) {
|
|
351
353
|
const { a, b, c, d, e, f } = t;
|
|
352
354
|
let x = e, y = f, scaleX, scaleY, rotation, skewX, skewY;
|
|
353
355
|
if (b || c) {
|
|
@@ -376,9 +378,11 @@ const MatrixHelper = {
|
|
|
376
378
|
scaleY = d;
|
|
377
379
|
rotation = skewX = skewY = 0;
|
|
378
380
|
}
|
|
379
|
-
if (origin) {
|
|
381
|
+
if (origin = around || origin) {
|
|
380
382
|
x += origin.x * a + origin.y * c;
|
|
381
383
|
y += origin.x * b + origin.y * d;
|
|
384
|
+
if (!around)
|
|
385
|
+
x -= origin.x, y -= origin.y;
|
|
382
386
|
}
|
|
383
387
|
return { x, y, scaleX, scaleY, rotation, skewX, skewY };
|
|
384
388
|
},
|
|
@@ -706,12 +710,12 @@ class Matrix {
|
|
|
706
710
|
toInnerPoint(outer, to, distance) {
|
|
707
711
|
MatrixHelper.toInnerPoint(this, outer, to, distance);
|
|
708
712
|
}
|
|
709
|
-
setLayout(data, origin) {
|
|
710
|
-
MatrixHelper.setLayout(this, data, origin);
|
|
713
|
+
setLayout(data, origin, around) {
|
|
714
|
+
MatrixHelper.setLayout(this, data, origin, around);
|
|
711
715
|
return this;
|
|
712
716
|
}
|
|
713
|
-
getLayout(origin, firstSkewY) {
|
|
714
|
-
return MatrixHelper.getLayout(this, origin, firstSkewY);
|
|
717
|
+
getLayout(origin, around, firstSkewY) {
|
|
718
|
+
return MatrixHelper.getLayout(this, origin, around, firstSkewY);
|
|
715
719
|
}
|
|
716
720
|
withScale(scaleX, scaleY) {
|
|
717
721
|
return MatrixHelper.withScale(this, scaleX, scaleY);
|
|
@@ -1999,7 +2003,7 @@ class LeaferCanvasBase extends Canvas$1 {
|
|
|
1999
2003
|
DataHelper.copyAttrs(this.size, size, canvasSizeAttrs);
|
|
2000
2004
|
this.size.pixelRatio || (this.size.pixelRatio = 1);
|
|
2001
2005
|
this.bounds = new Bounds(0, 0, this.width, this.height);
|
|
2002
|
-
if (!this.unreal) {
|
|
2006
|
+
if (this.context && !this.unreal) {
|
|
2003
2007
|
this.updateViewSize();
|
|
2004
2008
|
this.smooth = this.config.smooth;
|
|
2005
2009
|
}
|
|
@@ -2172,7 +2176,7 @@ class LeaferCanvasBase extends Canvas$1 {
|
|
|
2172
2176
|
this.manager ? this.manager.recycle(this) : this.destroy();
|
|
2173
2177
|
}
|
|
2174
2178
|
}
|
|
2175
|
-
updateRender() { }
|
|
2179
|
+
updateRender(_bounds) { }
|
|
2176
2180
|
unrealCanvas() { }
|
|
2177
2181
|
destroy() {
|
|
2178
2182
|
this.manager = this.view = this.parentView = null;
|
|
@@ -4066,8 +4070,13 @@ const LeafHelper = {
|
|
|
4066
4070
|
zoomOfLocal(t, origin, scaleX, scaleY = scaleX, resize) {
|
|
4067
4071
|
copy$6(matrix, t.__localMatrix);
|
|
4068
4072
|
scaleOfOuter$2(matrix, origin, scaleX, scaleY);
|
|
4069
|
-
|
|
4070
|
-
|
|
4073
|
+
if (t.origin || t.around) {
|
|
4074
|
+
L.setTransform(t, matrix, resize);
|
|
4075
|
+
}
|
|
4076
|
+
else {
|
|
4077
|
+
moveByMatrix(t, matrix);
|
|
4078
|
+
t.scaleResize(scaleX, scaleY, resize !== true);
|
|
4079
|
+
}
|
|
4071
4080
|
},
|
|
4072
4081
|
rotateOfWorld(t, origin, angle) {
|
|
4073
4082
|
L.rotateOfLocal(t, getTempLocal(t, origin), angle);
|
|
@@ -4075,8 +4084,13 @@ const LeafHelper = {
|
|
|
4075
4084
|
rotateOfLocal(t, origin, angle) {
|
|
4076
4085
|
copy$6(matrix, t.__localMatrix);
|
|
4077
4086
|
rotateOfOuter$2(matrix, origin, angle);
|
|
4078
|
-
|
|
4079
|
-
|
|
4087
|
+
if (t.origin || t.around) {
|
|
4088
|
+
L.setTransform(t, matrix);
|
|
4089
|
+
}
|
|
4090
|
+
else {
|
|
4091
|
+
moveByMatrix(t, matrix);
|
|
4092
|
+
t.rotation = MathHelper.formatRotation(t.rotation + angle);
|
|
4093
|
+
}
|
|
4080
4094
|
},
|
|
4081
4095
|
skewOfWorld(t, origin, skewX, skewY, resize) {
|
|
4082
4096
|
L.skewOfLocal(t, getTempLocal(t, origin), skewX, skewY, resize);
|
|
@@ -4099,7 +4113,7 @@ const LeafHelper = {
|
|
|
4099
4113
|
L.setTransform(t, matrix, resize);
|
|
4100
4114
|
},
|
|
4101
4115
|
setTransform(t, transform, resize) {
|
|
4102
|
-
const layout = getLayout(transform);
|
|
4116
|
+
const layout = getLayout(transform, t.origin && L.getInnerOrigin(t, t.origin), t.around && L.getInnerOrigin(t, t.around));
|
|
4103
4117
|
if (resize) {
|
|
4104
4118
|
const scaleX = layout.scaleX / t.scaleX;
|
|
4105
4119
|
const scaleY = layout.scaleY / t.scaleY;
|
|
@@ -4112,13 +4126,19 @@ const LeafHelper = {
|
|
|
4112
4126
|
t.set(layout);
|
|
4113
4127
|
}
|
|
4114
4128
|
},
|
|
4129
|
+
getFlipTransform(t, axis) {
|
|
4130
|
+
const m = getMatrixData();
|
|
4131
|
+
const sign = axis === 'x' ? 1 : -1;
|
|
4132
|
+
scaleOfOuter$2(m, L.getLocalOrigin(t, 'center'), -1 * sign, 1 * sign);
|
|
4133
|
+
return m;
|
|
4134
|
+
},
|
|
4115
4135
|
getLocalOrigin(t, origin) {
|
|
4116
4136
|
return PointHelper.tempToOuterOf(L.getInnerOrigin(t, origin), t.localTransform);
|
|
4117
4137
|
},
|
|
4118
4138
|
getInnerOrigin(t, origin) {
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
return
|
|
4139
|
+
const innerOrigin = {};
|
|
4140
|
+
AroundHelper.toPoint(origin, t.boxBounds, innerOrigin);
|
|
4141
|
+
return innerOrigin;
|
|
4122
4142
|
},
|
|
4123
4143
|
getRelativeWorld(t, relative, temp) {
|
|
4124
4144
|
copy$6(matrix, t.worldTransform);
|
|
@@ -4545,7 +4565,10 @@ const LeafEventer = {
|
|
|
4545
4565
|
on(type, listener, options) {
|
|
4546
4566
|
let capture, once;
|
|
4547
4567
|
if (options) {
|
|
4548
|
-
if (
|
|
4568
|
+
if (options === 'once') {
|
|
4569
|
+
once = true;
|
|
4570
|
+
}
|
|
4571
|
+
else if (typeof options === 'boolean') {
|
|
4549
4572
|
capture = options;
|
|
4550
4573
|
}
|
|
4551
4574
|
else {
|
|
@@ -4576,7 +4599,7 @@ const LeafEventer = {
|
|
|
4576
4599
|
if (listener) {
|
|
4577
4600
|
let capture;
|
|
4578
4601
|
if (options)
|
|
4579
|
-
capture = typeof options === 'boolean' ? options : options.capture;
|
|
4602
|
+
capture = typeof options === 'boolean' ? options : (options === 'once' ? false : options.capture);
|
|
4580
4603
|
let events, index;
|
|
4581
4604
|
const map = __getListenerMap(this, capture);
|
|
4582
4605
|
typeList.forEach(type => {
|
|
@@ -4878,7 +4901,7 @@ const LeafMatrix = {
|
|
|
4878
4901
|
const layout = this.__layout, local = this.__local, data = this.__;
|
|
4879
4902
|
if (layout.affectScaleOrRotation) {
|
|
4880
4903
|
if (layout.scaleChanged || layout.rotationChanged) {
|
|
4881
|
-
setLayout(local, data, null, layout.affectRotation);
|
|
4904
|
+
setLayout(local, data, null, null, layout.affectRotation);
|
|
4882
4905
|
layout.scaleChanged = layout.rotationChanged = false;
|
|
4883
4906
|
}
|
|
4884
4907
|
}
|
|
@@ -4886,7 +4909,7 @@ const LeafMatrix = {
|
|
|
4886
4909
|
local.f = data.y + data.offsetY;
|
|
4887
4910
|
if (data.around || data.origin) {
|
|
4888
4911
|
toPoint$3(data.around || data.origin, layout.boxBounds, tempPoint$1);
|
|
4889
|
-
translateInner(local, -tempPoint$1.x, -tempPoint$1.y, data.
|
|
4912
|
+
translateInner(local, -tempPoint$1.x, -tempPoint$1.y, !data.around);
|
|
4890
4913
|
}
|
|
4891
4914
|
}
|
|
4892
4915
|
this.__layout.matrixChanged = false;
|
|
@@ -5115,7 +5138,7 @@ const { LEAF, create } = IncrementId;
|
|
|
5115
5138
|
const { toInnerPoint, toOuterPoint, multiplyParent } = MatrixHelper;
|
|
5116
5139
|
const { toOuterOf } = BoundsHelper;
|
|
5117
5140
|
const { copy: copy$3 } = PointHelper;
|
|
5118
|
-
const { moveLocal, zoomOfLocal, rotateOfLocal, skewOfLocal, moveWorld, zoomOfWorld, rotateOfWorld, skewOfWorld, transform, transformWorld, setTransform, getLocalOrigin, getRelativeWorld, drop } = LeafHelper;
|
|
5141
|
+
const { moveLocal, zoomOfLocal, rotateOfLocal, skewOfLocal, moveWorld, zoomOfWorld, rotateOfWorld, skewOfWorld, transform, transformWorld, setTransform, getFlipTransform, getLocalOrigin, getRelativeWorld, drop } = LeafHelper;
|
|
5119
5142
|
let Leaf = class Leaf {
|
|
5120
5143
|
get tag() { return this.__tag; }
|
|
5121
5144
|
set tag(_value) { }
|
|
@@ -5141,6 +5164,8 @@ let Leaf = class Leaf {
|
|
|
5141
5164
|
get __ignoreHitWorld() { return (this.__hasMask || this.__hasEraser) && this.__.hitChildren; }
|
|
5142
5165
|
get __inLazyBounds() { const { leafer } = this; return leafer && leafer.created && leafer.lazyBounds.hit(this.__world); }
|
|
5143
5166
|
get pathInputed() { return this.__.__pathInputed; }
|
|
5167
|
+
set event(map) { let event; for (let key in map)
|
|
5168
|
+
event = map[key], event instanceof Array ? this.on(key, event[0], event[1]) : this.on(key, event); }
|
|
5144
5169
|
constructor(data) {
|
|
5145
5170
|
this.innerId = create(LEAF);
|
|
5146
5171
|
this.reset(data);
|
|
@@ -5400,6 +5425,9 @@ let Leaf = class Leaf {
|
|
|
5400
5425
|
skewOfWorld(worldOrigin, skewX, skewY, resize) {
|
|
5401
5426
|
skewOfWorld(this, worldOrigin, skewX, skewY, resize);
|
|
5402
5427
|
}
|
|
5428
|
+
flip(axis) {
|
|
5429
|
+
transform(this, getFlipTransform(this, axis));
|
|
5430
|
+
}
|
|
5403
5431
|
scaleResize(scaleX, scaleY = scaleX, _noResize) {
|
|
5404
5432
|
this.scaleX *= scaleX;
|
|
5405
5433
|
this.scaleY *= scaleY;
|
|
@@ -5757,7 +5785,7 @@ class LeafLevelList {
|
|
|
5757
5785
|
}
|
|
5758
5786
|
}
|
|
5759
5787
|
|
|
5760
|
-
const version = "1.0.
|
|
5788
|
+
const version = "1.0.1";
|
|
5761
5789
|
const inviteCode = {};
|
|
5762
5790
|
|
|
5763
5791
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
@@ -5827,7 +5855,7 @@ function useCanvas(_canvasType, _power) {
|
|
|
5827
5855
|
Platform.name = 'web';
|
|
5828
5856
|
Platform.isWorker = true;
|
|
5829
5857
|
Platform.requestRender = function (render) { requestAnimationFrame(render); };
|
|
5830
|
-
Platform
|
|
5858
|
+
defineKey(Platform, 'devicePixelRatio', { get() { return 1; } });
|
|
5831
5859
|
const { userAgent } = navigator;
|
|
5832
5860
|
if (userAgent.indexOf("Firefox") > -1) {
|
|
5833
5861
|
Platform.conicGradientRotate90 = true;
|
|
@@ -6323,14 +6351,14 @@ class Renderer {
|
|
|
6323
6351
|
if (Debug.showRepaint)
|
|
6324
6352
|
this.canvas.strokeWorld(bounds, 'red');
|
|
6325
6353
|
this.target.__render(this.canvas, options);
|
|
6326
|
-
this.renderBounds = realBounds || bounds;
|
|
6354
|
+
this.renderBounds = realBounds = realBounds || bounds;
|
|
6327
6355
|
this.renderOptions = options;
|
|
6328
|
-
this.totalBounds.isEmpty() ? this.totalBounds =
|
|
6356
|
+
this.totalBounds.isEmpty() ? this.totalBounds = realBounds : this.totalBounds.add(realBounds);
|
|
6329
6357
|
if (Debug.showHitView)
|
|
6330
6358
|
this.renderHitView(options);
|
|
6331
6359
|
if (Debug.showBoundsView)
|
|
6332
6360
|
this.renderBoundsView(options);
|
|
6333
|
-
this.canvas.updateRender();
|
|
6361
|
+
this.canvas.updateRender(realBounds);
|
|
6334
6362
|
}
|
|
6335
6363
|
renderHitView(_options) { }
|
|
6336
6364
|
renderBoundsView(_options) { }
|
|
@@ -7381,7 +7409,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7381
7409
|
this.__controllers.push(this.renderer = Creator.renderer(this, canvas, config), this.watcher = Creator.watcher(this, config), this.layouter = Creator.layouter(this, config));
|
|
7382
7410
|
if (this.isApp)
|
|
7383
7411
|
this.__setApp();
|
|
7384
|
-
this.__checkAutoLayout(config);
|
|
7412
|
+
this.__checkAutoLayout(config, parentApp);
|
|
7385
7413
|
this.view = canvas.view;
|
|
7386
7414
|
if (parentApp) {
|
|
7387
7415
|
this.__bindApp(parentApp);
|
|
@@ -7482,9 +7510,10 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7482
7510
|
this.leafer = leafer;
|
|
7483
7511
|
this.__level = 1;
|
|
7484
7512
|
}
|
|
7485
|
-
__checkAutoLayout(config) {
|
|
7486
|
-
if (!
|
|
7487
|
-
|
|
7513
|
+
__checkAutoLayout(config, parentApp) {
|
|
7514
|
+
if (!parentApp) {
|
|
7515
|
+
if (!config.width || !config.height)
|
|
7516
|
+
this.autoLayout = new AutoBounds(config);
|
|
7488
7517
|
this.canvas.startAutoLayout(this.autoLayout, this.__onResize.bind(this));
|
|
7489
7518
|
}
|
|
7490
7519
|
}
|
|
@@ -7619,7 +7648,9 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7619
7648
|
list.push(item);
|
|
7620
7649
|
}
|
|
7621
7650
|
}
|
|
7622
|
-
zoom(_zoomType, _padding, _fixedScale) {
|
|
7651
|
+
zoom(_zoomType, _padding, _fixedScale) {
|
|
7652
|
+
return debug$1.error('need @leafer-in/view');
|
|
7653
|
+
}
|
|
7623
7654
|
getValidMove(moveX, moveY) { return { x: moveX, y: moveY }; }
|
|
7624
7655
|
getValidScale(changeScale) { return changeScale; }
|
|
7625
7656
|
getWorldPointByClient(clientPoint, updateClient) {
|
|
@@ -8146,8 +8177,7 @@ let Canvas = class Canvas extends Rect {
|
|
|
8146
8177
|
destroy() {
|
|
8147
8178
|
if (this.canvas) {
|
|
8148
8179
|
this.canvas.destroy();
|
|
8149
|
-
this.canvas = null;
|
|
8150
|
-
this.context = null;
|
|
8180
|
+
this.canvas = this.context = null;
|
|
8151
8181
|
}
|
|
8152
8182
|
super.destroy();
|
|
8153
8183
|
}
|
|
@@ -8991,7 +9021,7 @@ function createPattern(ui, paint, pixelRatio) {
|
|
|
8991
9021
|
const { abs } = Math;
|
|
8992
9022
|
function checkImage(ui, canvas, paint, allowPaint) {
|
|
8993
9023
|
const { scaleX, scaleY } = ImageManager.patternLocked ? ui.__world : ui.__nowWorld;
|
|
8994
|
-
if (!paint.data || paint.patternId === scaleX + '-' + scaleY) {
|
|
9024
|
+
if (!paint.data || (paint.patternId === scaleX + '-' + scaleY && !Export.running)) {
|
|
8995
9025
|
return false;
|
|
8996
9026
|
}
|
|
8997
9027
|
else {
|
|
@@ -9969,7 +9999,10 @@ const ExportModule = {
|
|
|
9969
9999
|
const { x, y, width, height } = new Bounds(renderBounds).scale(scale);
|
|
9970
10000
|
let canvas = Creator.canvas({ width: Math.round(width), height: Math.round(height), pixelRatio, smooth, contextSettings });
|
|
9971
10001
|
const renderOptions = { matrix: matrix.scale(1 / scale).invert().translate(-x, -y).withScale(1 / scaleX * scale, 1 / scaleY * scale) };
|
|
10002
|
+
let sliceLeaf;
|
|
9972
10003
|
if (slice) {
|
|
10004
|
+
sliceLeaf = leaf;
|
|
10005
|
+
sliceLeaf.__worldOpacity = 0;
|
|
9973
10006
|
leaf = leafer;
|
|
9974
10007
|
renderOptions.bounds = canvas.bounds;
|
|
9975
10008
|
}
|
|
@@ -9984,6 +10017,8 @@ const ExportModule = {
|
|
|
9984
10017
|
leaf.__render(canvas, renderOptions);
|
|
9985
10018
|
}
|
|
9986
10019
|
canvas.restore();
|
|
10020
|
+
if (sliceLeaf)
|
|
10021
|
+
sliceLeaf.__updateWorldOpacity();
|
|
9987
10022
|
if (trim) {
|
|
9988
10023
|
trimBounds = getTrimBounds(canvas);
|
|
9989
10024
|
const old = canvas, { width, height } = trimBounds;
|