leafer-ui 1.0.2 → 1.0.3
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/README.md +6 -4
- package/dist/web.cjs +34 -21
- package/dist/web.esm.js +35 -22
- package/dist/web.esm.min.js +1 -1
- package/dist/web.js +407 -358
- package/dist/web.min.cjs +1 -1
- package/dist/web.min.js +1 -1
- package/dist/web.module.js +404 -355
- package/dist/web.module.min.js +1 -1
- package/package.json +11 -11
- package/src/index.ts +2 -0
- package/types/index.d.ts +1 -0
package/dist/web.module.js
CHANGED
|
@@ -119,11 +119,18 @@ const MathHelper = {
|
|
|
119
119
|
scaleData.scaleX = (typeof size === 'number' ? size : size.width) / originSize.width;
|
|
120
120
|
scaleData.scaleY = (typeof size === 'number' ? size : size.height) / originSize.height;
|
|
121
121
|
}
|
|
122
|
-
else if (scale)
|
|
123
|
-
scaleData
|
|
124
|
-
scaleData.scaleY = typeof scale === 'number' ? scale : scale.y;
|
|
125
|
-
}
|
|
122
|
+
else if (scale)
|
|
123
|
+
MathHelper.assignScale(scaleData, scale);
|
|
126
124
|
return scaleData;
|
|
125
|
+
},
|
|
126
|
+
assignScale(scaleData, scale) {
|
|
127
|
+
if (typeof scale === 'number') {
|
|
128
|
+
scaleData.scaleX = scaleData.scaleY = scale;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
scaleData.scaleX = scale.x;
|
|
132
|
+
scaleData.scaleY = scale.y;
|
|
133
|
+
}
|
|
127
134
|
}
|
|
128
135
|
};
|
|
129
136
|
const OneRadian = PI$4 / 180;
|
|
@@ -1255,7 +1262,6 @@ const AroundHelper = {
|
|
|
1255
1262
|
tempPoint: {},
|
|
1256
1263
|
get: get$4,
|
|
1257
1264
|
toPoint(around, bounds, to, onlySize, pointBounds) {
|
|
1258
|
-
to || (to = {});
|
|
1259
1265
|
const point = get$4(around);
|
|
1260
1266
|
to.x = point.x;
|
|
1261
1267
|
to.y = point.y;
|
|
@@ -1390,6 +1396,10 @@ const Run = {
|
|
|
1390
1396
|
};
|
|
1391
1397
|
const R = Run;
|
|
1392
1398
|
|
|
1399
|
+
function needPlugin(name) {
|
|
1400
|
+
console.error('need plugin: @leafer-in/' + name);
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1393
1403
|
const debug$f = Debug.get('UICreator');
|
|
1394
1404
|
const UICreator = {
|
|
1395
1405
|
list: {},
|
|
@@ -1652,6 +1662,9 @@ var Answer;
|
|
|
1652
1662
|
Answer[Answer["YesAndSkip"] = 3] = "YesAndSkip";
|
|
1653
1663
|
})(Answer || (Answer = {}));
|
|
1654
1664
|
const emptyData = {};
|
|
1665
|
+
function isNull(value) {
|
|
1666
|
+
return value === undefined || value === null;
|
|
1667
|
+
}
|
|
1655
1668
|
|
|
1656
1669
|
/******************************************************************************
|
|
1657
1670
|
Copyright (c) Microsoft Corporation.
|
|
@@ -2417,7 +2430,7 @@ const BezierHelper = {
|
|
|
2417
2430
|
let startY = y = rotationSin * radiusX * startCos + rotationCos * radiusY * startSin;
|
|
2418
2431
|
let fromX = cx + x, fromY = cy + y;
|
|
2419
2432
|
if (data)
|
|
2420
|
-
data.push(L$6, fromX, fromY);
|
|
2433
|
+
data.push(data.length ? L$6 : M$5, fromX, fromY);
|
|
2421
2434
|
if (setPointBounds)
|
|
2422
2435
|
setPoint$2(setPointBounds, fromX, fromY);
|
|
2423
2436
|
if (setStartPoint)
|
|
@@ -3086,8 +3099,7 @@ const PathBounds = {
|
|
|
3086
3099
|
toTwoPointBounds(data, setPointBounds) {
|
|
3087
3100
|
if (!data || !data.length)
|
|
3088
3101
|
return setPoint$1(setPointBounds, 0, 0);
|
|
3089
|
-
let command;
|
|
3090
|
-
let i = 0, x = 0, y = 0, x1, y1, toX, toY;
|
|
3102
|
+
let i = 0, x = 0, y = 0, x1, y1, toX, toY, command;
|
|
3091
3103
|
const len = data.length;
|
|
3092
3104
|
while (i < len) {
|
|
3093
3105
|
command = data[i];
|
|
@@ -3743,7 +3755,7 @@ function autoLayoutType(defaultValue) {
|
|
|
3743
3755
|
set(value) {
|
|
3744
3756
|
if (this.__setAttr(key, value)) {
|
|
3745
3757
|
this.__layout.matrixChanged || this.__layout.matrixChange();
|
|
3746
|
-
this.__hasAutoLayout = !!
|
|
3758
|
+
this.__hasAutoLayout = !!(this.origin || this.around || this.flow);
|
|
3747
3759
|
if (!this.__local)
|
|
3748
3760
|
this.__layout.createLocal();
|
|
3749
3761
|
}
|
|
@@ -3836,14 +3848,25 @@ function visibleType(defaultValue) {
|
|
|
3836
3848
|
return decorateLeafAttr(defaultValue, (key) => attr({
|
|
3837
3849
|
set(value) {
|
|
3838
3850
|
const oldValue = this.visible;
|
|
3839
|
-
if (
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3851
|
+
if (oldValue === true && value === 0) {
|
|
3852
|
+
if (this.animationOut)
|
|
3853
|
+
return this.__runAnimation('out', () => doVisible(this, key, value, oldValue));
|
|
3854
|
+
}
|
|
3855
|
+
else if (oldValue === 0 && value === true) {
|
|
3856
|
+
if (this.animation)
|
|
3857
|
+
this.__runAnimation('in');
|
|
3843
3858
|
}
|
|
3859
|
+
doVisible(this, key, value, oldValue);
|
|
3844
3860
|
}
|
|
3845
3861
|
}));
|
|
3846
3862
|
}
|
|
3863
|
+
function doVisible(leaf, key, value, oldValue) {
|
|
3864
|
+
if (leaf.__setAttr(key, value)) {
|
|
3865
|
+
leaf.__layout.opacityChanged || leaf.__layout.opacityChange();
|
|
3866
|
+
if (oldValue === 0 || value === 0)
|
|
3867
|
+
doBoundsType(leaf);
|
|
3868
|
+
}
|
|
3869
|
+
}
|
|
3847
3870
|
function sortType(defaultValue) {
|
|
3848
3871
|
return decorateLeafAttr(defaultValue, (key) => attr({
|
|
3849
3872
|
set(value) {
|
|
@@ -3927,7 +3950,16 @@ function defineDataProcessor(target, key, defaultValue) {
|
|
|
3927
3950
|
if (defaultValue === undefined) {
|
|
3928
3951
|
property.get = function () { return this[computedKey]; };
|
|
3929
3952
|
}
|
|
3930
|
-
else if (
|
|
3953
|
+
else if (typeof defaultValue === 'object') {
|
|
3954
|
+
const { clone } = DataHelper;
|
|
3955
|
+
property.get = function () {
|
|
3956
|
+
let v = this[computedKey];
|
|
3957
|
+
if (v === undefined)
|
|
3958
|
+
this[computedKey] = v = clone(defaultValue);
|
|
3959
|
+
return v;
|
|
3960
|
+
};
|
|
3961
|
+
}
|
|
3962
|
+
if (key === 'width') {
|
|
3931
3963
|
property.get = function () {
|
|
3932
3964
|
const v = this[computedKey];
|
|
3933
3965
|
if (v === undefined) {
|
|
@@ -4594,144 +4626,6 @@ class LeafLayout {
|
|
|
4594
4626
|
destroy() { }
|
|
4595
4627
|
}
|
|
4596
4628
|
|
|
4597
|
-
const empty = {};
|
|
4598
|
-
const LeafEventer = {
|
|
4599
|
-
on(type, listener, options) {
|
|
4600
|
-
let capture, once;
|
|
4601
|
-
if (options) {
|
|
4602
|
-
if (options === 'once') {
|
|
4603
|
-
once = true;
|
|
4604
|
-
}
|
|
4605
|
-
else if (typeof options === 'boolean') {
|
|
4606
|
-
capture = options;
|
|
4607
|
-
}
|
|
4608
|
-
else {
|
|
4609
|
-
capture = options.capture;
|
|
4610
|
-
once = options.once;
|
|
4611
|
-
}
|
|
4612
|
-
}
|
|
4613
|
-
let events;
|
|
4614
|
-
const map = __getListenerMap(this, capture, true);
|
|
4615
|
-
const typeList = typeof type === 'string' ? type.split(' ') : type;
|
|
4616
|
-
const item = once ? { listener, once } : { listener };
|
|
4617
|
-
typeList.forEach(type => {
|
|
4618
|
-
if (type) {
|
|
4619
|
-
events = map[type];
|
|
4620
|
-
if (events) {
|
|
4621
|
-
if (events.findIndex(item => item.listener === listener) === -1)
|
|
4622
|
-
events.push(item);
|
|
4623
|
-
}
|
|
4624
|
-
else {
|
|
4625
|
-
map[type] = [item];
|
|
4626
|
-
}
|
|
4627
|
-
}
|
|
4628
|
-
});
|
|
4629
|
-
},
|
|
4630
|
-
off(type, listener, options) {
|
|
4631
|
-
if (type) {
|
|
4632
|
-
const typeList = typeof type === 'string' ? type.split(' ') : type;
|
|
4633
|
-
if (listener) {
|
|
4634
|
-
let capture;
|
|
4635
|
-
if (options)
|
|
4636
|
-
capture = typeof options === 'boolean' ? options : (options === 'once' ? false : options.capture);
|
|
4637
|
-
let events, index;
|
|
4638
|
-
const map = __getListenerMap(this, capture);
|
|
4639
|
-
typeList.forEach(type => {
|
|
4640
|
-
if (type) {
|
|
4641
|
-
events = map[type];
|
|
4642
|
-
if (events) {
|
|
4643
|
-
index = events.findIndex(item => item.listener === listener);
|
|
4644
|
-
if (index > -1)
|
|
4645
|
-
events.splice(index, 1);
|
|
4646
|
-
if (!events.length)
|
|
4647
|
-
delete map[type];
|
|
4648
|
-
}
|
|
4649
|
-
}
|
|
4650
|
-
});
|
|
4651
|
-
}
|
|
4652
|
-
else {
|
|
4653
|
-
const { __bubbleMap: b, __captureMap: c } = this;
|
|
4654
|
-
typeList.forEach(type => {
|
|
4655
|
-
if (b)
|
|
4656
|
-
delete b[type];
|
|
4657
|
-
if (c)
|
|
4658
|
-
delete c[type];
|
|
4659
|
-
});
|
|
4660
|
-
}
|
|
4661
|
-
}
|
|
4662
|
-
else {
|
|
4663
|
-
this.__bubbleMap = this.__captureMap = undefined;
|
|
4664
|
-
}
|
|
4665
|
-
},
|
|
4666
|
-
on_(type, listener, bind, options) {
|
|
4667
|
-
if (bind)
|
|
4668
|
-
listener = listener.bind(bind);
|
|
4669
|
-
this.on(type, listener, options);
|
|
4670
|
-
return { type, current: this, listener, options };
|
|
4671
|
-
},
|
|
4672
|
-
off_(id) {
|
|
4673
|
-
if (!id)
|
|
4674
|
-
return;
|
|
4675
|
-
const list = id instanceof Array ? id : [id];
|
|
4676
|
-
list.forEach(item => item.current.off(item.type, item.listener, item.options));
|
|
4677
|
-
list.length = 0;
|
|
4678
|
-
},
|
|
4679
|
-
once(type, listener, capture) {
|
|
4680
|
-
this.on(type, listener, { once: true, capture });
|
|
4681
|
-
},
|
|
4682
|
-
emit(type, event, capture) {
|
|
4683
|
-
if (!event && EventCreator.has(type))
|
|
4684
|
-
event = EventCreator.get(type, { type, target: this, current: this });
|
|
4685
|
-
const map = __getListenerMap(this, capture);
|
|
4686
|
-
const list = map[type];
|
|
4687
|
-
if (list) {
|
|
4688
|
-
let item;
|
|
4689
|
-
for (let i = 0, len = list.length; i < len; i++) {
|
|
4690
|
-
item = list[i];
|
|
4691
|
-
item.listener(event);
|
|
4692
|
-
if (item.once) {
|
|
4693
|
-
this.off(type, item.listener, capture);
|
|
4694
|
-
i--, len--;
|
|
4695
|
-
}
|
|
4696
|
-
if (event && event.isStopNow)
|
|
4697
|
-
break;
|
|
4698
|
-
}
|
|
4699
|
-
}
|
|
4700
|
-
this.syncEventer && this.syncEventer.emitEvent(event, capture);
|
|
4701
|
-
},
|
|
4702
|
-
emitEvent(event, capture) {
|
|
4703
|
-
event.current = this;
|
|
4704
|
-
this.emit(event.type, event, capture);
|
|
4705
|
-
},
|
|
4706
|
-
hasEvent(type, capture) {
|
|
4707
|
-
if (this.syncEventer && this.syncEventer.hasEvent(type, capture))
|
|
4708
|
-
return true;
|
|
4709
|
-
const { __bubbleMap: b, __captureMap: c } = this;
|
|
4710
|
-
const hasB = b && b[type], hasC = c && c[type];
|
|
4711
|
-
return !!(capture === undefined ? (hasB || hasC) : (capture ? hasC : hasB));
|
|
4712
|
-
},
|
|
4713
|
-
};
|
|
4714
|
-
function __getListenerMap(eventer, capture, create) {
|
|
4715
|
-
if (capture) {
|
|
4716
|
-
const { __captureMap: c } = eventer;
|
|
4717
|
-
if (c) {
|
|
4718
|
-
return c;
|
|
4719
|
-
}
|
|
4720
|
-
else {
|
|
4721
|
-
return create ? eventer.__captureMap = {} : empty;
|
|
4722
|
-
}
|
|
4723
|
-
}
|
|
4724
|
-
else {
|
|
4725
|
-
const { __bubbleMap: b } = eventer;
|
|
4726
|
-
if (b) {
|
|
4727
|
-
return b;
|
|
4728
|
-
}
|
|
4729
|
-
else {
|
|
4730
|
-
return create ? eventer.__bubbleMap = {} : empty;
|
|
4731
|
-
}
|
|
4732
|
-
}
|
|
4733
|
-
}
|
|
4734
|
-
|
|
4735
4629
|
class Event {
|
|
4736
4630
|
constructor(type, target) {
|
|
4737
4631
|
this.bubbles = false;
|
|
@@ -4766,7 +4660,10 @@ class ChildEvent extends Event {
|
|
|
4766
4660
|
}
|
|
4767
4661
|
ChildEvent.ADD = 'child.add';
|
|
4768
4662
|
ChildEvent.REMOVE = 'child.remove';
|
|
4769
|
-
ChildEvent.
|
|
4663
|
+
ChildEvent.CREATED = 'created';
|
|
4664
|
+
ChildEvent.MOUNTED = 'mounted';
|
|
4665
|
+
ChildEvent.UNMOUNTED = 'unmounted';
|
|
4666
|
+
ChildEvent.DESTROY = 'destroy';
|
|
4770
4667
|
|
|
4771
4668
|
class PropertyEvent extends Event {
|
|
4772
4669
|
constructor(type, target, attrName, oldValue, newValue) {
|
|
@@ -4844,10 +4741,6 @@ LayoutEvent.AFTER = 'layout.after';
|
|
|
4844
4741
|
LayoutEvent.AGAIN = 'layout.again';
|
|
4845
4742
|
LayoutEvent.END = 'layout.end';
|
|
4846
4743
|
|
|
4847
|
-
class AnimateEvent extends Event {
|
|
4848
|
-
}
|
|
4849
|
-
AnimateEvent.FRAME = 'animate.frame';
|
|
4850
|
-
|
|
4851
4744
|
class RenderEvent extends Event {
|
|
4852
4745
|
constructor(type, times, bounds, options) {
|
|
4853
4746
|
super(type);
|
|
@@ -4880,6 +4773,157 @@ LeaferEvent.STOP = 'leafer.stop';
|
|
|
4880
4773
|
LeaferEvent.RESTART = 'leafer.restart';
|
|
4881
4774
|
LeaferEvent.END = 'leafer.end';
|
|
4882
4775
|
|
|
4776
|
+
const empty = {};
|
|
4777
|
+
class Eventer {
|
|
4778
|
+
set event(map) { this.on(map); }
|
|
4779
|
+
on(type, listener, options) {
|
|
4780
|
+
if (!listener) {
|
|
4781
|
+
let event, map = type;
|
|
4782
|
+
for (let key in map)
|
|
4783
|
+
event = map[key], event instanceof Array ? this.on(key, event[0], event[1]) : this.on(key, event);
|
|
4784
|
+
return;
|
|
4785
|
+
}
|
|
4786
|
+
let capture, once;
|
|
4787
|
+
if (options) {
|
|
4788
|
+
if (options === 'once') {
|
|
4789
|
+
once = true;
|
|
4790
|
+
}
|
|
4791
|
+
else if (typeof options === 'boolean') {
|
|
4792
|
+
capture = options;
|
|
4793
|
+
}
|
|
4794
|
+
else {
|
|
4795
|
+
capture = options.capture;
|
|
4796
|
+
once = options.once;
|
|
4797
|
+
}
|
|
4798
|
+
}
|
|
4799
|
+
let events;
|
|
4800
|
+
const map = __getListenerMap(this, capture, true);
|
|
4801
|
+
const typeList = typeof type === 'string' ? type.split(' ') : type;
|
|
4802
|
+
const item = once ? { listener, once } : { listener };
|
|
4803
|
+
typeList.forEach(type => {
|
|
4804
|
+
if (type) {
|
|
4805
|
+
events = map[type];
|
|
4806
|
+
if (events) {
|
|
4807
|
+
if (events.findIndex(item => item.listener === listener) === -1)
|
|
4808
|
+
events.push(item);
|
|
4809
|
+
}
|
|
4810
|
+
else {
|
|
4811
|
+
map[type] = [item];
|
|
4812
|
+
}
|
|
4813
|
+
}
|
|
4814
|
+
});
|
|
4815
|
+
}
|
|
4816
|
+
off(type, listener, options) {
|
|
4817
|
+
if (type) {
|
|
4818
|
+
const typeList = typeof type === 'string' ? type.split(' ') : type;
|
|
4819
|
+
if (listener) {
|
|
4820
|
+
let capture;
|
|
4821
|
+
if (options)
|
|
4822
|
+
capture = typeof options === 'boolean' ? options : (options === 'once' ? false : options.capture);
|
|
4823
|
+
let events, index;
|
|
4824
|
+
const map = __getListenerMap(this, capture);
|
|
4825
|
+
typeList.forEach(type => {
|
|
4826
|
+
if (type) {
|
|
4827
|
+
events = map[type];
|
|
4828
|
+
if (events) {
|
|
4829
|
+
index = events.findIndex(item => item.listener === listener);
|
|
4830
|
+
if (index > -1)
|
|
4831
|
+
events.splice(index, 1);
|
|
4832
|
+
if (!events.length)
|
|
4833
|
+
delete map[type];
|
|
4834
|
+
}
|
|
4835
|
+
}
|
|
4836
|
+
});
|
|
4837
|
+
}
|
|
4838
|
+
else {
|
|
4839
|
+
const { __bubbleMap: b, __captureMap: c } = this;
|
|
4840
|
+
typeList.forEach(type => {
|
|
4841
|
+
if (b)
|
|
4842
|
+
delete b[type];
|
|
4843
|
+
if (c)
|
|
4844
|
+
delete c[type];
|
|
4845
|
+
});
|
|
4846
|
+
}
|
|
4847
|
+
}
|
|
4848
|
+
else {
|
|
4849
|
+
this.__bubbleMap = this.__captureMap = undefined;
|
|
4850
|
+
}
|
|
4851
|
+
}
|
|
4852
|
+
on_(type, listener, bind, options) {
|
|
4853
|
+
if (bind)
|
|
4854
|
+
listener = listener.bind(bind);
|
|
4855
|
+
this.on(type, listener, options);
|
|
4856
|
+
return { type, current: this, listener, options };
|
|
4857
|
+
}
|
|
4858
|
+
off_(id) {
|
|
4859
|
+
if (!id)
|
|
4860
|
+
return;
|
|
4861
|
+
const list = id instanceof Array ? id : [id];
|
|
4862
|
+
list.forEach(item => item.current.off(item.type, item.listener, item.options));
|
|
4863
|
+
list.length = 0;
|
|
4864
|
+
}
|
|
4865
|
+
once(type, listener, capture) {
|
|
4866
|
+
this.on(type, listener, { once: true, capture });
|
|
4867
|
+
}
|
|
4868
|
+
emit(type, event, capture) {
|
|
4869
|
+
if (!event && EventCreator.has(type))
|
|
4870
|
+
event = EventCreator.get(type, { type, target: this, current: this });
|
|
4871
|
+
const map = __getListenerMap(this, capture);
|
|
4872
|
+
const list = map[type];
|
|
4873
|
+
if (list) {
|
|
4874
|
+
let item;
|
|
4875
|
+
for (let i = 0, len = list.length; i < len; i++) {
|
|
4876
|
+
item = list[i];
|
|
4877
|
+
item.listener(event);
|
|
4878
|
+
if (item.once) {
|
|
4879
|
+
this.off(type, item.listener, capture);
|
|
4880
|
+
i--, len--;
|
|
4881
|
+
}
|
|
4882
|
+
if (event && event.isStopNow)
|
|
4883
|
+
break;
|
|
4884
|
+
}
|
|
4885
|
+
}
|
|
4886
|
+
this.syncEventer && this.syncEventer.emitEvent(event, capture);
|
|
4887
|
+
}
|
|
4888
|
+
emitEvent(event, capture) {
|
|
4889
|
+
event.current = this;
|
|
4890
|
+
this.emit(event.type, event, capture);
|
|
4891
|
+
}
|
|
4892
|
+
hasEvent(type, capture) {
|
|
4893
|
+
if (this.syncEventer && this.syncEventer.hasEvent(type, capture))
|
|
4894
|
+
return true;
|
|
4895
|
+
const { __bubbleMap: b, __captureMap: c } = this;
|
|
4896
|
+
const hasB = b && b[type], hasC = c && c[type];
|
|
4897
|
+
return !!(capture === undefined ? (hasB || hasC) : (capture ? hasC : hasB));
|
|
4898
|
+
}
|
|
4899
|
+
destroy() {
|
|
4900
|
+
this.__captureMap = this.__bubbleMap = this.syncEventer = null;
|
|
4901
|
+
}
|
|
4902
|
+
}
|
|
4903
|
+
function __getListenerMap(eventer, capture, create) {
|
|
4904
|
+
if (capture) {
|
|
4905
|
+
const { __captureMap: c } = eventer;
|
|
4906
|
+
if (c) {
|
|
4907
|
+
return c;
|
|
4908
|
+
}
|
|
4909
|
+
else {
|
|
4910
|
+
return create ? eventer.__captureMap = {} : empty;
|
|
4911
|
+
}
|
|
4912
|
+
}
|
|
4913
|
+
else {
|
|
4914
|
+
const { __bubbleMap: b } = eventer;
|
|
4915
|
+
if (b) {
|
|
4916
|
+
return b;
|
|
4917
|
+
}
|
|
4918
|
+
else {
|
|
4919
|
+
return create ? eventer.__bubbleMap = {} : empty;
|
|
4920
|
+
}
|
|
4921
|
+
}
|
|
4922
|
+
}
|
|
4923
|
+
|
|
4924
|
+
const { on, on_, off, off_, once, emit: emit$2, emitEvent: emitEvent$1, hasEvent, destroy } = Eventer.prototype;
|
|
4925
|
+
const LeafEventer = { on, on_, off, off_, once, emit: emit$2, emitEvent: emitEvent$1, hasEvent, destroyEventer: destroy };
|
|
4926
|
+
|
|
4883
4927
|
const { isFinite } = Number;
|
|
4884
4928
|
const debug$8 = Debug.get('setAttr');
|
|
4885
4929
|
const LeafDataProxy = {
|
|
@@ -4891,9 +4935,7 @@ const LeafDataProxy = {
|
|
|
4891
4935
|
newValue = undefined;
|
|
4892
4936
|
}
|
|
4893
4937
|
if (typeof newValue === 'object' || oldValue !== newValue) {
|
|
4894
|
-
this.
|
|
4895
|
-
if (this.__proxyData)
|
|
4896
|
-
this.setProxyAttr(name, newValue);
|
|
4938
|
+
this.__realSetAttr(name, newValue);
|
|
4897
4939
|
const { CHANGE } = PropertyEvent;
|
|
4898
4940
|
const event = new PropertyEvent(CHANGE, this, name, oldValue, newValue);
|
|
4899
4941
|
if (this.isLeafer) {
|
|
@@ -4911,12 +4953,18 @@ const LeafDataProxy = {
|
|
|
4911
4953
|
}
|
|
4912
4954
|
}
|
|
4913
4955
|
else {
|
|
4914
|
-
this.
|
|
4915
|
-
if (this.__proxyData)
|
|
4916
|
-
this.setProxyAttr(name, newValue);
|
|
4956
|
+
this.__realSetAttr(name, newValue);
|
|
4917
4957
|
return true;
|
|
4918
4958
|
}
|
|
4919
4959
|
},
|
|
4960
|
+
__realSetAttr(name, newValue) {
|
|
4961
|
+
const data = this.__;
|
|
4962
|
+
data[name] = newValue;
|
|
4963
|
+
if (this.__proxyData)
|
|
4964
|
+
this.setProxyAttr(name, newValue);
|
|
4965
|
+
if (data.normalStyle)
|
|
4966
|
+
this.lockNormalStyle || data.normalStyle[name] === undefined || (data.normalStyle[name] = newValue);
|
|
4967
|
+
},
|
|
4920
4968
|
__getAttr(name) {
|
|
4921
4969
|
if (this.__proxyData)
|
|
4922
4970
|
return this.getProxyAttr(name);
|
|
@@ -5019,6 +5067,8 @@ const LeafBounds = {
|
|
|
5019
5067
|
layout.boundsChanged = false;
|
|
5020
5068
|
},
|
|
5021
5069
|
__updateLocalBoxBounds() {
|
|
5070
|
+
if (this.__hasMotionPath)
|
|
5071
|
+
this.__updateMotionPath();
|
|
5022
5072
|
if (this.__hasAutoLayout)
|
|
5023
5073
|
this.__updateAutoLayout();
|
|
5024
5074
|
toOuterOf$1(this.__layout.boxBounds, this.__local, this.__local);
|
|
@@ -5171,7 +5221,7 @@ const BranchRender = {
|
|
|
5171
5221
|
const { LEAF, create } = IncrementId;
|
|
5172
5222
|
const { toInnerPoint, toOuterPoint, multiplyParent } = MatrixHelper;
|
|
5173
5223
|
const { toOuterOf } = BoundsHelper;
|
|
5174
|
-
const { copy: copy$4 } = PointHelper;
|
|
5224
|
+
const { copy: copy$4, move: move$1 } = PointHelper;
|
|
5175
5225
|
const { moveLocal, zoomOfLocal, rotateOfLocal, skewOfLocal, moveWorld, zoomOfWorld, rotateOfWorld, skewOfWorld, transform, transformWorld, setTransform, getFlipTransform, getLocalOrigin, getRelativeWorld, drop } = LeafHelper;
|
|
5176
5226
|
let Leaf = class Leaf {
|
|
5177
5227
|
get tag() { return this.__tag; }
|
|
@@ -5198,13 +5248,16 @@ let Leaf = class Leaf {
|
|
|
5198
5248
|
get __ignoreHitWorld() { return (this.__hasMask || this.__hasEraser) && this.__.hitChildren; }
|
|
5199
5249
|
get __inLazyBounds() { const { leafer } = this; return leafer && leafer.created && leafer.lazyBounds.hit(this.__world); }
|
|
5200
5250
|
get pathInputed() { return this.__.__pathInputed; }
|
|
5201
|
-
set event(map) {
|
|
5202
|
-
event = map[key], event instanceof Array ? this.on(key, event[0], event[1]) : this.on(key, event); }
|
|
5251
|
+
set event(map) { this.on(map); }
|
|
5203
5252
|
constructor(data) {
|
|
5204
5253
|
this.innerId = create(LEAF);
|
|
5205
5254
|
this.reset(data);
|
|
5255
|
+
if (this.__bubbleMap)
|
|
5256
|
+
this.__emitLifeEvent(ChildEvent.CREATED);
|
|
5206
5257
|
}
|
|
5207
5258
|
reset(data) {
|
|
5259
|
+
if (this.leafer)
|
|
5260
|
+
this.leafer.forceRender(this.__world);
|
|
5208
5261
|
this.__world = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0, x: 0, y: 0, width: 0, height: 0, scaleX: 1, scaleY: 1 };
|
|
5209
5262
|
if (data !== null)
|
|
5210
5263
|
this.__local = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0, x: 0, y: 0, width: 0, height: 0 };
|
|
@@ -5226,12 +5279,12 @@ let Leaf = class Leaf {
|
|
|
5226
5279
|
waitParent(item, bind) {
|
|
5227
5280
|
if (bind)
|
|
5228
5281
|
item = item.bind(bind);
|
|
5229
|
-
this.parent ? item() :
|
|
5282
|
+
this.parent ? item() : this.on(ChildEvent.ADD, item, 'once');
|
|
5230
5283
|
}
|
|
5231
5284
|
waitLeafer(item, bind) {
|
|
5232
5285
|
if (bind)
|
|
5233
5286
|
item = item.bind(bind);
|
|
5234
|
-
this.leafer ? item() :
|
|
5287
|
+
this.leafer ? item() : this.on(ChildEvent.MOUNTED, item, 'once');
|
|
5235
5288
|
}
|
|
5236
5289
|
nextRender(item, bind, off) {
|
|
5237
5290
|
this.leafer ? this.leafer.nextRender(item, bind, off) : this.waitLeafer(() => this.leafer.nextRender(item, bind, off));
|
|
@@ -5240,18 +5293,21 @@ let Leaf = class Leaf {
|
|
|
5240
5293
|
this.nextRender(item, null, 'off');
|
|
5241
5294
|
}
|
|
5242
5295
|
__bindLeafer(leafer) {
|
|
5243
|
-
if (this.isLeafer)
|
|
5244
|
-
|
|
5245
|
-
leafer = this;
|
|
5246
|
-
}
|
|
5296
|
+
if (this.isLeafer && leafer !== null)
|
|
5297
|
+
leafer = this;
|
|
5247
5298
|
if (this.leafer && !leafer)
|
|
5248
5299
|
this.leafer.leafs--;
|
|
5249
5300
|
this.leafer = leafer;
|
|
5250
5301
|
if (leafer) {
|
|
5251
5302
|
leafer.leafs++;
|
|
5252
5303
|
this.__level = this.parent ? this.parent.__level + 1 : 1;
|
|
5253
|
-
if (this.
|
|
5254
|
-
|
|
5304
|
+
if (this.animation)
|
|
5305
|
+
this.__runAnimation('in');
|
|
5306
|
+
if (this.__bubbleMap)
|
|
5307
|
+
this.__emitLifeEvent(ChildEvent.MOUNTED);
|
|
5308
|
+
}
|
|
5309
|
+
else {
|
|
5310
|
+
this.__emitLifeEvent(ChildEvent.UNMOUNTED);
|
|
5255
5311
|
}
|
|
5256
5312
|
if (this.isBranch) {
|
|
5257
5313
|
const { children } = this;
|
|
@@ -5260,7 +5316,7 @@ let Leaf = class Leaf {
|
|
|
5260
5316
|
}
|
|
5261
5317
|
}
|
|
5262
5318
|
}
|
|
5263
|
-
set(_data) { }
|
|
5319
|
+
set(_data, _isTemp) { }
|
|
5264
5320
|
get(_name) { return undefined; }
|
|
5265
5321
|
setAttr(name, value) { this[name] = value; }
|
|
5266
5322
|
getAttr(name) { return this[name]; }
|
|
@@ -5285,6 +5341,7 @@ let Leaf = class Leaf {
|
|
|
5285
5341
|
findOne(_condition, _options) { return undefined; }
|
|
5286
5342
|
findId(_id) { return undefined; }
|
|
5287
5343
|
focus(_value) { }
|
|
5344
|
+
updateState() { }
|
|
5288
5345
|
updateLayout() {
|
|
5289
5346
|
this.__layout.update();
|
|
5290
5347
|
}
|
|
@@ -5392,11 +5449,24 @@ let Leaf = class Leaf {
|
|
|
5392
5449
|
if (relative)
|
|
5393
5450
|
relative.worldToInner(to ? to : inner, null, distance);
|
|
5394
5451
|
}
|
|
5452
|
+
getBoxPoint(world, relative, distance, change) {
|
|
5453
|
+
return this.getBoxPointByInner(this.getInnerPoint(world, relative, distance, change), null, null, true);
|
|
5454
|
+
}
|
|
5455
|
+
getBoxPointByInner(inner, _relative, _distance, change) {
|
|
5456
|
+
const point = change ? inner : Object.assign({}, inner), { x, y } = this.boxBounds;
|
|
5457
|
+
move$1(point, -x, -y);
|
|
5458
|
+
return point;
|
|
5459
|
+
}
|
|
5395
5460
|
getInnerPoint(world, relative, distance, change) {
|
|
5396
5461
|
const point = change ? world : {};
|
|
5397
5462
|
this.worldToInner(world, point, distance, relative);
|
|
5398
5463
|
return point;
|
|
5399
5464
|
}
|
|
5465
|
+
getInnerPointByBox(box, _relative, _distance, change) {
|
|
5466
|
+
const point = change ? box : Object.assign({}, box), { x, y } = this.boxBounds;
|
|
5467
|
+
move$1(point, x, y);
|
|
5468
|
+
return point;
|
|
5469
|
+
}
|
|
5400
5470
|
getInnerPointByLocal(local, _relative, distance, change) {
|
|
5401
5471
|
return this.getInnerPoint(local, this.parent, distance, change);
|
|
5402
5472
|
}
|
|
@@ -5408,20 +5478,23 @@ let Leaf = class Leaf {
|
|
|
5408
5478
|
getLocalPointByInner(inner, _relative, distance, change) {
|
|
5409
5479
|
return this.getWorldPoint(inner, this.parent, distance, change);
|
|
5410
5480
|
}
|
|
5481
|
+
getPagePoint(world, relative, distance, change) {
|
|
5482
|
+
const layer = this.leafer ? this.leafer.zoomLayer : this;
|
|
5483
|
+
return layer.getInnerPoint(world, relative, distance, change);
|
|
5484
|
+
}
|
|
5411
5485
|
getWorldPoint(inner, relative, distance, change) {
|
|
5412
5486
|
const point = change ? inner : {};
|
|
5413
5487
|
this.innerToWorld(inner, point, distance, relative);
|
|
5414
5488
|
return point;
|
|
5415
5489
|
}
|
|
5490
|
+
getWorldPointByBox(box, relative, distance, change) {
|
|
5491
|
+
return this.getWorldPoint(this.getInnerPointByBox(box, null, null, change), relative, distance, true);
|
|
5492
|
+
}
|
|
5416
5493
|
getWorldPointByLocal(local, relative, distance, change) {
|
|
5417
5494
|
const point = change ? local : {};
|
|
5418
5495
|
this.localToWorld(local, point, distance, relative);
|
|
5419
5496
|
return point;
|
|
5420
5497
|
}
|
|
5421
|
-
getPagePoint(world, relative, distance, change) {
|
|
5422
|
-
const layer = this.leafer ? this.leafer.zoomLayer : this;
|
|
5423
|
-
return layer.getInnerPoint(world, relative, distance, change);
|
|
5424
|
-
}
|
|
5425
5498
|
getWorldPointByPage(page, relative, distance, change) {
|
|
5426
5499
|
const layer = this.leafer ? this.leafer.zoomLayer : this;
|
|
5427
5500
|
return layer.getWorldPoint(page, relative, distance, change);
|
|
@@ -5490,6 +5563,17 @@ let Leaf = class Leaf {
|
|
|
5490
5563
|
__drawRenderPath(_canvas) { }
|
|
5491
5564
|
__updatePath() { }
|
|
5492
5565
|
__updateRenderPath() { }
|
|
5566
|
+
getMotionPathData() {
|
|
5567
|
+
return needPlugin('path');
|
|
5568
|
+
}
|
|
5569
|
+
getMotionPoint(_motionDistance) {
|
|
5570
|
+
return needPlugin('path');
|
|
5571
|
+
}
|
|
5572
|
+
getMotionTotal() {
|
|
5573
|
+
return 0;
|
|
5574
|
+
}
|
|
5575
|
+
__updateMotionPath() { }
|
|
5576
|
+
__runAnimation(_type, _complete) { }
|
|
5493
5577
|
__updateSortChildren() { }
|
|
5494
5578
|
add(_child, _index) { }
|
|
5495
5579
|
remove(_child, destroy) {
|
|
@@ -5515,6 +5599,10 @@ let Leaf = class Leaf {
|
|
|
5515
5599
|
fn = boundsType;
|
|
5516
5600
|
fn(defaultValue)(this.prototype, attrName);
|
|
5517
5601
|
}
|
|
5602
|
+
__emitLifeEvent(type) {
|
|
5603
|
+
if (this.hasEvent(type))
|
|
5604
|
+
this.emitEvent(new ChildEvent(type, this, this.parent));
|
|
5605
|
+
}
|
|
5518
5606
|
destroy() {
|
|
5519
5607
|
if (!this.destroyed) {
|
|
5520
5608
|
const { parent } = this;
|
|
@@ -5522,11 +5610,10 @@ let Leaf = class Leaf {
|
|
|
5522
5610
|
this.remove();
|
|
5523
5611
|
if (this.children)
|
|
5524
5612
|
this.removeAll(true);
|
|
5525
|
-
|
|
5526
|
-
this.emitEvent(new ChildEvent(ChildEvent.DESTROY, this, parent));
|
|
5613
|
+
this.__emitLifeEvent(ChildEvent.DESTROY);
|
|
5527
5614
|
this.__.destroy();
|
|
5528
5615
|
this.__layout.destroy();
|
|
5529
|
-
this.
|
|
5616
|
+
this.destroyEventer();
|
|
5530
5617
|
this.destroyed = true;
|
|
5531
5618
|
}
|
|
5532
5619
|
}
|
|
@@ -5592,8 +5679,8 @@ let Branch = class Branch extends Leaf {
|
|
|
5592
5679
|
this.__.__childBranchNumber = (this.__.__childBranchNumber || 0) + 1;
|
|
5593
5680
|
child.__layout.boxChanged || child.__layout.boxChange();
|
|
5594
5681
|
child.__layout.matrixChanged || child.__layout.matrixChange();
|
|
5595
|
-
if (child.
|
|
5596
|
-
|
|
5682
|
+
if (child.__bubbleMap)
|
|
5683
|
+
child.__emitLifeEvent(ChildEvent.ADD);
|
|
5597
5684
|
if (this.leafer) {
|
|
5598
5685
|
child.__bindLeafer(this.leafer);
|
|
5599
5686
|
if (this.leafer.created)
|
|
@@ -5606,16 +5693,10 @@ let Branch = class Branch extends Leaf {
|
|
|
5606
5693
|
}
|
|
5607
5694
|
remove(child, destroy) {
|
|
5608
5695
|
if (child) {
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
|
|
5612
|
-
|
|
5613
|
-
this.__.__childBranchNumber = (this.__.__childBranchNumber || 1) - 1;
|
|
5614
|
-
this.__preRemove();
|
|
5615
|
-
this.__realRemoveChild(child);
|
|
5616
|
-
if (destroy)
|
|
5617
|
-
child.destroy();
|
|
5618
|
-
}
|
|
5696
|
+
if (child.animationOut)
|
|
5697
|
+
child.__runAnimation('out', () => this.__remove(child, destroy));
|
|
5698
|
+
else
|
|
5699
|
+
this.__remove(child, destroy);
|
|
5619
5700
|
}
|
|
5620
5701
|
else if (child === undefined) {
|
|
5621
5702
|
super.remove(null, destroy);
|
|
@@ -5637,6 +5718,18 @@ let Branch = class Branch extends Leaf {
|
|
|
5637
5718
|
clear() {
|
|
5638
5719
|
this.removeAll(true);
|
|
5639
5720
|
}
|
|
5721
|
+
__remove(child, destroy) {
|
|
5722
|
+
const index = this.children.indexOf(child);
|
|
5723
|
+
if (index > -1) {
|
|
5724
|
+
this.children.splice(index, 1);
|
|
5725
|
+
if (child.isBranch)
|
|
5726
|
+
this.__.__childBranchNumber = (this.__.__childBranchNumber || 1) - 1;
|
|
5727
|
+
this.__preRemove();
|
|
5728
|
+
this.__realRemoveChild(child);
|
|
5729
|
+
if (destroy)
|
|
5730
|
+
child.destroy();
|
|
5731
|
+
}
|
|
5732
|
+
}
|
|
5640
5733
|
__preRemove() {
|
|
5641
5734
|
if (this.__hasMask)
|
|
5642
5735
|
this.__updateMask();
|
|
@@ -5646,6 +5739,7 @@ let Branch = class Branch extends Leaf {
|
|
|
5646
5739
|
this.__layout.affectChildrenSort && this.__layout.childrenSortChange();
|
|
5647
5740
|
}
|
|
5648
5741
|
__realRemoveChild(child) {
|
|
5742
|
+
child.__emitLifeEvent(ChildEvent.REMOVE);
|
|
5649
5743
|
child.parent = null;
|
|
5650
5744
|
if (this.leafer) {
|
|
5651
5745
|
child.__bindLeafer(null);
|
|
@@ -5658,8 +5752,6 @@ let Branch = class Branch extends Leaf {
|
|
|
5658
5752
|
}
|
|
5659
5753
|
__emitChildEvent(type, child) {
|
|
5660
5754
|
const event = new ChildEvent(type, child, this);
|
|
5661
|
-
if (child.hasEvent(type))
|
|
5662
|
-
child.emitEvent(event);
|
|
5663
5755
|
if (this.hasEvent(type) && !this.isLeafer)
|
|
5664
5756
|
this.emitEvent(event);
|
|
5665
5757
|
this.leafer.emitEvent(event);
|
|
@@ -5822,8 +5914,7 @@ class LeafLevelList {
|
|
|
5822
5914
|
}
|
|
5823
5915
|
}
|
|
5824
5916
|
|
|
5825
|
-
const version = "1.0.
|
|
5826
|
-
const inviteCode = {};
|
|
5917
|
+
const version = "1.0.3";
|
|
5827
5918
|
|
|
5828
5919
|
const debug$7 = Debug.get('LeaferCanvas');
|
|
5829
5920
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
@@ -6223,9 +6314,13 @@ function updateBounds(boundsList) {
|
|
|
6223
6314
|
});
|
|
6224
6315
|
}
|
|
6225
6316
|
function updateChange(updateList) {
|
|
6317
|
+
let layout;
|
|
6226
6318
|
updateList.list.forEach(leaf => {
|
|
6227
|
-
|
|
6319
|
+
layout = leaf.__layout;
|
|
6320
|
+
if (layout.opacityChanged)
|
|
6228
6321
|
updateAllWorldOpacity(leaf);
|
|
6322
|
+
if (layout.stateStyleChanged)
|
|
6323
|
+
setTimeout(() => layout.stateStyleChanged && leaf.updateState());
|
|
6229
6324
|
leaf.__updateChange();
|
|
6230
6325
|
});
|
|
6231
6326
|
}
|
|
@@ -6591,7 +6686,6 @@ class Renderer {
|
|
|
6591
6686
|
Platform.requestRender(() => {
|
|
6592
6687
|
this.FPS = Math.min(60, Math.ceil(1000 / (Date.now() - startTime)));
|
|
6593
6688
|
if (this.running) {
|
|
6594
|
-
this.target.emit(AnimateEvent.FRAME);
|
|
6595
6689
|
if (this.changed && this.canvas.view)
|
|
6596
6690
|
this.render();
|
|
6597
6691
|
this.target.emit(RenderEvent.NEXT);
|
|
@@ -6936,36 +7030,6 @@ Object.assign(Creator, {
|
|
|
6936
7030
|
});
|
|
6937
7031
|
Platform.layout = Layouter.fullLayout;
|
|
6938
7032
|
|
|
6939
|
-
const TextConvert = {};
|
|
6940
|
-
const ColorConvert = {};
|
|
6941
|
-
const PathArrow = {};
|
|
6942
|
-
const Paint = {};
|
|
6943
|
-
const PaintImage = {};
|
|
6944
|
-
const PaintGradient = {};
|
|
6945
|
-
const Effect = {};
|
|
6946
|
-
const Export = {};
|
|
6947
|
-
const State = {};
|
|
6948
|
-
|
|
6949
|
-
function stateType(defaultValue) {
|
|
6950
|
-
return decorateLeafAttr(defaultValue, (key) => attr({
|
|
6951
|
-
set(value) {
|
|
6952
|
-
this.__setAttr(key, value);
|
|
6953
|
-
this.waitLeafer(() => { if (State.setStyle)
|
|
6954
|
-
State.setStyle(this, key + 'Style', value); });
|
|
6955
|
-
}
|
|
6956
|
-
}));
|
|
6957
|
-
}
|
|
6958
|
-
function arrowType(defaultValue) {
|
|
6959
|
-
return decorateLeafAttr(defaultValue, (key) => attr({
|
|
6960
|
-
set(value) {
|
|
6961
|
-
if (this.__setAttr(key, value)) {
|
|
6962
|
-
const data = this.__;
|
|
6963
|
-
data.__useArrow = data.startArrow !== 'none' || data.endArrow !== 'none';
|
|
6964
|
-
doStrokeType(this);
|
|
6965
|
-
}
|
|
6966
|
-
}
|
|
6967
|
-
}));
|
|
6968
|
-
}
|
|
6969
7033
|
function effectType(defaultValue) {
|
|
6970
7034
|
return decorateLeafAttr(defaultValue, (key) => attr({
|
|
6971
7035
|
set(value) {
|
|
@@ -7000,10 +7064,33 @@ function zoomLayerType() {
|
|
|
7000
7064
|
};
|
|
7001
7065
|
}
|
|
7002
7066
|
|
|
7067
|
+
const TextConvert = {};
|
|
7068
|
+
const ColorConvert = {};
|
|
7069
|
+
const PathArrow = {};
|
|
7070
|
+
const Paint = {};
|
|
7071
|
+
const PaintImage = {};
|
|
7072
|
+
const PaintGradient = {};
|
|
7073
|
+
const Effect = {};
|
|
7074
|
+
const Export = {};
|
|
7075
|
+
const State = {
|
|
7076
|
+
setStyleName(_leaf, _styleName, _value) { return needPlugin('state'); },
|
|
7077
|
+
set(_leaf, _stateName) { return needPlugin('state'); }
|
|
7078
|
+
};
|
|
7079
|
+
const Transition = {
|
|
7080
|
+
list: {},
|
|
7081
|
+
register(attrName, fn) {
|
|
7082
|
+
Transition.list[attrName] = fn;
|
|
7083
|
+
},
|
|
7084
|
+
get(attrName) {
|
|
7085
|
+
return Transition.list[attrName];
|
|
7086
|
+
}
|
|
7087
|
+
};
|
|
7088
|
+
|
|
7003
7089
|
const { parse } = PathConvert;
|
|
7004
7090
|
const emptyPaint = {};
|
|
7005
7091
|
const debug$4 = Debug.get('UIData');
|
|
7006
7092
|
class UIData extends LeafData {
|
|
7093
|
+
get scale() { const { scaleX, scaleY } = this; return scaleX !== scaleY ? { x: scaleX, y: scaleY } : scaleX; }
|
|
7007
7094
|
get __strokeWidth() {
|
|
7008
7095
|
const { strokeWidth, strokeWidthFixed } = this;
|
|
7009
7096
|
if (strokeWidthFixed) {
|
|
@@ -7022,9 +7109,10 @@ class UIData extends LeafData {
|
|
|
7022
7109
|
get __autoSide() { return !this._width || !this._height; }
|
|
7023
7110
|
get __autoSize() { return !this._width && !this._height; }
|
|
7024
7111
|
setVisible(value) {
|
|
7025
|
-
if (this.__leaf.leafer)
|
|
7026
|
-
this.__leaf.leafer.watcher.hasVisible = true;
|
|
7027
7112
|
this._visible = value;
|
|
7113
|
+
const { leafer } = this.__leaf;
|
|
7114
|
+
if (leafer)
|
|
7115
|
+
leafer.watcher.hasVisible = true;
|
|
7028
7116
|
}
|
|
7029
7117
|
setWidth(value) {
|
|
7030
7118
|
if (value < 0) {
|
|
@@ -7215,7 +7303,7 @@ class ImageData extends RectData {
|
|
|
7215
7303
|
__setImageFill(value) {
|
|
7216
7304
|
if (this.__leaf.image)
|
|
7217
7305
|
this.__leaf.image = null;
|
|
7218
|
-
this.fill = value ? { type: 'image', mode: '
|
|
7306
|
+
this.fill = value ? { type: 'image', mode: 'stretch', url: value } : undefined;
|
|
7219
7307
|
}
|
|
7220
7308
|
__getData() {
|
|
7221
7309
|
const data = super.__getData();
|
|
@@ -7405,19 +7493,8 @@ var UI_1;
|
|
|
7405
7493
|
let UI = UI_1 = class UI extends Leaf {
|
|
7406
7494
|
get app() { return this.leafer && this.leafer.app; }
|
|
7407
7495
|
get isFrame() { return false; }
|
|
7408
|
-
set scale(value) {
|
|
7409
|
-
|
|
7410
|
-
this.scaleX = this.scaleY = value;
|
|
7411
|
-
}
|
|
7412
|
-
else {
|
|
7413
|
-
this.scaleX = value.x;
|
|
7414
|
-
this.scaleY = value.y;
|
|
7415
|
-
}
|
|
7416
|
-
}
|
|
7417
|
-
get scale() {
|
|
7418
|
-
const { scaleX, scaleY } = this;
|
|
7419
|
-
return scaleX !== scaleY ? { x: scaleX, y: scaleY } : scaleX;
|
|
7420
|
-
}
|
|
7496
|
+
set scale(value) { MathHelper.assignScale(this, value); }
|
|
7497
|
+
get scale() { return this.__.scale; }
|
|
7421
7498
|
get pen() {
|
|
7422
7499
|
const { path } = this.__;
|
|
7423
7500
|
pen.set(this.path = path || []);
|
|
@@ -7432,8 +7509,15 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
7432
7509
|
super(data);
|
|
7433
7510
|
}
|
|
7434
7511
|
reset(_data) { }
|
|
7435
|
-
set(data) {
|
|
7436
|
-
|
|
7512
|
+
set(data, isTemp) {
|
|
7513
|
+
if (isTemp) {
|
|
7514
|
+
this.lockNormalStyle = true;
|
|
7515
|
+
Object.assign(this, data);
|
|
7516
|
+
this.lockNormalStyle = false;
|
|
7517
|
+
}
|
|
7518
|
+
else {
|
|
7519
|
+
Object.assign(this, data);
|
|
7520
|
+
}
|
|
7437
7521
|
}
|
|
7438
7522
|
get(name) {
|
|
7439
7523
|
return typeof name === 'string' ? this.__.__getInput(name) : this.__.__getInputData(name);
|
|
@@ -7496,11 +7580,18 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
7496
7580
|
drawer.rect(x, y, width, height);
|
|
7497
7581
|
}
|
|
7498
7582
|
}
|
|
7583
|
+
animate(_keyframe, _options, _type, _isTemp) {
|
|
7584
|
+
return needPlugin('animate');
|
|
7585
|
+
}
|
|
7586
|
+
killAnimate(_type) { }
|
|
7499
7587
|
export(filename, options) {
|
|
7500
7588
|
return Export.export(this, filename, options);
|
|
7501
7589
|
}
|
|
7502
|
-
clone() {
|
|
7503
|
-
|
|
7590
|
+
clone(newData) {
|
|
7591
|
+
const json = this.toJSON();
|
|
7592
|
+
if (newData)
|
|
7593
|
+
Object.assign(json, newData);
|
|
7594
|
+
return UI_1.one(json);
|
|
7504
7595
|
}
|
|
7505
7596
|
static one(data, x, y, width, height) {
|
|
7506
7597
|
return UICreator.get(data.tag || this.prototype.__tag, data, x, y, width, height);
|
|
@@ -7516,6 +7607,8 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
7516
7607
|
static setEditInner(_editorName) { }
|
|
7517
7608
|
destroy() {
|
|
7518
7609
|
this.fill = this.stroke = null;
|
|
7610
|
+
if (this.__animate)
|
|
7611
|
+
this.killAnimate();
|
|
7519
7612
|
super.destroy();
|
|
7520
7613
|
}
|
|
7521
7614
|
};
|
|
@@ -7543,12 +7636,6 @@ __decorate([
|
|
|
7543
7636
|
__decorate([
|
|
7544
7637
|
visibleType(true)
|
|
7545
7638
|
], UI.prototype, "visible", void 0);
|
|
7546
|
-
__decorate([
|
|
7547
|
-
stateType(false)
|
|
7548
|
-
], UI.prototype, "selected", void 0);
|
|
7549
|
-
__decorate([
|
|
7550
|
-
stateType(false)
|
|
7551
|
-
], UI.prototype, "disabled", void 0);
|
|
7552
7639
|
__decorate([
|
|
7553
7640
|
surfaceType(false)
|
|
7554
7641
|
], UI.prototype, "locked", void 0);
|
|
@@ -7621,45 +7708,9 @@ __decorate([
|
|
|
7621
7708
|
__decorate([
|
|
7622
7709
|
pathType(true)
|
|
7623
7710
|
], UI.prototype, "closed", void 0);
|
|
7624
|
-
__decorate([
|
|
7625
|
-
autoLayoutType(false)
|
|
7626
|
-
], UI.prototype, "flow", void 0);
|
|
7627
7711
|
__decorate([
|
|
7628
7712
|
boundsType(0)
|
|
7629
7713
|
], UI.prototype, "padding", void 0);
|
|
7630
|
-
__decorate([
|
|
7631
|
-
boundsType(0)
|
|
7632
|
-
], UI.prototype, "gap", void 0);
|
|
7633
|
-
__decorate([
|
|
7634
|
-
boundsType('top-left')
|
|
7635
|
-
], UI.prototype, "flowAlign", void 0);
|
|
7636
|
-
__decorate([
|
|
7637
|
-
boundsType(false)
|
|
7638
|
-
], UI.prototype, "flowWrap", void 0);
|
|
7639
|
-
__decorate([
|
|
7640
|
-
boundsType('box')
|
|
7641
|
-
], UI.prototype, "itemBox", void 0);
|
|
7642
|
-
__decorate([
|
|
7643
|
-
boundsType(true)
|
|
7644
|
-
], UI.prototype, "inFlow", void 0);
|
|
7645
|
-
__decorate([
|
|
7646
|
-
boundsType()
|
|
7647
|
-
], UI.prototype, "autoWidth", void 0);
|
|
7648
|
-
__decorate([
|
|
7649
|
-
boundsType()
|
|
7650
|
-
], UI.prototype, "autoHeight", void 0);
|
|
7651
|
-
__decorate([
|
|
7652
|
-
boundsType()
|
|
7653
|
-
], UI.prototype, "lockRatio", void 0);
|
|
7654
|
-
__decorate([
|
|
7655
|
-
boundsType()
|
|
7656
|
-
], UI.prototype, "autoBox", void 0);
|
|
7657
|
-
__decorate([
|
|
7658
|
-
boundsType()
|
|
7659
|
-
], UI.prototype, "widthRange", void 0);
|
|
7660
|
-
__decorate([
|
|
7661
|
-
boundsType()
|
|
7662
|
-
], UI.prototype, "heightRange", void 0);
|
|
7663
7714
|
__decorate([
|
|
7664
7715
|
dataType(false)
|
|
7665
7716
|
], UI.prototype, "draggable", void 0);
|
|
@@ -7723,12 +7774,6 @@ __decorate([
|
|
|
7723
7774
|
__decorate([
|
|
7724
7775
|
strokeType(10)
|
|
7725
7776
|
], UI.prototype, "miterLimit", void 0);
|
|
7726
|
-
__decorate([
|
|
7727
|
-
arrowType('none')
|
|
7728
|
-
], UI.prototype, "startArrow", void 0);
|
|
7729
|
-
__decorate([
|
|
7730
|
-
arrowType('none')
|
|
7731
|
-
], UI.prototype, "endArrow", void 0);
|
|
7732
7777
|
__decorate([
|
|
7733
7778
|
pathType(0)
|
|
7734
7779
|
], UI.prototype, "cornerRadius", void 0);
|
|
@@ -7750,24 +7795,6 @@ __decorate([
|
|
|
7750
7795
|
__decorate([
|
|
7751
7796
|
effectType()
|
|
7752
7797
|
], UI.prototype, "grayscale", void 0);
|
|
7753
|
-
__decorate([
|
|
7754
|
-
dataType()
|
|
7755
|
-
], UI.prototype, "normalStyle", void 0);
|
|
7756
|
-
__decorate([
|
|
7757
|
-
dataType()
|
|
7758
|
-
], UI.prototype, "hoverStyle", void 0);
|
|
7759
|
-
__decorate([
|
|
7760
|
-
dataType()
|
|
7761
|
-
], UI.prototype, "pressStyle", void 0);
|
|
7762
|
-
__decorate([
|
|
7763
|
-
dataType()
|
|
7764
|
-
], UI.prototype, "focusStyle", void 0);
|
|
7765
|
-
__decorate([
|
|
7766
|
-
dataType()
|
|
7767
|
-
], UI.prototype, "selectedStyle", void 0);
|
|
7768
|
-
__decorate([
|
|
7769
|
-
dataType()
|
|
7770
|
-
], UI.prototype, "disabledStyle", void 0);
|
|
7771
7798
|
__decorate([
|
|
7772
7799
|
dataType({})
|
|
7773
7800
|
], UI.prototype, "data", void 0);
|
|
@@ -7794,7 +7821,7 @@ let Group = class Group extends UI {
|
|
|
7794
7821
|
if (!this.children)
|
|
7795
7822
|
this.children = [];
|
|
7796
7823
|
}
|
|
7797
|
-
set(data) {
|
|
7824
|
+
set(data, isTemp) {
|
|
7798
7825
|
if (data.children) {
|
|
7799
7826
|
const { children } = data;
|
|
7800
7827
|
delete data.children;
|
|
@@ -7804,7 +7831,7 @@ let Group = class Group extends UI {
|
|
|
7804
7831
|
else {
|
|
7805
7832
|
this.clear();
|
|
7806
7833
|
}
|
|
7807
|
-
super.set(data);
|
|
7834
|
+
super.set(data, isTemp);
|
|
7808
7835
|
let child;
|
|
7809
7836
|
children.forEach(childData => {
|
|
7810
7837
|
child = childData.__ ? childData : UICreator.get(childData.tag, childData);
|
|
@@ -7813,7 +7840,7 @@ let Group = class Group extends UI {
|
|
|
7813
7840
|
data.children = children;
|
|
7814
7841
|
}
|
|
7815
7842
|
else {
|
|
7816
|
-
super.set(data);
|
|
7843
|
+
super.set(data, isTemp);
|
|
7817
7844
|
}
|
|
7818
7845
|
}
|
|
7819
7846
|
toJSON(options) {
|
|
@@ -8140,7 +8167,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
8140
8167
|
}
|
|
8141
8168
|
}
|
|
8142
8169
|
zoom(_zoomType, _padding, _fixedScale) {
|
|
8143
|
-
return
|
|
8170
|
+
return needPlugin('view');
|
|
8144
8171
|
}
|
|
8145
8172
|
getValidMove(moveX, moveY) { return { x: moveX, y: moveY }; }
|
|
8146
8173
|
getValidScale(changeScale) { return changeScale; }
|
|
@@ -8663,19 +8690,18 @@ let Canvas = class Canvas extends Rect {
|
|
|
8663
8690
|
this.paint();
|
|
8664
8691
|
}
|
|
8665
8692
|
paint() {
|
|
8666
|
-
this.
|
|
8693
|
+
this.forceRender();
|
|
8667
8694
|
}
|
|
8668
8695
|
__drawAfterFill(canvas, _options) {
|
|
8669
|
-
const
|
|
8670
|
-
|
|
8671
|
-
if (this.__.cornerRadius || this.pathInputed) {
|
|
8696
|
+
const { width, height, cornerRadius } = this.__, { view } = this.canvas;
|
|
8697
|
+
if (cornerRadius || this.pathInputed) {
|
|
8672
8698
|
canvas.save();
|
|
8673
8699
|
canvas.clip();
|
|
8674
|
-
canvas.drawImage(
|
|
8700
|
+
canvas.drawImage(view, 0, 0, view.width, view.height, 0, 0, width, height);
|
|
8675
8701
|
canvas.restore();
|
|
8676
8702
|
}
|
|
8677
8703
|
else {
|
|
8678
|
-
canvas.drawImage(
|
|
8704
|
+
canvas.drawImage(view, 0, 0, view.width, view.height, 0, 0, width, height);
|
|
8679
8705
|
}
|
|
8680
8706
|
}
|
|
8681
8707
|
__updateSize() {
|
|
@@ -9118,21 +9144,29 @@ class UIEvent extends Event {
|
|
|
9118
9144
|
constructor(params) {
|
|
9119
9145
|
super(params.type);
|
|
9120
9146
|
this.bubbles = true;
|
|
9147
|
+
this.getInner = this.getInnerPoint;
|
|
9148
|
+
this.getLocal = this.getLocalPoint;
|
|
9149
|
+
this.getPage = this.getPagePoint;
|
|
9121
9150
|
Object.assign(this, params);
|
|
9122
9151
|
}
|
|
9123
|
-
|
|
9124
|
-
|
|
9152
|
+
getBoxPoint(relative) {
|
|
9153
|
+
if (!relative)
|
|
9154
|
+
relative = this.current;
|
|
9155
|
+
return relative.getBoxPoint(this);
|
|
9125
9156
|
}
|
|
9126
|
-
|
|
9157
|
+
getInnerPoint(relative) {
|
|
9127
9158
|
if (!relative)
|
|
9128
9159
|
relative = this.current;
|
|
9129
9160
|
return relative.getInnerPoint(this);
|
|
9130
9161
|
}
|
|
9131
|
-
|
|
9162
|
+
getLocalPoint(relative) {
|
|
9132
9163
|
if (!relative)
|
|
9133
9164
|
relative = this.current;
|
|
9134
9165
|
return relative.getLocalPoint(this);
|
|
9135
9166
|
}
|
|
9167
|
+
getPagePoint() {
|
|
9168
|
+
return this.current.getPagePoint(this);
|
|
9169
|
+
}
|
|
9136
9170
|
static changeName(oldName, newName) {
|
|
9137
9171
|
EventCreator.changeName(oldName, newName);
|
|
9138
9172
|
}
|
|
@@ -9240,7 +9274,7 @@ let DragEvent = class DragEvent extends PointerEvent {
|
|
|
9240
9274
|
}
|
|
9241
9275
|
getPageBounds() {
|
|
9242
9276
|
const total = this.getPageTotal();
|
|
9243
|
-
const start = this.
|
|
9277
|
+
const start = this.getPagePoint();
|
|
9244
9278
|
const bounds = {};
|
|
9245
9279
|
BoundsHelper.set(bounds, start.x - total.x, start.y - total.y, total.x, total.y);
|
|
9246
9280
|
BoundsHelper.unsign(bounds);
|
|
@@ -9824,7 +9858,7 @@ function emitEvent(leaf, type, data, capture, excludePath) {
|
|
|
9824
9858
|
if (leaf.destroyed)
|
|
9825
9859
|
return false;
|
|
9826
9860
|
if (leaf.__.hitSelf && !exclude(leaf, excludePath)) {
|
|
9827
|
-
if (State.updateEventStyle)
|
|
9861
|
+
if (State.updateEventStyle && !capture)
|
|
9828
9862
|
State.updateEventStyle(leaf, type);
|
|
9829
9863
|
if (leaf.hasEvent(type, capture)) {
|
|
9830
9864
|
data.phase = capture ? 1 : ((leaf === data.target) ? 2 : 3);
|
|
@@ -9929,7 +9963,7 @@ class InteractionBase {
|
|
|
9929
9963
|
this.tapWait();
|
|
9930
9964
|
this.longPressWait(data);
|
|
9931
9965
|
}
|
|
9932
|
-
this.
|
|
9966
|
+
this.waitRightTap = PointerButton.right(data);
|
|
9933
9967
|
this.dragger.setDragData(data);
|
|
9934
9968
|
if (!this.isHoldRightKey)
|
|
9935
9969
|
this.updateCursor(data);
|
|
@@ -9957,7 +9991,7 @@ class InteractionBase {
|
|
|
9957
9991
|
if (canDrag) {
|
|
9958
9992
|
if (this.waitTap)
|
|
9959
9993
|
this.pointerWaitCancel();
|
|
9960
|
-
this.
|
|
9994
|
+
this.waitRightTap = false;
|
|
9961
9995
|
}
|
|
9962
9996
|
this.dragger.checkDrag(data, canDrag);
|
|
9963
9997
|
}
|
|
@@ -10011,10 +10045,15 @@ class InteractionBase {
|
|
|
10011
10045
|
menu(data) {
|
|
10012
10046
|
this.findPath(data);
|
|
10013
10047
|
this.emit(PointerEvent.MENU, data);
|
|
10048
|
+
this.waitMenuTap = true;
|
|
10049
|
+
if (!this.downData && this.waitRightTap)
|
|
10050
|
+
this.menuTap(data);
|
|
10014
10051
|
}
|
|
10015
10052
|
menuTap(data) {
|
|
10016
|
-
if (this.waitMenuTap)
|
|
10053
|
+
if (this.waitRightTap && this.waitMenuTap) {
|
|
10017
10054
|
this.emit(PointerEvent.MENU_TAP, data);
|
|
10055
|
+
this.waitRightTap = this.waitMenuTap = false;
|
|
10056
|
+
}
|
|
10018
10057
|
}
|
|
10019
10058
|
move(data) {
|
|
10020
10059
|
this.transformer.move(data);
|
|
@@ -11210,6 +11249,8 @@ function getPatternData(paint, box, image) {
|
|
|
11210
11249
|
let { width, height } = image;
|
|
11211
11250
|
if (paint.padding)
|
|
11212
11251
|
box = tempBox.set(box).shrink(paint.padding);
|
|
11252
|
+
if (paint.mode === 'strench')
|
|
11253
|
+
paint.mode = 'stretch';
|
|
11213
11254
|
const { opacity, mode, align, offset, scale, size, rotation, repeat } = paint;
|
|
11214
11255
|
const sameBox = box.width === width && box.height === height;
|
|
11215
11256
|
const data = { mode };
|
|
@@ -11238,7 +11279,7 @@ function getPatternData(paint, box, image) {
|
|
|
11238
11279
|
if (offset)
|
|
11239
11280
|
x += offset.x, y += offset.y;
|
|
11240
11281
|
switch (mode) {
|
|
11241
|
-
case '
|
|
11282
|
+
case 'stretch':
|
|
11242
11283
|
if (!sameBox)
|
|
11243
11284
|
width = box.width, height = box.height;
|
|
11244
11285
|
break;
|
|
@@ -11265,7 +11306,7 @@ function getPatternData(paint, box, image) {
|
|
|
11265
11306
|
translate(data.transform, box.x, box.y);
|
|
11266
11307
|
}
|
|
11267
11308
|
}
|
|
11268
|
-
if (scaleX && mode !== '
|
|
11309
|
+
if (scaleX && mode !== 'stretch') {
|
|
11269
11310
|
data.scaleX = scaleX;
|
|
11270
11311
|
data.scaleY = scaleY;
|
|
11271
11312
|
}
|
|
@@ -11369,7 +11410,7 @@ const { get: get$1, scale, copy: copy$1 } = MatrixHelper;
|
|
|
11369
11410
|
const { ceil, abs: abs$1 } = Math;
|
|
11370
11411
|
function createPattern(ui, paint, pixelRatio) {
|
|
11371
11412
|
let { scaleX, scaleY } = ImageManager.patternLocked ? ui.__world : ui.__nowWorld;
|
|
11372
|
-
const id = scaleX + '-' + scaleY;
|
|
11413
|
+
const id = scaleX + '-' + scaleY + '-' + pixelRatio;
|
|
11373
11414
|
if (paint.patternId !== id && !ui.destroyed) {
|
|
11374
11415
|
scaleX = abs$1(scaleX);
|
|
11375
11416
|
scaleY = abs$1(scaleY);
|
|
@@ -11431,7 +11472,8 @@ function createPattern(ui, paint, pixelRatio) {
|
|
|
11431
11472
|
const { abs } = Math;
|
|
11432
11473
|
function checkImage(ui, canvas, paint, allowPaint) {
|
|
11433
11474
|
const { scaleX, scaleY } = ImageManager.patternLocked ? ui.__world : ui.__nowWorld;
|
|
11434
|
-
|
|
11475
|
+
const { pixelRatio } = canvas;
|
|
11476
|
+
if (!paint.data || (paint.patternId === scaleX + '-' + scaleY + '-' + pixelRatio && !Export.running)) {
|
|
11435
11477
|
return false;
|
|
11436
11478
|
}
|
|
11437
11479
|
else {
|
|
@@ -11439,8 +11481,8 @@ function checkImage(ui, canvas, paint, allowPaint) {
|
|
|
11439
11481
|
if (allowPaint) {
|
|
11440
11482
|
if (!data.repeat) {
|
|
11441
11483
|
let { width, height } = data;
|
|
11442
|
-
width *= abs(scaleX) *
|
|
11443
|
-
height *= abs(scaleY) *
|
|
11484
|
+
width *= abs(scaleX) * pixelRatio;
|
|
11485
|
+
height *= abs(scaleY) * pixelRatio;
|
|
11444
11486
|
if (data.scaleX) {
|
|
11445
11487
|
width *= data.scaleX;
|
|
11446
11488
|
height *= data.scaleY;
|
|
@@ -11466,14 +11508,14 @@ function checkImage(ui, canvas, paint, allowPaint) {
|
|
|
11466
11508
|
}
|
|
11467
11509
|
else {
|
|
11468
11510
|
if (!paint.style || paint.sync || Export.running) {
|
|
11469
|
-
createPattern(ui, paint,
|
|
11511
|
+
createPattern(ui, paint, pixelRatio);
|
|
11470
11512
|
}
|
|
11471
11513
|
else {
|
|
11472
11514
|
if (!paint.patternTask) {
|
|
11473
11515
|
paint.patternTask = ImageManager.patternTasker.add(() => __awaiter(this, void 0, void 0, function* () {
|
|
11474
11516
|
paint.patternTask = null;
|
|
11475
11517
|
if (canvas.bounds.hit(ui.__nowWorld))
|
|
11476
|
-
createPattern(ui, paint,
|
|
11518
|
+
createPattern(ui, paint, pixelRatio);
|
|
11477
11519
|
ui.forceUpdate('surface');
|
|
11478
11520
|
}), 300);
|
|
11479
11521
|
}
|
|
@@ -11537,14 +11579,16 @@ function linearGradient(paint, box) {
|
|
|
11537
11579
|
return data;
|
|
11538
11580
|
}
|
|
11539
11581
|
function applyStops(gradient, stops, opacity) {
|
|
11540
|
-
|
|
11541
|
-
|
|
11542
|
-
|
|
11543
|
-
|
|
11544
|
-
|
|
11545
|
-
|
|
11546
|
-
|
|
11547
|
-
|
|
11582
|
+
if (stops) {
|
|
11583
|
+
let stop;
|
|
11584
|
+
for (let i = 0, len = stops.length; i < len; i++) {
|
|
11585
|
+
stop = stops[i];
|
|
11586
|
+
if (typeof stop === 'string') {
|
|
11587
|
+
gradient.addColorStop(i / (len - 1), ColorConvert.string(stop, opacity));
|
|
11588
|
+
}
|
|
11589
|
+
else {
|
|
11590
|
+
gradient.addColorStop(stop.offset, ColorConvert.string(stop.color, opacity));
|
|
11591
|
+
}
|
|
11548
11592
|
}
|
|
11549
11593
|
}
|
|
11550
11594
|
}
|
|
@@ -12300,10 +12344,15 @@ const TextConvertModule = {
|
|
|
12300
12344
|
};
|
|
12301
12345
|
|
|
12302
12346
|
function string(color, opacity) {
|
|
12303
|
-
|
|
12304
|
-
|
|
12347
|
+
const doOpacity = typeof opacity === 'number' && opacity !== 1;
|
|
12348
|
+
if (typeof color === 'string') {
|
|
12349
|
+
if (doOpacity && ColorConvert.object)
|
|
12350
|
+
color = ColorConvert.object(color);
|
|
12351
|
+
else
|
|
12352
|
+
return color;
|
|
12353
|
+
}
|
|
12305
12354
|
let a = color.a === undefined ? 1 : color.a;
|
|
12306
|
-
if (
|
|
12355
|
+
if (doOpacity)
|
|
12307
12356
|
a *= opacity;
|
|
12308
12357
|
const rgb = color.r + ',' + color.g + ',' + color.b;
|
|
12309
12358
|
return a === 1 ? 'rgb(' + rgb + ')' : 'rgba(' + rgb + ',' + a + ')';
|
|
@@ -12515,4 +12564,4 @@ Object.assign(Creator, {
|
|
|
12515
12564
|
});
|
|
12516
12565
|
useCanvas();
|
|
12517
12566
|
|
|
12518
|
-
export { AlignHelper,
|
|
12567
|
+
export { AlignHelper, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragEvent, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Frame, FrameData, Group, GroupData, HitCanvasManager, Image$1 as Image, ImageData, ImageEvent, ImageManager, IncrementId, Interaction, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, LeaferTypeCreator, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MultiTouchHelper, MyDragEvent, MyImage, MyPointerEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Platform, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, ZoomEvent, addInteractionWindow, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, doBoundsType, doStrokeType, effectType, emptyData, eraserType, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isNull, layoutProcessor, maskType, naturalBoundsType, needPlugin, opacityType, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, sortType, strokeType, surfaceType, tempBounds$1 as tempBounds, tempMatrix, tempPoint$3 as tempPoint, useCanvas, useModule, version, visibleType, zoomLayerType };
|