leafer-ui 2.0.1 → 2.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/dist/web.cjs +99 -72
- package/dist/web.esm.js +87 -74
- package/dist/web.esm.min.js +1 -1
- package/dist/web.esm.min.js.map +1 -1
- package/dist/web.js +239 -133
- package/dist/web.min.cjs +1 -1
- package/dist/web.min.cjs.map +1 -1
- package/dist/web.min.js +1 -1
- package/dist/web.min.js.map +1 -1
- package/dist/web.module.js +246 -139
- package/dist/web.module.min.js +1 -1
- package/dist/web.module.min.js.map +1 -1
- package/package.json +11 -11
package/dist/web.module.js
CHANGED
|
@@ -7,6 +7,45 @@ var PathNodeHandleType;
|
|
|
7
7
|
PathNodeHandleType[PathNodeHandleType["mirror"] = 4] = "mirror";
|
|
8
8
|
})(PathNodeHandleType || (PathNodeHandleType = {}));
|
|
9
9
|
|
|
10
|
+
function __decorate(decorators, target, key, desc) {
|
|
11
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
12
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
13
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
17
|
+
function adopt(value) {
|
|
18
|
+
return value instanceof P ? value : new P(function(resolve) {
|
|
19
|
+
resolve(value);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return new (P || (P = Promise))(function(resolve, reject) {
|
|
23
|
+
function fulfilled(value) {
|
|
24
|
+
try {
|
|
25
|
+
step(generator.next(value));
|
|
26
|
+
} catch (e) {
|
|
27
|
+
reject(e);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function rejected(value) {
|
|
31
|
+
try {
|
|
32
|
+
step(generator["throw"](value));
|
|
33
|
+
} catch (e) {
|
|
34
|
+
reject(e);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function step(result) {
|
|
38
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
39
|
+
}
|
|
40
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
|
|
45
|
+
var e = new Error(message);
|
|
46
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
47
|
+
};
|
|
48
|
+
|
|
10
49
|
var Answer;
|
|
11
50
|
|
|
12
51
|
(function(Answer) {
|
|
@@ -213,6 +252,7 @@ class LeafData {
|
|
|
213
252
|
}
|
|
214
253
|
destroy() {
|
|
215
254
|
this.__input = this.__middle = null;
|
|
255
|
+
if (this.__complexData) this.__complexData.destroy();
|
|
216
256
|
}
|
|
217
257
|
}
|
|
218
258
|
|
|
@@ -311,6 +351,8 @@ const {set: set$2, get: get$5, setTemp: setTemp, toTempAB: toTempAB} = FourNumbe
|
|
|
311
351
|
|
|
312
352
|
const {round: round$3, pow: pow$1, max: max$4, floor: floor$2, PI: PI$3} = Math;
|
|
313
353
|
|
|
354
|
+
const tempScaleData$1 = {};
|
|
355
|
+
|
|
314
356
|
const MathHelper = {
|
|
315
357
|
within(value, min, max) {
|
|
316
358
|
if (isObject(min)) max = min.max, min = min.min;
|
|
@@ -354,6 +396,24 @@ const MathHelper = {
|
|
|
354
396
|
} else if (scale) MathHelper.assignScale(scaleData, scale);
|
|
355
397
|
return scaleData;
|
|
356
398
|
},
|
|
399
|
+
getScaleFixedData(worldScaleData, scaleFixed, unscale, abs, _localScaleData) {
|
|
400
|
+
let {scaleX: scaleX, scaleY: scaleY} = worldScaleData;
|
|
401
|
+
if (abs || scaleFixed) scaleX < 0 && (scaleX = -scaleX), scaleY < 0 && (scaleY = -scaleY);
|
|
402
|
+
if (scaleFixed) {
|
|
403
|
+
if (scaleFixed === true) {
|
|
404
|
+
scaleX = scaleY = unscale ? 1 : 1 / scaleX;
|
|
405
|
+
} else {
|
|
406
|
+
let minScale;
|
|
407
|
+
if (isNumber(scaleFixed)) minScale = scaleFixed; else if (scaleFixed === "zoom-in") minScale = 1;
|
|
408
|
+
if (minScale) {
|
|
409
|
+
if (scaleX > minScale || scaleY > minScale) scaleX = scaleY = unscale ? 1 : 1 / scaleX; else scaleX = scaleY = unscale ? 1 : 1 / minScale;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
tempScaleData$1.scaleX = scaleX;
|
|
414
|
+
tempScaleData$1.scaleY = scaleY;
|
|
415
|
+
return tempScaleData$1;
|
|
416
|
+
},
|
|
357
417
|
assignScale(scaleData, scale) {
|
|
358
418
|
if (isNumber(scale)) {
|
|
359
419
|
scaleData.scaleX = scaleData.scaleY = scale;
|
|
@@ -850,8 +910,8 @@ const PointHelper = {
|
|
|
850
910
|
if (isObject(originPoints[0])) points = [], originPoints.forEach(p => points.push(p.x, p.y));
|
|
851
911
|
return points;
|
|
852
912
|
},
|
|
853
|
-
isSame(t, point) {
|
|
854
|
-
return float$2(t.x) === float$2(point.x) && float$2(t.y) === float$2(point.y);
|
|
913
|
+
isSame(t, point, quick) {
|
|
914
|
+
return quick ? t.x === point.x && t.y === point.y : float$2(t.x) === float$2(point.x) && float$2(t.y) === float$2(point.y);
|
|
855
915
|
},
|
|
856
916
|
reset(t) {
|
|
857
917
|
P$5.reset(t);
|
|
@@ -926,8 +986,8 @@ class Point {
|
|
|
926
986
|
getAtan2(to) {
|
|
927
987
|
return PointHelper.getAtan2(this, to);
|
|
928
988
|
}
|
|
929
|
-
isSame(point) {
|
|
930
|
-
return PointHelper.isSame(this, point);
|
|
989
|
+
isSame(point, quick) {
|
|
990
|
+
return PointHelper.isSame(this, point, quick);
|
|
931
991
|
}
|
|
932
992
|
reset() {
|
|
933
993
|
PointHelper.reset(this);
|
|
@@ -1183,9 +1243,9 @@ const AroundHelper = {
|
|
|
1183
1243
|
}
|
|
1184
1244
|
if (!onlyBoxSize) to.x += box.x, to.y += box.y;
|
|
1185
1245
|
},
|
|
1186
|
-
getPoint(around, box, to) {
|
|
1246
|
+
getPoint(around, box, to, onlyBoxSize = true) {
|
|
1187
1247
|
if (!to) to = {};
|
|
1188
|
-
AroundHelper.toPoint(around, box, to,
|
|
1248
|
+
AroundHelper.toPoint(around, box, to, onlyBoxSize);
|
|
1189
1249
|
return to;
|
|
1190
1250
|
}
|
|
1191
1251
|
};
|
|
@@ -1452,6 +1512,9 @@ const BoundsHelper = {
|
|
|
1452
1512
|
y: y + height
|
|
1453
1513
|
} ];
|
|
1454
1514
|
},
|
|
1515
|
+
getPoint(t, around, onlyBoxSize = false, to) {
|
|
1516
|
+
return AroundHelper.getPoint(around, t, to, onlyBoxSize);
|
|
1517
|
+
},
|
|
1455
1518
|
hitRadiusPoint(t, point, pointMatrix) {
|
|
1456
1519
|
if (pointMatrix) point = PointHelper.tempToInnerRadiusPointOf(point, pointMatrix);
|
|
1457
1520
|
return point.x >= t.x - point.radiusX && point.x <= t.x + t.width + point.radiusX && (point.y >= t.y - point.radiusY && point.y <= t.y + t.height + point.radiusY);
|
|
@@ -1623,6 +1686,9 @@ class Bounds {
|
|
|
1623
1686
|
getPoints() {
|
|
1624
1687
|
return BoundsHelper.getPoints(this);
|
|
1625
1688
|
}
|
|
1689
|
+
getPoint(around, onlyBoxSize, to) {
|
|
1690
|
+
return BoundsHelper.getPoint(this, around, onlyBoxSize, to);
|
|
1691
|
+
}
|
|
1626
1692
|
hitPoint(point, pointMatrix) {
|
|
1627
1693
|
return BoundsHelper.hitPoint(this, point, pointMatrix);
|
|
1628
1694
|
}
|
|
@@ -1897,7 +1963,10 @@ const UICreator = {
|
|
|
1897
1963
|
list$1[tag] = UI;
|
|
1898
1964
|
},
|
|
1899
1965
|
get(tag, data, x, y, width, height) {
|
|
1900
|
-
if (!list$1[tag])
|
|
1966
|
+
if (!list$1[tag]) {
|
|
1967
|
+
debug$f.warn("not register " + tag);
|
|
1968
|
+
return undefined;
|
|
1969
|
+
}
|
|
1901
1970
|
const ui = new list$1[tag](data);
|
|
1902
1971
|
if (!isUndefined(x)) {
|
|
1903
1972
|
ui.x = x;
|
|
@@ -1988,45 +2057,6 @@ class CanvasManager {
|
|
|
1988
2057
|
}
|
|
1989
2058
|
}
|
|
1990
2059
|
|
|
1991
|
-
function __decorate(decorators, target, key, desc) {
|
|
1992
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1993
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1994
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1995
|
-
}
|
|
1996
|
-
|
|
1997
|
-
function __awaiter(thisArg, _arguments, P, generator) {
|
|
1998
|
-
function adopt(value) {
|
|
1999
|
-
return value instanceof P ? value : new P(function(resolve) {
|
|
2000
|
-
resolve(value);
|
|
2001
|
-
});
|
|
2002
|
-
}
|
|
2003
|
-
return new (P || (P = Promise))(function(resolve, reject) {
|
|
2004
|
-
function fulfilled(value) {
|
|
2005
|
-
try {
|
|
2006
|
-
step(generator.next(value));
|
|
2007
|
-
} catch (e) {
|
|
2008
|
-
reject(e);
|
|
2009
|
-
}
|
|
2010
|
-
}
|
|
2011
|
-
function rejected(value) {
|
|
2012
|
-
try {
|
|
2013
|
-
step(generator["throw"](value));
|
|
2014
|
-
} catch (e) {
|
|
2015
|
-
reject(e);
|
|
2016
|
-
}
|
|
2017
|
-
}
|
|
2018
|
-
function step(result) {
|
|
2019
|
-
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
2020
|
-
}
|
|
2021
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
2022
|
-
});
|
|
2023
|
-
}
|
|
2024
|
-
|
|
2025
|
-
typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
|
|
2026
|
-
var e = new Error(message);
|
|
2027
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
2028
|
-
};
|
|
2029
|
-
|
|
2030
2060
|
function contextAttr(realName) {
|
|
2031
2061
|
return (target, key) => {
|
|
2032
2062
|
if (!realName) realName = key;
|
|
@@ -3754,10 +3784,10 @@ function canvasPatch(drawer) {
|
|
|
3754
3784
|
const FileHelper = {
|
|
3755
3785
|
alphaPixelTypes: [ "png", "webp", "svg" ],
|
|
3756
3786
|
upperCaseTypeMap: {},
|
|
3757
|
-
|
|
3758
|
-
if (!type || type.startsWith(
|
|
3787
|
+
mimeType(type, base = "image") {
|
|
3788
|
+
if (!type || type.startsWith(base)) return type;
|
|
3759
3789
|
if (type === "jpg") type = "jpeg";
|
|
3760
|
-
return "
|
|
3790
|
+
return base + "/" + type;
|
|
3761
3791
|
},
|
|
3762
3792
|
fileType(filename) {
|
|
3763
3793
|
const l = filename.split(".");
|
|
@@ -3790,6 +3820,8 @@ const FileHelper = {
|
|
|
3790
3820
|
|
|
3791
3821
|
const F = FileHelper;
|
|
3792
3822
|
|
|
3823
|
+
F.mineType = F.mimeType;
|
|
3824
|
+
|
|
3793
3825
|
F.alphaPixelTypes.forEach(type => F.upperCaseTypeMap[type] = type.toUpperCase());
|
|
3794
3826
|
|
|
3795
3827
|
const debug$a = Debug.get("TaskProcessor");
|
|
@@ -4034,6 +4066,9 @@ const debug$9 = Debug.get("Resource");
|
|
|
4034
4066
|
|
|
4035
4067
|
const Resource = {
|
|
4036
4068
|
tasker: new TaskProcessor,
|
|
4069
|
+
queue: new TaskProcessor({
|
|
4070
|
+
parallel: 1
|
|
4071
|
+
}),
|
|
4037
4072
|
map: {},
|
|
4038
4073
|
get isComplete() {
|
|
4039
4074
|
return R.tasker.isComplete;
|
|
@@ -4070,6 +4105,12 @@ const Resource = {
|
|
|
4070
4105
|
R.set(key, value);
|
|
4071
4106
|
return value;
|
|
4072
4107
|
},
|
|
4108
|
+
loadFilm(_key, _format) {
|
|
4109
|
+
return undefined;
|
|
4110
|
+
},
|
|
4111
|
+
loadVideo(_key, _format) {
|
|
4112
|
+
return undefined;
|
|
4113
|
+
},
|
|
4073
4114
|
destroy() {
|
|
4074
4115
|
R.map = {};
|
|
4075
4116
|
}
|
|
@@ -4080,16 +4121,15 @@ const R = Resource;
|
|
|
4080
4121
|
const ImageManager = {
|
|
4081
4122
|
maxRecycled: 10,
|
|
4082
4123
|
recycledList: [],
|
|
4083
|
-
patternTasker:
|
|
4084
|
-
|
|
4085
|
-
}),
|
|
4086
|
-
get(config) {
|
|
4124
|
+
patternTasker: Resource.queue,
|
|
4125
|
+
get(config, type) {
|
|
4087
4126
|
let image = Resource.get(config.url);
|
|
4088
|
-
if (!image) Resource.set(config.url, image = Creator.image(config));
|
|
4127
|
+
if (!image) Resource.set(config.url, image = type === "film" ? Creator.film(config) : Creator.image(config));
|
|
4089
4128
|
image.use++;
|
|
4090
4129
|
return image;
|
|
4091
4130
|
},
|
|
4092
4131
|
recycle(image) {
|
|
4132
|
+
if (image.parent) image = image.parent;
|
|
4093
4133
|
image.use--;
|
|
4094
4134
|
setTimeout(() => {
|
|
4095
4135
|
if (!image.use) {
|
|
@@ -4120,7 +4160,7 @@ const ImageManager = {
|
|
|
4120
4160
|
if (config.format) return config.format === format;
|
|
4121
4161
|
const {url: url} = config;
|
|
4122
4162
|
if (url.startsWith("data:")) {
|
|
4123
|
-
if (url.startsWith("data:" + FileHelper.
|
|
4163
|
+
if (url.startsWith("data:" + FileHelper.mimeType(format))) return true;
|
|
4124
4164
|
} else {
|
|
4125
4165
|
if (url.includes("." + format) || url.includes("." + FileHelper.upperCaseTypeMap[format])) return true; else if (format === "png" && !url.includes(".")) return true;
|
|
4126
4166
|
}
|
|
@@ -4136,6 +4176,9 @@ const I$1 = ImageManager;
|
|
|
4136
4176
|
const {IMAGE: IMAGE, create: create$1} = IncrementId;
|
|
4137
4177
|
|
|
4138
4178
|
class LeaferImage {
|
|
4179
|
+
get tag() {
|
|
4180
|
+
return "Image";
|
|
4181
|
+
}
|
|
4139
4182
|
get url() {
|
|
4140
4183
|
return this.config.url;
|
|
4141
4184
|
}
|
|
@@ -4164,7 +4207,7 @@ class LeaferImage {
|
|
|
4164
4207
|
if (!this.loading) {
|
|
4165
4208
|
this.loading = true;
|
|
4166
4209
|
Resource.tasker.add(() => __awaiter(this, void 0, void 0, function*() {
|
|
4167
|
-
return yield Platform.origin.
|
|
4210
|
+
return yield Platform.origin["load" + this.tag](this.getLoadUrl(thumbSize), this.crossOrigin, this).then(img => {
|
|
4168
4211
|
if (thumbSize) this.setThumbView(img);
|
|
4169
4212
|
this.setView(img);
|
|
4170
4213
|
}).catch(e => {
|
|
@@ -4238,6 +4281,9 @@ class LeaferImage {
|
|
|
4238
4281
|
Platform.image.setPatternTransform(pattern, transform, paint);
|
|
4239
4282
|
return pattern;
|
|
4240
4283
|
}
|
|
4284
|
+
render(canvas, x, y, width, height, _leaf, _paint, _imageScaleX, _imageScaleY) {
|
|
4285
|
+
canvas.drawImage(this.view, x, y, width, height);
|
|
4286
|
+
}
|
|
4241
4287
|
getLoadUrl(_thumbSize) {
|
|
4242
4288
|
return this.url;
|
|
4243
4289
|
}
|
|
@@ -4252,8 +4298,10 @@ class LeaferImage {
|
|
|
4252
4298
|
return undefined;
|
|
4253
4299
|
}
|
|
4254
4300
|
clearLevels(_checkUse) {}
|
|
4301
|
+
destroyFilter() {}
|
|
4255
4302
|
destroy() {
|
|
4256
4303
|
this.clearLevels();
|
|
4304
|
+
this.destroyFilter();
|
|
4257
4305
|
const {view: view} = this;
|
|
4258
4306
|
if (view && view.close) view.close();
|
|
4259
4307
|
this.config = {
|
|
@@ -4264,6 +4312,18 @@ class LeaferImage {
|
|
|
4264
4312
|
}
|
|
4265
4313
|
}
|
|
4266
4314
|
|
|
4315
|
+
class LeaferFilm extends LeaferImage {
|
|
4316
|
+
get tag() {
|
|
4317
|
+
return "Film";
|
|
4318
|
+
}
|
|
4319
|
+
}
|
|
4320
|
+
|
|
4321
|
+
class LeaferVideo extends LeaferImage {
|
|
4322
|
+
get tag() {
|
|
4323
|
+
return "Video";
|
|
4324
|
+
}
|
|
4325
|
+
}
|
|
4326
|
+
|
|
4267
4327
|
function defineKey(target, key, descriptor, noConfigurable) {
|
|
4268
4328
|
if (!noConfigurable) descriptor.configurable = descriptor.enumerable = true;
|
|
4269
4329
|
Object.defineProperty(target, key, descriptor);
|
|
@@ -4438,7 +4498,6 @@ function dimType(defaultValue) {
|
|
|
4438
4498
|
if (this.__setAttr(key, value)) {
|
|
4439
4499
|
const data = this.__;
|
|
4440
4500
|
DataHelper.stintSet(data, "__useDim", data.dim || data.bright || data.dimskip);
|
|
4441
|
-
this.__layout.surfaceChange();
|
|
4442
4501
|
}
|
|
4443
4502
|
}
|
|
4444
4503
|
}));
|
|
@@ -4488,7 +4547,6 @@ function sortType(defaultValue) {
|
|
|
4488
4547
|
return decorateLeafAttr(defaultValue, key => attr({
|
|
4489
4548
|
set(value) {
|
|
4490
4549
|
if (this.__setAttr(key, value)) {
|
|
4491
|
-
this.__layout.surfaceChange();
|
|
4492
4550
|
this.waitParent(() => {
|
|
4493
4551
|
this.parent.__layout.childrenSortChange();
|
|
4494
4552
|
});
|
|
@@ -4525,7 +4583,6 @@ function hitType(defaultValue) {
|
|
|
4525
4583
|
set(value) {
|
|
4526
4584
|
if (this.__setAttr(key, value)) {
|
|
4527
4585
|
this.__layout.hitCanvasChanged = true;
|
|
4528
|
-
if (Debug.showBounds === "hit") this.__layout.surfaceChange();
|
|
4529
4586
|
if (this.leafer) this.leafer.updateCursor();
|
|
4530
4587
|
}
|
|
4531
4588
|
}
|
|
@@ -4731,6 +4788,10 @@ const LeafHelper = {
|
|
|
4731
4788
|
if (layout.stateStyleChanged) leaf.updateState();
|
|
4732
4789
|
if (layout.opacityChanged) updateAllWorldOpacity(leaf);
|
|
4733
4790
|
leaf.__updateChange();
|
|
4791
|
+
if (layout.surfaceChanged) {
|
|
4792
|
+
if (leaf.__hasComplex) L.updateComplex(leaf);
|
|
4793
|
+
layout.surfaceChanged = false;
|
|
4794
|
+
}
|
|
4734
4795
|
},
|
|
4735
4796
|
updateAllChange(leaf) {
|
|
4736
4797
|
updateChange$1(leaf);
|
|
@@ -4755,6 +4816,9 @@ const LeafHelper = {
|
|
|
4755
4816
|
if (!fromWorld) fromWorld = leaf.__nowWorld;
|
|
4756
4817
|
if (leaf.__worldFlipped || Platform.fullImageShadow) currentCanvas.copyWorldByReset(fromCanvas, fromWorld, leaf.__nowWorld, blendMode, onlyResetTransform); else currentCanvas.copyWorldToInner(fromCanvas, fromWorld, leaf.__layout.renderBounds, blendMode);
|
|
4757
4818
|
},
|
|
4819
|
+
renderComplex(_leaf, _canvas, _options) {},
|
|
4820
|
+
updateComplex(_leaf) {},
|
|
4821
|
+
checkComplex(_leaf) {},
|
|
4758
4822
|
moveWorld(t, x, y = 0, isInnerPoint, transition) {
|
|
4759
4823
|
const local = isObject(x) ? Object.assign({}, x) : {
|
|
4760
4824
|
x: x,
|
|
@@ -4866,6 +4930,9 @@ const LeafHelper = {
|
|
|
4866
4930
|
divideParent(matrix$1, relative.scrollWorldTransform);
|
|
4867
4931
|
return temp ? matrix$1 : Object.assign({}, matrix$1);
|
|
4868
4932
|
},
|
|
4933
|
+
updateScaleFixedWorld(_t) {},
|
|
4934
|
+
updateOuterBounds(_t) {},
|
|
4935
|
+
cacheId(_t) {},
|
|
4869
4936
|
drop(t, parent, index, resize) {
|
|
4870
4937
|
t.setTransform(L.getRelativeWorld(t, parent, true), resize);
|
|
4871
4938
|
parent.add(t, index);
|
|
@@ -4916,7 +4983,8 @@ const LeafBoundsHelper = {
|
|
|
4916
4983
|
return target.__.eraser || target.__.visible === 0 ? null : target.__layout.localStrokeBounds;
|
|
4917
4984
|
},
|
|
4918
4985
|
localRenderBounds(target) {
|
|
4919
|
-
|
|
4986
|
+
const {__: __, __layout: __layout} = target;
|
|
4987
|
+
return __.eraser || __.visible === 0 ? null : __layout.localOuterBounds || __layout.localRenderBounds;
|
|
4920
4988
|
},
|
|
4921
4989
|
maskLocalBoxBounds(target, index) {
|
|
4922
4990
|
return checkMask(target, index) && target.__localBoxBounds;
|
|
@@ -4925,7 +4993,8 @@ const LeafBoundsHelper = {
|
|
|
4925
4993
|
return checkMask(target, index) && target.__layout.localStrokeBounds;
|
|
4926
4994
|
},
|
|
4927
4995
|
maskLocalRenderBounds(target, index) {
|
|
4928
|
-
|
|
4996
|
+
const {__layout: __layout} = target;
|
|
4997
|
+
return checkMask(target, index) && (__layout.localOuterBounds || __layout.localRenderBounds);
|
|
4929
4998
|
},
|
|
4930
4999
|
excludeRenderBounds(child, options) {
|
|
4931
5000
|
if (options.bounds && !options.bounds.hit(child.__world, options.matrix)) return true;
|
|
@@ -5445,7 +5514,6 @@ class LeafLayout {
|
|
|
5445
5514
|
}
|
|
5446
5515
|
opacityChange() {
|
|
5447
5516
|
this.opacityChanged = true;
|
|
5448
|
-
this.surfaceChanged || this.surfaceChange();
|
|
5449
5517
|
}
|
|
5450
5518
|
childrenSortChange() {
|
|
5451
5519
|
if (!this.childrenSortChanged) {
|
|
@@ -5938,6 +6006,7 @@ const LeafMatrix = {
|
|
|
5938
6006
|
const {parent: parent, __layout: __layout, __world: __world, __scrollWorld: __scrollWorld, __: __} = this;
|
|
5939
6007
|
multiplyParent$2(this.__local || __layout, parent ? parent.__scrollWorld || parent.__world : defaultWorld, __world, !!__layout.affectScaleOrRotation, __);
|
|
5940
6008
|
if (__scrollWorld) translateInner(Object.assign(__scrollWorld, __world), __.scrollX, __.scrollY);
|
|
6009
|
+
if (__layout.scaleFixed) LeafHelper.updateScaleFixedWorld(this);
|
|
5941
6010
|
},
|
|
5942
6011
|
__updateLocalMatrix() {
|
|
5943
6012
|
if (this.__local) {
|
|
@@ -5971,6 +6040,7 @@ const LeafBounds = {
|
|
|
5971
6040
|
__updateWorldBounds() {
|
|
5972
6041
|
const {__layout: __layout, __world: __world} = this;
|
|
5973
6042
|
toOuterOf$2(__layout.renderBounds, __world, __world);
|
|
6043
|
+
if (this.__hasComplex) LeafHelper.checkComplex(this);
|
|
5974
6044
|
if (__layout.resized) {
|
|
5975
6045
|
if (__layout.resized === "inner") this.__onUpdateSize();
|
|
5976
6046
|
if (this.__hasLocalEvent) BoundsEvent.emitLocal(this);
|
|
@@ -6020,6 +6090,7 @@ const LeafBounds = {
|
|
|
6020
6090
|
layout.renderChanged = undefined;
|
|
6021
6091
|
if (this.parent) this.parent.__layout.renderChange();
|
|
6022
6092
|
}
|
|
6093
|
+
if (layout.outerScale) LeafHelper.updateOuterBounds(this);
|
|
6023
6094
|
layout.resized || (layout.resized = "local");
|
|
6024
6095
|
layout.boundsChanged = undefined;
|
|
6025
6096
|
},
|
|
@@ -6086,7 +6157,7 @@ const LeafRender = {
|
|
|
6086
6157
|
const data = this.__;
|
|
6087
6158
|
if (data.bright && !options.topRendering) return options.topList.add(this);
|
|
6088
6159
|
canvas.setWorld(this.__nowWorld = this.__getNowWorld(options));
|
|
6089
|
-
canvas.opacity = options.dimOpacity && !data.dimskip ? data.opacity * options.dimOpacity : data.opacity;
|
|
6160
|
+
canvas.opacity = options.ignoreOpacity ? 1 : options.dimOpacity && !data.dimskip ? data.opacity * options.dimOpacity : data.opacity;
|
|
6090
6161
|
if (this.__.__single) {
|
|
6091
6162
|
if (data.eraser === "path") return this.__renderEraser(canvas, options);
|
|
6092
6163
|
const tempCanvas = canvas.getSameCanvas(true, true);
|
|
@@ -6140,7 +6211,7 @@ const BranchRender = {
|
|
|
6140
6211
|
if (data.eraser === "path") return this.__renderEraser(canvas, options);
|
|
6141
6212
|
const tempCanvas = canvas.getSameCanvas(false, true);
|
|
6142
6213
|
this.__renderBranch(tempCanvas, options);
|
|
6143
|
-
canvas.opacity = options.dimOpacity ? data.opacity * options.dimOpacity : data.opacity;
|
|
6214
|
+
canvas.opacity = options.ignoreOpacity ? 1 : options.dimOpacity ? data.opacity * options.dimOpacity : data.opacity;
|
|
6144
6215
|
canvas.copyWorldByReset(tempCanvas, nowWorld, nowWorld, data.__blendMode, true);
|
|
6145
6216
|
tempCanvas.recycle(nowWorld);
|
|
6146
6217
|
} else {
|
|
@@ -6152,9 +6223,11 @@ const BranchRender = {
|
|
|
6152
6223
|
if (this.__hasMask) {
|
|
6153
6224
|
this.__renderMask(canvas, options);
|
|
6154
6225
|
} else {
|
|
6226
|
+
let child;
|
|
6155
6227
|
const {children: children} = this;
|
|
6156
6228
|
for (let i = 0, len = children.length; i < len; i++) {
|
|
6157
|
-
|
|
6229
|
+
child = children[i];
|
|
6230
|
+
excludeRenderBounds$1(child, options) || (child.__hasComplex ? LeafHelper.renderComplex(child, canvas, options) : child.__render(canvas, options));
|
|
6158
6231
|
}
|
|
6159
6232
|
}
|
|
6160
6233
|
},
|
|
@@ -6168,8 +6241,6 @@ const BranchRender = {
|
|
|
6168
6241
|
}
|
|
6169
6242
|
};
|
|
6170
6243
|
|
|
6171
|
-
const tempScaleData$1 = {};
|
|
6172
|
-
|
|
6173
6244
|
const {LEAF: LEAF, create: create} = IncrementId;
|
|
6174
6245
|
|
|
6175
6246
|
const {stintSet: stintSet$4} = DataHelper;
|
|
@@ -6180,6 +6251,8 @@ const {toOuterOf: toOuterOf$1} = BoundsHelper;
|
|
|
6180
6251
|
|
|
6181
6252
|
const {copy: copy$2, move: move$2} = PointHelper;
|
|
6182
6253
|
|
|
6254
|
+
const {getScaleFixedData: getScaleFixedData} = MathHelper;
|
|
6255
|
+
|
|
6183
6256
|
const {moveLocal: moveLocal, zoomOfLocal: zoomOfLocal, rotateOfLocal: rotateOfLocal, skewOfLocal: skewOfLocal, moveWorld: moveWorld, zoomOfWorld: zoomOfWorld, rotateOfWorld: rotateOfWorld, skewOfWorld: skewOfWorld, transform: transform, transformWorld: transformWorld, setTransform: setTransform, getFlipTransform: getFlipTransform, getLocalOrigin: getLocalOrigin, getRelativeWorld: getRelativeWorld, drop: drop} = LeafHelper;
|
|
6184
6257
|
|
|
6185
6258
|
let Leaf = class Leaf {
|
|
@@ -6338,6 +6411,7 @@ let Leaf = class Leaf {
|
|
|
6338
6411
|
this.__level = this.parent ? this.parent.__level + 1 : 1;
|
|
6339
6412
|
if (this.animation) this.__runAnimation("in");
|
|
6340
6413
|
if (this.__bubbleMap) this.__emitLifeEvent(ChildEvent.MOUNTED);
|
|
6414
|
+
if (leafer.cacheId) LeafHelper.cacheId(this);
|
|
6341
6415
|
} else {
|
|
6342
6416
|
this.__emitLifeEvent(ChildEvent.UNMOUNTED);
|
|
6343
6417
|
}
|
|
@@ -6467,13 +6541,8 @@ let Leaf = class Leaf {
|
|
|
6467
6541
|
if (scaleX < 0) scaleX = -scaleX;
|
|
6468
6542
|
return scaleX > 1 ? scaleX : 1;
|
|
6469
6543
|
}
|
|
6470
|
-
getRenderScaleData(abs, scaleFixed) {
|
|
6471
|
-
|
|
6472
|
-
if (abs) scaleX < 0 && (scaleX = -scaleX), scaleY < 0 && (scaleY = -scaleY);
|
|
6473
|
-
if (scaleFixed === true || scaleFixed === "zoom-in" && scaleX > 1 && scaleY > 1) scaleX = scaleY = 1;
|
|
6474
|
-
tempScaleData$1.scaleX = scaleX;
|
|
6475
|
-
tempScaleData$1.scaleY = scaleY;
|
|
6476
|
-
return tempScaleData$1;
|
|
6544
|
+
getRenderScaleData(abs, scaleFixed, unscale = true) {
|
|
6545
|
+
return getScaleFixedData(ImageManager.patternLocked ? this.__world : this.__nowWorld || this.__world, scaleFixed, unscale, abs);
|
|
6477
6546
|
}
|
|
6478
6547
|
getTransform(relative) {
|
|
6479
6548
|
return this.__layout.getTransform(relative || "local");
|
|
@@ -6645,7 +6714,7 @@ let Leaf = class Leaf {
|
|
|
6645
6714
|
__drawPath(_canvas) {}
|
|
6646
6715
|
__drawRenderPath(_canvas) {}
|
|
6647
6716
|
__updatePath() {}
|
|
6648
|
-
__updateRenderPath() {}
|
|
6717
|
+
__updateRenderPath(_updateCache) {}
|
|
6649
6718
|
getMotionPathData() {
|
|
6650
6719
|
return Plugin.need("path");
|
|
6651
6720
|
}
|
|
@@ -6719,9 +6788,11 @@ let Branch = class Branch extends Leaf {
|
|
|
6719
6788
|
return 0;
|
|
6720
6789
|
}
|
|
6721
6790
|
__updateRenderSpread() {
|
|
6791
|
+
let layout;
|
|
6722
6792
|
const {children: children} = this;
|
|
6723
6793
|
for (let i = 0, len = children.length; i < len; i++) {
|
|
6724
|
-
|
|
6794
|
+
layout = children[i].__layout;
|
|
6795
|
+
if (layout.renderSpread || layout.localOuterBounds) return 1;
|
|
6725
6796
|
}
|
|
6726
6797
|
return 0;
|
|
6727
6798
|
}
|
|
@@ -6754,6 +6825,7 @@ let Branch = class Branch extends Leaf {
|
|
|
6754
6825
|
this.add(item, index);
|
|
6755
6826
|
noIndex || index++;
|
|
6756
6827
|
}); else child = UICreator.get(child.tag, child);
|
|
6828
|
+
if (!child) return;
|
|
6757
6829
|
}
|
|
6758
6830
|
if (child.parent) child.parent.remove(child);
|
|
6759
6831
|
child.parent = this;
|
|
@@ -6979,7 +7051,7 @@ class LeafLevelList {
|
|
|
6979
7051
|
}
|
|
6980
7052
|
}
|
|
6981
7053
|
|
|
6982
|
-
const version = "2.0.
|
|
7054
|
+
const version = "2.0.3";
|
|
6983
7055
|
|
|
6984
7056
|
const debug$5 = Debug.get("LeaferCanvas");
|
|
6985
7057
|
|
|
@@ -7184,8 +7256,6 @@ canvasPatch(CanvasRenderingContext2D.prototype);
|
|
|
7184
7256
|
|
|
7185
7257
|
canvasPatch(Path2D.prototype);
|
|
7186
7258
|
|
|
7187
|
-
const {mineType: mineType, fileType: fileType} = FileHelper;
|
|
7188
|
-
|
|
7189
7259
|
Object.assign(Creator, {
|
|
7190
7260
|
canvas: (options, manager) => new LeaferCanvas(options, manager),
|
|
7191
7261
|
image: options => new LeaferImage(options)
|
|
@@ -7200,29 +7270,27 @@ function useCanvas(_canvasType, _power) {
|
|
|
7200
7270
|
return canvas;
|
|
7201
7271
|
},
|
|
7202
7272
|
canvasToDataURL: (canvas, type, quality) => {
|
|
7203
|
-
const imageType =
|
|
7273
|
+
const imageType = FileHelper.mimeType(type), url = canvas.toDataURL(imageType, quality);
|
|
7204
7274
|
return imageType === "image/bmp" ? url.replace("image/png;", "image/bmp;") : url;
|
|
7205
7275
|
},
|
|
7206
|
-
canvasToBolb: (canvas, type, quality) => new Promise(resolve => canvas.toBlob(resolve,
|
|
7276
|
+
canvasToBolb: (canvas, type, quality) => new Promise(resolve => canvas.toBlob(resolve, FileHelper.mimeType(type), quality)),
|
|
7207
7277
|
canvasSaveAs: (canvas, filename, quality) => {
|
|
7208
|
-
const url = canvas.toDataURL(
|
|
7278
|
+
const url = canvas.toDataURL(FileHelper.mimeType(FileHelper.fileType(filename)), quality);
|
|
7209
7279
|
return Platform.origin.download(url, filename);
|
|
7210
7280
|
},
|
|
7211
7281
|
download(url, filename) {
|
|
7212
|
-
return
|
|
7282
|
+
return __awaiter(this, void 0, void 0, function*() {
|
|
7213
7283
|
let el = document.createElement("a");
|
|
7214
7284
|
el.href = url;
|
|
7215
7285
|
el.download = filename;
|
|
7216
7286
|
document.body.appendChild(el);
|
|
7217
7287
|
el.click();
|
|
7218
7288
|
document.body.removeChild(el);
|
|
7219
|
-
resolve();
|
|
7220
7289
|
});
|
|
7221
7290
|
},
|
|
7222
|
-
loadImage(src) {
|
|
7291
|
+
loadImage(src, crossOrigin, _leaferImage) {
|
|
7223
7292
|
return new Promise((resolve, reject) => {
|
|
7224
7293
|
const img = new Platform.origin.Image;
|
|
7225
|
-
const {crossOrigin: crossOrigin} = Platform.image;
|
|
7226
7294
|
if (crossOrigin) {
|
|
7227
7295
|
img.setAttribute("crossOrigin", crossOrigin);
|
|
7228
7296
|
img.crossOrigin = crossOrigin;
|
|
@@ -7236,6 +7304,13 @@ function useCanvas(_canvasType, _power) {
|
|
|
7236
7304
|
img.src = Platform.image.getRealURL(src);
|
|
7237
7305
|
});
|
|
7238
7306
|
},
|
|
7307
|
+
loadContent(url_1) {
|
|
7308
|
+
return __awaiter(this, arguments, void 0, function*(url, responseType = "text") {
|
|
7309
|
+
const response = yield fetch(url);
|
|
7310
|
+
if (!response.ok) throw new Error(`${response.status}`);
|
|
7311
|
+
return yield response[responseType]();
|
|
7312
|
+
});
|
|
7313
|
+
},
|
|
7239
7314
|
Image: Image,
|
|
7240
7315
|
PointerEvent: PointerEvent,
|
|
7241
7316
|
DragEvent: DragEvent
|
|
@@ -7747,7 +7822,7 @@ class Renderer {
|
|
|
7747
7822
|
getCellList() {
|
|
7748
7823
|
return undefined;
|
|
7749
7824
|
}
|
|
7750
|
-
addBlock(block) {
|
|
7825
|
+
addBlock(block, _leafList) {
|
|
7751
7826
|
if (!this.updateBlocks) this.updateBlocks = [];
|
|
7752
7827
|
this.updateBlocks.push(block);
|
|
7753
7828
|
}
|
|
@@ -7795,7 +7870,8 @@ class Renderer {
|
|
|
7795
7870
|
__onLayoutEnd(event) {
|
|
7796
7871
|
if (event.data) event.data.map(item => {
|
|
7797
7872
|
let empty;
|
|
7798
|
-
|
|
7873
|
+
const {updatedList: updatedList} = item;
|
|
7874
|
+
if (updatedList) updatedList.list.some(leaf => {
|
|
7799
7875
|
empty = !leaf.__world.width || !leaf.__world.height;
|
|
7800
7876
|
if (empty) {
|
|
7801
7877
|
if (!leaf.isLeafer) debug$3.tip(leaf.innerName, ": empty");
|
|
@@ -7803,7 +7879,7 @@ class Renderer {
|
|
|
7803
7879
|
}
|
|
7804
7880
|
return empty;
|
|
7805
7881
|
});
|
|
7806
|
-
this.addBlock(empty ? this.canvas.bounds : item.updatedBounds);
|
|
7882
|
+
this.addBlock(empty ? this.canvas.bounds : item.updatedBounds, updatedList);
|
|
7807
7883
|
});
|
|
7808
7884
|
}
|
|
7809
7885
|
emitRender(type, bounds, options) {
|
|
@@ -8009,7 +8085,7 @@ class Selector {
|
|
|
8009
8085
|
this.config = {};
|
|
8010
8086
|
if (userConfig) this.config = DataHelper.default(userConfig, this.config);
|
|
8011
8087
|
this.picker = new Picker(this.target = target, this);
|
|
8012
|
-
this.finder = Creator.finder && Creator.finder();
|
|
8088
|
+
this.finder = Creator.finder && Creator.finder(target, this.config);
|
|
8013
8089
|
}
|
|
8014
8090
|
getByPoint(hitPoint, hitRadius, options) {
|
|
8015
8091
|
const {target: target, picker: picker} = this;
|
|
@@ -8051,7 +8127,9 @@ function effectType(defaultValue) {
|
|
|
8051
8127
|
set(value) {
|
|
8052
8128
|
this.__setAttr(key, value);
|
|
8053
8129
|
if (value) this.__.__useEffect = true;
|
|
8054
|
-
|
|
8130
|
+
const layout = this.__layout;
|
|
8131
|
+
layout.renderChanged || layout.renderChange();
|
|
8132
|
+
layout.surfaceChange();
|
|
8055
8133
|
}
|
|
8056
8134
|
}));
|
|
8057
8135
|
}
|
|
@@ -8265,15 +8343,16 @@ class UIData extends LeafData {
|
|
|
8265
8343
|
this.__needComputePaint = undefined;
|
|
8266
8344
|
}
|
|
8267
8345
|
__getRealStrokeWidth(childStyle) {
|
|
8268
|
-
let {strokeWidth: strokeWidth,
|
|
8346
|
+
let {strokeWidth: strokeWidth, strokeScaleFixed: strokeScaleFixed} = this;
|
|
8269
8347
|
if (childStyle) {
|
|
8270
8348
|
if (childStyle.strokeWidth) strokeWidth = childStyle.strokeWidth;
|
|
8271
|
-
if (!isUndefined(childStyle.
|
|
8349
|
+
if (!isUndefined(childStyle.strokeScaleFixed)) strokeScaleFixed = childStyle.strokeScaleFixed;
|
|
8350
|
+
}
|
|
8351
|
+
if (strokeScaleFixed) {
|
|
8352
|
+
const {scaleX: scaleX} = this.__leaf.getRenderScaleData(true, strokeScaleFixed, false);
|
|
8353
|
+
if (scaleX !== 1) return strokeWidth * scaleX;
|
|
8272
8354
|
}
|
|
8273
|
-
|
|
8274
|
-
const scale = this.__leaf.getClampRenderScale();
|
|
8275
|
-
return scale > 1 ? strokeWidth / scale : strokeWidth;
|
|
8276
|
-
} else return strokeWidth;
|
|
8355
|
+
return strokeWidth;
|
|
8277
8356
|
}
|
|
8278
8357
|
__setPaint(attrName, value) {
|
|
8279
8358
|
this.__setInput(attrName, value);
|
|
@@ -8411,13 +8490,16 @@ class TextData extends UIData {
|
|
|
8411
8490
|
}
|
|
8412
8491
|
|
|
8413
8492
|
class ImageData extends RectData {
|
|
8493
|
+
get __urlType() {
|
|
8494
|
+
return "image";
|
|
8495
|
+
}
|
|
8414
8496
|
setUrl(value) {
|
|
8415
8497
|
this.__setImageFill(value);
|
|
8416
8498
|
this._url = value;
|
|
8417
8499
|
}
|
|
8418
8500
|
__setImageFill(value) {
|
|
8419
8501
|
this.fill = value ? {
|
|
8420
|
-
type:
|
|
8502
|
+
type: this.__urlType,
|
|
8421
8503
|
mode: "stretch",
|
|
8422
8504
|
url: value
|
|
8423
8505
|
} : undefined;
|
|
@@ -8456,7 +8538,7 @@ const UIBounds = {
|
|
|
8456
8538
|
const data = this.__, {strokeAlign: strokeAlign, __maxStrokeWidth: strokeWidth} = data, box = this.__box;
|
|
8457
8539
|
if ((data.stroke || data.hitStroke === "all") && strokeWidth && strokeAlign !== "inside") {
|
|
8458
8540
|
boxSpread = spread = strokeAlign === "center" ? strokeWidth / 2 : strokeWidth;
|
|
8459
|
-
if (!data.__boxStroke) {
|
|
8541
|
+
if (!data.__boxStroke || data.__useArrow) {
|
|
8460
8542
|
const miterLimitAddWidth = data.__isLinePath ? 0 : 10 * spread;
|
|
8461
8543
|
const storkeCapAddWidth = data.strokeCap === "none" ? 0 : strokeWidth;
|
|
8462
8544
|
spread += Math.max(miterLimitAddWidth, storkeCapAddWidth);
|
|
@@ -8613,6 +8695,12 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
8613
8695
|
get isFrame() {
|
|
8614
8696
|
return false;
|
|
8615
8697
|
}
|
|
8698
|
+
set strokeWidthFixed(value) {
|
|
8699
|
+
this.strokeScaleFixed = value;
|
|
8700
|
+
}
|
|
8701
|
+
get strokeWidthFixed() {
|
|
8702
|
+
return this.strokeScaleFixed;
|
|
8703
|
+
}
|
|
8616
8704
|
set scale(value) {
|
|
8617
8705
|
MathHelper.assignScale(this, value);
|
|
8618
8706
|
}
|
|
@@ -8668,6 +8756,9 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
8668
8756
|
getPathString(curve, pathForRender, floatLength) {
|
|
8669
8757
|
return PathConvert.stringify(this.getPath(curve, pathForRender), floatLength);
|
|
8670
8758
|
}
|
|
8759
|
+
asPath(curve, pathForRender) {
|
|
8760
|
+
this.path = this.getPath(curve, pathForRender);
|
|
8761
|
+
}
|
|
8671
8762
|
load() {
|
|
8672
8763
|
this.__.__computePaint();
|
|
8673
8764
|
}
|
|
@@ -8677,16 +8768,18 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
8677
8768
|
data.lazy && !this.__inLazyBounds && !Export.running ? data.__needComputePaint = true : data.__computePaint();
|
|
8678
8769
|
}
|
|
8679
8770
|
}
|
|
8680
|
-
__updateRenderPath() {
|
|
8771
|
+
__updateRenderPath(updateCache) {
|
|
8681
8772
|
const data = this.__;
|
|
8682
8773
|
if (data.path) {
|
|
8683
8774
|
data.__pathForRender = data.cornerRadius ? PathCorner.smooth(data.path, data.cornerRadius, data.cornerSmoothing) : data.path;
|
|
8684
|
-
if (data.__useArrow) PathArrow.addArrows(this);
|
|
8775
|
+
if (data.__useArrow) PathArrow.addArrows(this, updateCache);
|
|
8685
8776
|
} else data.__pathForRender && (data.__pathForRender = undefined);
|
|
8686
8777
|
}
|
|
8687
8778
|
__drawRenderPath(canvas) {
|
|
8779
|
+
const data = this.__;
|
|
8688
8780
|
canvas.beginPath();
|
|
8689
|
-
|
|
8781
|
+
if (data.__useArrow) PathArrow.updateArrow(this);
|
|
8782
|
+
this.__drawPathByData(canvas, data.__pathForRender);
|
|
8690
8783
|
}
|
|
8691
8784
|
__drawPath(canvas) {
|
|
8692
8785
|
canvas.beginPath();
|
|
@@ -8735,6 +8828,7 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
8735
8828
|
static setEditOuter(_toolName) {}
|
|
8736
8829
|
static setEditInner(_editorName) {}
|
|
8737
8830
|
destroy() {
|
|
8831
|
+
this.__.__willDestroy = true;
|
|
8738
8832
|
this.fill = this.stroke = null;
|
|
8739
8833
|
if (this.__animate) this.killAnimate();
|
|
8740
8834
|
super.destroy();
|
|
@@ -8851,7 +8945,7 @@ __decorate([ strokeType("inside") ], UI.prototype, "strokeAlign", void 0);
|
|
|
8851
8945
|
|
|
8852
8946
|
__decorate([ strokeType(1, true) ], UI.prototype, "strokeWidth", void 0);
|
|
8853
8947
|
|
|
8854
|
-
__decorate([ strokeType(false) ], UI.prototype, "
|
|
8948
|
+
__decorate([ strokeType(false) ], UI.prototype, "strokeScaleFixed", void 0);
|
|
8855
8949
|
|
|
8856
8950
|
__decorate([ strokeType("none") ], UI.prototype, "strokeCap", void 0);
|
|
8857
8951
|
|
|
@@ -8917,7 +9011,10 @@ let Group = class Group extends UI {
|
|
|
8917
9011
|
}
|
|
8918
9012
|
toJSON(options) {
|
|
8919
9013
|
const data = super.toJSON(options);
|
|
8920
|
-
if (!this.childlessJSON)
|
|
9014
|
+
if (!this.childlessJSON) {
|
|
9015
|
+
const children = data.children = [];
|
|
9016
|
+
this.children.forEach(child => child.skipJSON || children.push(child.toJSON(options)));
|
|
9017
|
+
}
|
|
8921
9018
|
return data;
|
|
8922
9019
|
}
|
|
8923
9020
|
pick(_hitPoint, _options) {
|
|
@@ -9066,12 +9163,12 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
9066
9163
|
this.emitLeafer(LeaferEvent.STOP);
|
|
9067
9164
|
}
|
|
9068
9165
|
}
|
|
9069
|
-
unlockLayout() {
|
|
9166
|
+
unlockLayout(updateLayout = true) {
|
|
9070
9167
|
this.layouter.start();
|
|
9071
|
-
this.updateLayout();
|
|
9168
|
+
if (updateLayout) this.updateLayout();
|
|
9072
9169
|
}
|
|
9073
|
-
lockLayout() {
|
|
9074
|
-
this.updateLayout();
|
|
9170
|
+
lockLayout(updateLayout = true) {
|
|
9171
|
+
if (updateLayout) this.updateLayout();
|
|
9075
9172
|
this.layouter.stop();
|
|
9076
9173
|
}
|
|
9077
9174
|
resize(size) {
|
|
@@ -9480,9 +9577,9 @@ let Ellipse = class Ellipse extends UI {
|
|
|
9480
9577
|
return "Ellipse";
|
|
9481
9578
|
}
|
|
9482
9579
|
__updatePath() {
|
|
9483
|
-
const {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} =
|
|
9580
|
+
const data = this.__, {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} = data;
|
|
9484
9581
|
const rx = width / 2, ry = height / 2;
|
|
9485
|
-
const path =
|
|
9582
|
+
const path = data.path = [];
|
|
9486
9583
|
let open;
|
|
9487
9584
|
if (innerRadius) {
|
|
9488
9585
|
if (startAngle || endAngle) {
|
|
@@ -9504,7 +9601,7 @@ let Ellipse = class Ellipse extends UI {
|
|
|
9504
9601
|
}
|
|
9505
9602
|
}
|
|
9506
9603
|
if (!open) closePath$2(path);
|
|
9507
|
-
if (Platform.ellipseToCurve)
|
|
9604
|
+
if (Platform.ellipseToCurve || data.__useArrow) data.path = this.getPath(true);
|
|
9508
9605
|
}
|
|
9509
9606
|
};
|
|
9510
9607
|
|
|
@@ -10044,7 +10141,7 @@ let App = class App extends Leafer {
|
|
|
10044
10141
|
if (this.viewReady) this.renderer.update();
|
|
10045
10142
|
}
|
|
10046
10143
|
__render(canvas, options) {
|
|
10047
|
-
if (canvas.context) this.forEach(leafer => options.matrix ? leafer.__render(canvas, options) : canvas.copyWorld(leafer.canvas, options.bounds));
|
|
10144
|
+
if (canvas.context) this.forEach(leafer => options.matrix ? leafer.__render(canvas, options) : canvas.copyWorld(leafer.canvas, options.bounds, undefined, undefined, true));
|
|
10048
10145
|
}
|
|
10049
10146
|
__onResize(event) {
|
|
10050
10147
|
this.forEach(leafer => leafer.resize(event));
|
|
@@ -10864,6 +10961,7 @@ class InteractionBase {
|
|
|
10864
10961
|
this.checkPath(data, useDefaultPath);
|
|
10865
10962
|
this.downTime = Date.now();
|
|
10866
10963
|
this.emit(PointerEvent$1.BEFORE_DOWN, data);
|
|
10964
|
+
if (data.path.needUpdate) this.updateDownData(data);
|
|
10867
10965
|
this.emit(PointerEvent$1.DOWN, data);
|
|
10868
10966
|
if (PointerButton.left(data)) {
|
|
10869
10967
|
this.tapWait();
|
|
@@ -11814,8 +11912,8 @@ function fills(fills, ui, canvas, renderOptions) {
|
|
|
11814
11912
|
canvas.save();
|
|
11815
11913
|
if (item.transform) canvas.transform(item.transform);
|
|
11816
11914
|
if (originPaint.scaleFixed) {
|
|
11817
|
-
const {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true);
|
|
11818
|
-
if (
|
|
11915
|
+
const {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true, originPaint.scaleFixed, false);
|
|
11916
|
+
if (scaleX !== 1) canvas.scale(scaleX, scaleY);
|
|
11819
11917
|
}
|
|
11820
11918
|
if (originPaint.blendMode) canvas.blendMode = originPaint.blendMode;
|
|
11821
11919
|
fillPathOrText(ui, canvas, renderOptions);
|
|
@@ -12089,11 +12187,14 @@ function compute(attrName, ui) {
|
|
|
12089
12187
|
function getLeafPaint(attrName, paint, ui) {
|
|
12090
12188
|
if (!isObject(paint) || paint.visible === false || paint.opacity === 0) return undefined;
|
|
12091
12189
|
let leafPaint;
|
|
12092
|
-
const {boxBounds: boxBounds} = ui.__layout;
|
|
12093
|
-
switch (
|
|
12190
|
+
const {boxBounds: boxBounds} = ui.__layout, {type: type} = paint;
|
|
12191
|
+
switch (type) {
|
|
12094
12192
|
case "image":
|
|
12193
|
+
case "film":
|
|
12194
|
+
case "video":
|
|
12095
12195
|
if (!paint.url) return undefined;
|
|
12096
12196
|
leafPaint = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
|
|
12197
|
+
if (type !== "image") PaintImage[type](leafPaint);
|
|
12097
12198
|
break;
|
|
12098
12199
|
|
|
12099
12200
|
case "linear":
|
|
@@ -12109,7 +12210,7 @@ function getLeafPaint(attrName, paint, ui) {
|
|
|
12109
12210
|
break;
|
|
12110
12211
|
|
|
12111
12212
|
case "solid":
|
|
12112
|
-
const {
|
|
12213
|
+
const {color: color, opacity: opacity} = paint;
|
|
12113
12214
|
leafPaint = {
|
|
12114
12215
|
type: type,
|
|
12115
12216
|
style: ColorConvert.string(color, opacity)
|
|
@@ -12153,7 +12254,7 @@ const {isSame: isSame} = BoundsHelper;
|
|
|
12153
12254
|
|
|
12154
12255
|
function image(ui, attrName, paint, boxBounds, firstUse) {
|
|
12155
12256
|
let leafPaint, event;
|
|
12156
|
-
const image = ImageManager.get(paint);
|
|
12257
|
+
const image = ImageManager.get(paint, paint.type);
|
|
12157
12258
|
if (cache && paint === cache.paint && isSame(boxBounds, cache.boxBounds)) {
|
|
12158
12259
|
leafPaint = cache.leafPaint;
|
|
12159
12260
|
} else {
|
|
@@ -12214,8 +12315,8 @@ function image(ui, attrName, paint, boxBounds, firstUse) {
|
|
|
12214
12315
|
}
|
|
12215
12316
|
|
|
12216
12317
|
function checkSizeAndCreateData(ui, attrName, paint, image, leafPaint, boxBounds) {
|
|
12217
|
-
|
|
12218
|
-
|
|
12318
|
+
const data = ui.__;
|
|
12319
|
+
if (attrName === "fill" && !data.__naturalWidth) {
|
|
12219
12320
|
data.__naturalWidth = image.width / data.pixelRatio;
|
|
12220
12321
|
data.__naturalHeight = image.height / data.pixelRatio;
|
|
12221
12322
|
if (data.__autoSide) {
|
|
@@ -12227,7 +12328,13 @@ function checkSizeAndCreateData(ui, attrName, paint, image, leafPaint, boxBounds
|
|
|
12227
12328
|
return false;
|
|
12228
12329
|
}
|
|
12229
12330
|
}
|
|
12230
|
-
if (!leafPaint.data)
|
|
12331
|
+
if (!leafPaint.data) {
|
|
12332
|
+
PaintImage.createData(leafPaint, image, paint, boxBounds);
|
|
12333
|
+
const {transform: transform} = leafPaint.data, {opacity: opacity, blendMode: blendMode} = paint;
|
|
12334
|
+
const clip = transform && !transform.onlyScale || data.path || data.cornerRadius;
|
|
12335
|
+
if (clip || opacity && opacity < 1 || blendMode) leafPaint.complex = clip ? 2 : true;
|
|
12336
|
+
}
|
|
12337
|
+
if (paint.filter) PaintImage.applyFilter(leafPaint, image, paint.filter, ui);
|
|
12231
12338
|
return true;
|
|
12232
12339
|
}
|
|
12233
12340
|
|
|
@@ -12270,7 +12377,7 @@ function getPatternData(paint, box, image) {
|
|
|
12270
12377
|
if (paint.padding) box = tempBox.set(box).shrink(paint.padding);
|
|
12271
12378
|
if (paint.mode === "strench") paint.mode = "stretch";
|
|
12272
12379
|
const {width: width, height: height} = image;
|
|
12273
|
-
const {
|
|
12380
|
+
const {mode: mode, align: align, offset: offset, scale: scale, size: size, rotation: rotation, skew: skew, clipSize: clipSize, repeat: repeat, gap: gap, interlace: interlace} = paint;
|
|
12274
12381
|
const sameBox = box.width === width && box.height === height;
|
|
12275
12382
|
const data = {
|
|
12276
12383
|
mode: mode
|
|
@@ -12333,8 +12440,6 @@ function getPatternData(paint, box, image) {
|
|
|
12333
12440
|
data.scaleX = scaleX;
|
|
12334
12441
|
data.scaleY = scaleY;
|
|
12335
12442
|
}
|
|
12336
|
-
if (opacity && opacity < 1) data.opacity = opacity;
|
|
12337
|
-
if (filters) data.filters = filters;
|
|
12338
12443
|
if (repeat) data.repeat = isString(repeat) ? repeat === "x" ? "repeat-x" : "repeat-y" : "repeat";
|
|
12339
12444
|
if (interlace) data.interlace = isNumber(interlace) || interlace.type === "percent" ? {
|
|
12340
12445
|
type: "x",
|
|
@@ -12365,7 +12470,7 @@ const {get: get$2, set: set, rotateOfOuter: rotateOfOuter$1, translate: translat
|
|
|
12365
12470
|
|
|
12366
12471
|
function stretchMode(data, box, scaleX, scaleY) {
|
|
12367
12472
|
const transform = get$2(), {x: x, y: y} = box;
|
|
12368
|
-
if (x || y) translate(transform, x, y); else transform.onlyScale = true;
|
|
12473
|
+
if (x || y) translate(transform, x, y); else if (scaleX > 0 && scaleY > 0) transform.onlyScale = true;
|
|
12369
12474
|
scaleHelper(transform, scaleX, scaleY);
|
|
12370
12475
|
data.transform = transform;
|
|
12371
12476
|
}
|
|
@@ -12454,10 +12559,10 @@ function createPatternTask(paint, ui, canvas, renderOptions) {
|
|
|
12454
12559
|
}
|
|
12455
12560
|
|
|
12456
12561
|
function createPattern(paint, ui, canvas, renderOptions) {
|
|
12457
|
-
let {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions), id = scaleX + "-" + scaleY;
|
|
12562
|
+
let {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions), id = paint.film ? paint.nowIndex : scaleX + "-" + scaleY;
|
|
12458
12563
|
if (paint.patternId !== id && !ui.destroyed) {
|
|
12459
12564
|
if (!(Platform.image.isLarge(paint.image, scaleX, scaleY) && !paint.data.repeat)) {
|
|
12460
|
-
const {image: image, data: data} = paint, {transform: transform, gap: gap} = data, fixScale = PaintImage.getPatternFixScale(paint, scaleX, scaleY);
|
|
12565
|
+
const {image: image, data: data} = paint, {opacity: opacity} = paint.originPaint, {transform: transform, gap: gap} = data, fixScale = PaintImage.getPatternFixScale(paint, scaleX, scaleY);
|
|
12461
12566
|
let imageMatrix, xGap, yGap, {width: width, height: height} = image;
|
|
12462
12567
|
if (fixScale) scaleX *= fixScale, scaleY *= fixScale;
|
|
12463
12568
|
width *= scaleX;
|
|
@@ -12473,7 +12578,7 @@ function createPattern(paint, ui, canvas, renderOptions) {
|
|
|
12473
12578
|
if (transform) copy$1(imageMatrix, transform);
|
|
12474
12579
|
scale(imageMatrix, 1 / scaleX, 1 / scaleY);
|
|
12475
12580
|
}
|
|
12476
|
-
const imageCanvas = image.getCanvas(width, height,
|
|
12581
|
+
const imageCanvas = image.getCanvas(width, height, opacity, undefined, xGap, yGap, ui.leafer && ui.leafer.config.smooth, data.interlace);
|
|
12477
12582
|
const pattern = image.getPattern(imageCanvas, data.repeat || (Platform.origin.noRepeat || "no-repeat"), imageMatrix, paint);
|
|
12478
12583
|
paint.style = pattern;
|
|
12479
12584
|
paint.patternId = id;
|
|
@@ -12494,15 +12599,15 @@ function getPatternFixScale(paint, imageScaleX, imageScaleY) {
|
|
|
12494
12599
|
}
|
|
12495
12600
|
|
|
12496
12601
|
function checkImage(paint, drawImage, ui, canvas, renderOptions) {
|
|
12497
|
-
const {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions);
|
|
12602
|
+
const {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions), id = paint.film ? paint.nowIndex : scaleX + "-" + scaleY;
|
|
12498
12603
|
const {image: image, data: data, originPaint: originPaint} = paint, {exporting: exporting, snapshot: snapshot} = renderOptions;
|
|
12499
|
-
if (!data || paint.patternId ===
|
|
12604
|
+
if (!data || paint.patternId === id && !exporting || snapshot) {
|
|
12500
12605
|
return false;
|
|
12501
12606
|
} else {
|
|
12502
12607
|
if (drawImage) {
|
|
12503
12608
|
if (data.repeat) {
|
|
12504
12609
|
drawImage = false;
|
|
12505
|
-
} else if (!(originPaint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
|
|
12610
|
+
} else if (!(originPaint.changeful || paint.film || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
|
|
12506
12611
|
drawImage = Platform.image.isLarge(image, scaleX, scaleY) || image.width * scaleX > 8096 || image.height * scaleY > 8096;
|
|
12507
12612
|
}
|
|
12508
12613
|
}
|
|
@@ -12520,20 +12625,21 @@ function checkImage(paint, drawImage, ui, canvas, renderOptions) {
|
|
|
12520
12625
|
}
|
|
12521
12626
|
}
|
|
12522
12627
|
|
|
12523
|
-
function drawImage(paint,
|
|
12524
|
-
const {data: data, image: image
|
|
12525
|
-
let {width: width, height: height} = image
|
|
12526
|
-
if (
|
|
12628
|
+
function drawImage(paint, imageScaleX, imageScaleY, ui, canvas, _renderOptions) {
|
|
12629
|
+
const {data: data, image: image, complex: complex} = paint;
|
|
12630
|
+
let {width: width, height: height} = image;
|
|
12631
|
+
if (complex) {
|
|
12632
|
+
const {blendMode: blendMode, opacity: opacity} = paint.originPaint, {transform: transform} = data;
|
|
12527
12633
|
canvas.save();
|
|
12528
|
-
|
|
12634
|
+
complex === 2 && canvas.clipUI(ui);
|
|
12529
12635
|
blendMode && (canvas.blendMode = blendMode);
|
|
12530
12636
|
opacity && (canvas.opacity *= opacity);
|
|
12531
12637
|
transform && canvas.transform(transform);
|
|
12532
|
-
|
|
12638
|
+
image.render(canvas, 0, 0, width, height, ui, paint, imageScaleX, imageScaleY);
|
|
12533
12639
|
canvas.restore();
|
|
12534
12640
|
} else {
|
|
12535
12641
|
if (data.scaleX) width *= data.scaleX, height *= data.scaleY;
|
|
12536
|
-
|
|
12642
|
+
image.render(canvas, 0, 0, width, height, ui, paint, imageScaleX, imageScaleY);
|
|
12537
12643
|
}
|
|
12538
12644
|
}
|
|
12539
12645
|
|
|
@@ -12563,6 +12669,7 @@ function recycleImage(attrName, data) {
|
|
|
12563
12669
|
if (!recycleMap) recycleMap = {};
|
|
12564
12670
|
recycleMap[url] = true;
|
|
12565
12671
|
ImageManager.recyclePaint(paint);
|
|
12672
|
+
if (data.__willDestroy && image.parent) PaintImage.recycleFilter(image, data.__leaf);
|
|
12566
12673
|
if (image.loading) {
|
|
12567
12674
|
if (!input) {
|
|
12568
12675
|
input = data.__input && data.__input[attrName] || [];
|
|
@@ -13478,4 +13585,4 @@ Object.assign(Creator, {
|
|
|
13478
13585
|
|
|
13479
13586
|
useCanvas();
|
|
13480
13587
|
|
|
13481
|
-
export { AlignHelper, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragBoundsHelper, DragEvent$1 as DragEvent, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, FourNumberHelper, 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, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MyDragEvent, MyImage, MyPointerEvent, MyTouchEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathCommandNodeHelper, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNodeHandleType, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent$1 as PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, TouchEvent, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, UnitConvertHelper, WaitHelper, WatchEvent, Watcher, ZoomEvent, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, createAttr, createDescriptor, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, dimType, doBoundsType, doStrokeType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$3 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
|
|
13588
|
+
export { AlignHelper, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragBoundsHelper, DragEvent$1 as DragEvent, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, FourNumberHelper, 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, LeaferFilm, LeaferImage, LeaferVideo, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MyDragEvent, MyImage, MyPointerEvent, MyTouchEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathCommandNodeHelper, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNodeHandleType, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent$1 as PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, TouchEvent, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, UnitConvertHelper, WaitHelper, WatchEvent, Watcher, ZoomEvent, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, createAttr, createDescriptor, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, dimType, doBoundsType, doStrokeType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$3 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
|