@leafer-draw/worker 1.12.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -216,59 +216,6 @@ class LeafData {
216
216
  }
217
217
  }
218
218
 
219
- const {floor: floor$2, max: max$4} = Math;
220
-
221
- const Platform = {
222
- toURL(text, fileType) {
223
- let url = encodeURIComponent(text);
224
- if (fileType === "text") url = "data:text/plain;charset=utf-8," + url; else if (fileType === "svg") url = "data:image/svg+xml," + url;
225
- return url;
226
- },
227
- image: {
228
- hitCanvasSize: 100,
229
- maxCacheSize: 2560 * 1600,
230
- maxPatternSize: 4096 * 2160,
231
- crossOrigin: "anonymous",
232
- isLarge(size, scaleX, scaleY, largeSize) {
233
- return size.width * size.height * (scaleX ? scaleX * scaleY : 1) > (largeSize || image$1.maxCacheSize);
234
- },
235
- isSuperLarge(size, scaleX, scaleY) {
236
- return image$1.isLarge(size, scaleX, scaleY, image$1.maxPatternSize);
237
- },
238
- getRealURL(url) {
239
- const {prefix: prefix, suffix: suffix} = Platform.image;
240
- if (suffix && !url.startsWith("data:") && !url.startsWith("blob:")) url += (url.includes("?") ? "&" : "?") + suffix;
241
- if (prefix && url[0] === "/") url = prefix + url;
242
- return url;
243
- },
244
- resize(image, width, height, xGap, yGap, clip, smooth, opacity, _filters) {
245
- const canvas = Platform.origin.createCanvas(max$4(floor$2(width + (xGap || 0)), 1), max$4(floor$2(height + (yGap || 0)), 1));
246
- const ctx = canvas.getContext("2d");
247
- if (opacity) ctx.globalAlpha = opacity;
248
- ctx.imageSmoothingEnabled = smooth === false ? false : true;
249
- if (image) {
250
- if (clip) {
251
- const scaleX = width / clip.width, scaleY = height / clip.height;
252
- ctx.setTransform(scaleX, 0, 0, scaleY, -clip.x * scaleX, -clip.y * scaleY);
253
- ctx.drawImage(image, 0, 0, image.width, image.height);
254
- } else ctx.drawImage(image, 0, 0, width, height);
255
- }
256
- return canvas;
257
- },
258
- setPatternTransform(pattern, transform, paint) {
259
- try {
260
- if (transform && pattern.setTransform) {
261
- pattern.setTransform(transform);
262
- transform = undefined;
263
- }
264
- } catch (_a) {}
265
- if (paint) DataHelper.stintSet(paint, "transform", transform);
266
- }
267
- }
268
- };
269
-
270
- const {image: image$1} = Platform;
271
-
272
219
  const IncrementId = {
273
220
  RUNTIME: "runtime",
274
221
  LEAF: "leaf",
@@ -291,7 +238,7 @@ const I$1 = IncrementId;
291
238
 
292
239
  let tempA, tempB, tempTo;
293
240
 
294
- const {max: max$3} = Math, tempFour = [ 0, 0, 0, 0 ];
241
+ const {max: max$4} = Math, tempFour = [ 0, 0, 0, 0 ];
295
242
 
296
243
  const FourNumberHelper = {
297
244
  zero: [ ...tempFour ],
@@ -343,9 +290,9 @@ const FourNumberHelper = {
343
290
  return data;
344
291
  },
345
292
  max(t, other, change) {
346
- if (isNumber(t) && isNumber(other)) return max$3(t, other);
293
+ if (isNumber(t) && isNumber(other)) return max$4(t, other);
347
294
  toTempAB(t, other, change);
348
- return set$2(tempTo, max$3(tempA[0], tempB[0]), max$3(tempA[1], tempB[1]), max$3(tempA[2], tempB[2]), max$3(tempA[3], tempB[3]));
295
+ return set$2(tempTo, max$4(tempA[0], tempB[0]), max$4(tempA[1], tempB[1]), max$4(tempA[2], tempB[2]), max$4(tempA[3], tempB[3]));
349
296
  },
350
297
  add(t, other, change) {
351
298
  if (isNumber(t) && isNumber(other)) return t + other;
@@ -362,7 +309,7 @@ const FourNumberHelper = {
362
309
 
363
310
  const {set: set$2, get: get$5, setTemp: setTemp, toTempAB: toTempAB} = FourNumberHelper;
364
311
 
365
- const {round: round$3, pow: pow$1, max: max$2, floor: floor$1, PI: PI$3} = Math;
312
+ const {round: round$3, pow: pow$1, max: max$3, floor: floor$2, PI: PI$3} = Math;
366
313
 
367
314
  const MathHelper = {
368
315
  within(value, min, max) {
@@ -416,7 +363,7 @@ const MathHelper = {
416
363
  }
417
364
  },
418
365
  getFloorScale(num, min = 1) {
419
- return max$2(floor$1(num), min) / num;
366
+ return max$3(floor$2(num), min) / num;
420
367
  },
421
368
  randInt: randInt,
422
369
  randColor(opacity) {
@@ -1261,7 +1208,7 @@ const {toOuterPoint: toOuterPoint$2} = MatrixHelper;
1261
1208
 
1262
1209
  const {float: float, fourNumber: fourNumber} = MathHelper;
1263
1210
 
1264
- const {floor: floor, ceil: ceil$1} = Math;
1211
+ const {floor: floor$1, ceil: ceil$1} = Math;
1265
1212
 
1266
1213
  let right$1, bottom$1, boundsRight, boundsBottom;
1267
1214
 
@@ -1418,8 +1365,8 @@ const BoundsHelper = {
1418
1365
  },
1419
1366
  ceil(t) {
1420
1367
  const {x: x, y: y} = t;
1421
- t.x = floor(t.x);
1422
- t.y = floor(t.y);
1368
+ t.x = floor$1(t.x);
1369
+ t.y = floor$1(t.y);
1423
1370
  t.width = x > t.x ? ceil$1(t.width + x - t.x) : ceil$1(t.width);
1424
1371
  t.height = y > t.y ? ceil$1(t.height + y - t.y) : ceil$1(t.height);
1425
1372
  },
@@ -1551,6 +1498,9 @@ const BoundsHelper = {
1551
1498
  isEmpty(t) {
1552
1499
  return t.x === 0 && t.y === 0 && t.width === 0 && t.height === 0;
1553
1500
  },
1501
+ hasSize(t) {
1502
+ return t.width && t.height;
1503
+ },
1554
1504
  reset(t) {
1555
1505
  B.set(t);
1556
1506
  }
@@ -1727,6 +1677,12 @@ class AutoBounds {
1727
1677
  }
1728
1678
  }
1729
1679
 
1680
+ const UnitConvertHelper = {
1681
+ number(value, percentRefer) {
1682
+ return isObject(value) ? value.type === "percent" ? value.value * percentRefer : value.value : value;
1683
+ }
1684
+ };
1685
+
1730
1686
  const StringNumberMap = {
1731
1687
  0: 1,
1732
1688
  1: 1,
@@ -1743,6 +1699,69 @@ const StringNumberMap = {
1743
1699
  E: 1
1744
1700
  };
1745
1701
 
1702
+ const {floor: floor, max: max$2} = Math;
1703
+
1704
+ const Platform = {
1705
+ toURL(text, fileType) {
1706
+ let url = encodeURIComponent(text);
1707
+ if (fileType === "text") url = "data:text/plain;charset=utf-8," + url; else if (fileType === "svg") url = "data:image/svg+xml," + url;
1708
+ return url;
1709
+ },
1710
+ image: {
1711
+ hitCanvasSize: 100,
1712
+ maxCacheSize: 2560 * 1600,
1713
+ maxPatternSize: 4096 * 2160,
1714
+ crossOrigin: "anonymous",
1715
+ isLarge(size, scaleX, scaleY, largeSize) {
1716
+ return size.width * size.height * (scaleX ? scaleX * scaleY : 1) > (largeSize || image$1.maxCacheSize);
1717
+ },
1718
+ isSuperLarge(size, scaleX, scaleY) {
1719
+ return image$1.isLarge(size, scaleX, scaleY, image$1.maxPatternSize);
1720
+ },
1721
+ getRealURL(url) {
1722
+ const {prefix: prefix, suffix: suffix} = image$1;
1723
+ if (suffix && !url.startsWith("data:") && !url.startsWith("blob:")) url += (url.includes("?") ? "&" : "?") + suffix;
1724
+ if (prefix && url[0] === "/") url = prefix + url;
1725
+ return url;
1726
+ },
1727
+ resize(view, width, height, xGap, yGap, clip, smooth, opacity, _filters, interlace) {
1728
+ const realWidth = max$2(floor(width + (xGap || 0)), 1), realHeight = max$2(floor(height + (yGap || 0)), 1);
1729
+ let interlaceX, interlaceY, interlaceOffset;
1730
+ if (interlace && (interlaceOffset = UnitConvertHelper.number(interlace.offset, (interlaceX = interlace.type === "x") ? width : height))) interlaceX || (interlaceY = true);
1731
+ const canvas = Platform.origin.createCanvas(interlaceY ? realWidth * 2 : realWidth, interlaceX ? realHeight * 2 : realHeight);
1732
+ const ctx = canvas.getContext("2d");
1733
+ if (opacity) ctx.globalAlpha = opacity;
1734
+ ctx.imageSmoothingEnabled = smooth === false ? false : true;
1735
+ if (image$1.canUse(view)) {
1736
+ if (clip) {
1737
+ const scaleX = width / clip.width, scaleY = height / clip.height;
1738
+ ctx.setTransform(scaleX, 0, 0, scaleY, -clip.x * scaleX, -clip.y * scaleY);
1739
+ ctx.drawImage(view, 0, 0, view.width, view.height);
1740
+ } else ctx.drawImage(view, 0, 0, width, height);
1741
+ if (interlaceOffset) {
1742
+ ctx.drawImage(canvas, 0, 0, realWidth, realHeight, interlaceX ? interlaceOffset - realWidth : realWidth, interlaceX ? realHeight : interlaceOffset - realHeight, realWidth, realHeight);
1743
+ ctx.drawImage(canvas, 0, 0, realWidth, realHeight, interlaceX ? interlaceOffset : realWidth, interlaceX ? realHeight : interlaceOffset, realWidth, realHeight);
1744
+ }
1745
+ }
1746
+ return canvas;
1747
+ },
1748
+ canUse(view) {
1749
+ return view && view.width && !view.__closed;
1750
+ },
1751
+ setPatternTransform(pattern, transform, paint) {
1752
+ try {
1753
+ if (transform && pattern.setTransform) {
1754
+ pattern.setTransform(transform);
1755
+ transform = undefined;
1756
+ }
1757
+ } catch (_a) {}
1758
+ if (paint) DataHelper.stintSet(paint, "transform", transform);
1759
+ }
1760
+ }
1761
+ };
1762
+
1763
+ const {image: image$1} = Platform;
1764
+
1746
1765
  const {randColor: randColor} = MathHelper;
1747
1766
 
1748
1767
  class Debug {
@@ -3785,9 +3804,10 @@ class TaskItem {
3785
3804
  run() {
3786
3805
  return __awaiter(this, void 0, void 0, function*() {
3787
3806
  try {
3788
- if (this.isComplete) return;
3807
+ if (this.isComplete || this.runing) return;
3808
+ this.runing = true;
3789
3809
  if (this.canUse && !this.canUse()) return this.cancel();
3790
- if (this.task && this.parent.running) yield this.task();
3810
+ if (this.task) yield this.task();
3791
3811
  } catch (error) {
3792
3812
  debug$8.error(error);
3793
3813
  }
@@ -3903,7 +3923,7 @@ class TaskProcessor {
3903
3923
  stop() {
3904
3924
  this.isComplete = true;
3905
3925
  this.list.forEach(task => {
3906
- if (!task.isComplete) task.cancel();
3926
+ if (!task.isComplete) task.run();
3907
3927
  });
3908
3928
  this.pause();
3909
3929
  this.empty();
@@ -4193,7 +4213,7 @@ class LeaferImage {
4193
4213
  getFull(_filters) {
4194
4214
  return this.view;
4195
4215
  }
4196
- getCanvas(width, height, opacity, filters, xGap, yGap, smooth) {
4216
+ getCanvas(width, height, opacity, filters, xGap, yGap, smooth, interlace) {
4197
4217
  width || (width = this.width);
4198
4218
  height || (height = this.height);
4199
4219
  if (this.cache) {
@@ -4206,7 +4226,7 @@ class LeaferImage {
4206
4226
  }
4207
4227
  if (data) return data;
4208
4228
  }
4209
- const canvas = Platform.image.resize(this.view, width, height, xGap, yGap, undefined, smooth, opacity, filters);
4229
+ const canvas = Platform.image.resize(this.view, width, height, xGap, yGap, undefined, smooth, opacity, filters, interlace);
4210
4230
  this.cache = this.use > 1 ? {
4211
4231
  data: canvas,
4212
4232
  params: arguments
@@ -6098,7 +6118,7 @@ const LeafRender = {
6098
6118
  }
6099
6119
  };
6100
6120
 
6101
- const {excludeRenderBounds: excludeRenderBounds$1} = LeafBoundsHelper;
6121
+ const {excludeRenderBounds: excludeRenderBounds$1} = LeafBoundsHelper, {hasSize: hasSize} = BoundsHelper;
6102
6122
 
6103
6123
  const BranchRender = {
6104
6124
  __updateChange() {
@@ -6110,8 +6130,8 @@ const BranchRender = {
6110
6130
  this.__.__checkSingle();
6111
6131
  },
6112
6132
  __render(canvas, options) {
6113
- this.__nowWorld = this.__getNowWorld(options);
6114
- if (this.__worldOpacity) {
6133
+ const nowWorld = this.__nowWorld = this.__getNowWorld(options);
6134
+ if (this.__worldOpacity && hasSize(nowWorld)) {
6115
6135
  const data = this.__;
6116
6136
  if (data.__useDim) {
6117
6137
  if (data.dim) options.dimOpacity = data.dim === true ? .2 : data.dim; else if (data.bright && !options.topRendering) return options.topList.add(this); else if (data.dimskip) options.dimOpacity && (options.dimOpacity = 0);
@@ -6120,7 +6140,6 @@ const BranchRender = {
6120
6140
  if (data.eraser === "path") return this.__renderEraser(canvas, options);
6121
6141
  const tempCanvas = canvas.getSameCanvas(false, true);
6122
6142
  this.__renderBranch(tempCanvas, options);
6123
- const nowWorld = this.__nowWorld;
6124
6143
  canvas.opacity = options.dimOpacity ? data.opacity * options.dimOpacity : data.opacity;
6125
6144
  canvas.copyWorldByReset(tempCanvas, nowWorld, nowWorld, data.__blendMode, true);
6126
6145
  tempCanvas.recycle(nowWorld);
@@ -6960,7 +6979,7 @@ class LeafLevelList {
6960
6979
  }
6961
6980
  }
6962
6981
 
6963
- const version = "1.12.4";
6982
+ const version = "2.0.0";
6964
6983
 
6965
6984
  class LeaferCanvas extends LeaferCanvasBase {
6966
6985
  get allowBackgroundColor() {
@@ -7387,6 +7406,7 @@ class Renderer {
7387
7406
  this.times = 0;
7388
7407
  this.config = {
7389
7408
  usePartRender: true,
7409
+ ceilPartPixel: true,
7390
7410
  maxFPS: 120
7391
7411
  };
7392
7412
  this.frames = [];
@@ -7495,8 +7515,9 @@ class Renderer {
7495
7515
  const {canvas: canvas} = this, bounds = block.getIntersect(canvas.bounds), realBounds = new Bounds(bounds);
7496
7516
  canvas.save();
7497
7517
  bounds.spread(Renderer.clipSpread).ceil();
7498
- canvas.clearWorld(bounds);
7499
- canvas.clipWorld(bounds);
7518
+ const {ceilPartPixel: ceilPartPixel} = this.config;
7519
+ canvas.clipWorld(bounds, ceilPartPixel);
7520
+ canvas.clearWorld(bounds, ceilPartPixel);
7500
7521
  this.__render(bounds, realBounds);
7501
7522
  canvas.restore();
7502
7523
  Run.end(t);
@@ -7695,11 +7716,7 @@ const ColorConvert = {
7695
7716
  hasTransparent: hasTransparent$3
7696
7717
  };
7697
7718
 
7698
- const UnitConvert = {
7699
- number(value, percentRefer) {
7700
- return isObject(value) ? value.type === "percent" ? value.value * percentRefer : value.value : value;
7701
- }
7702
- };
7719
+ const UnitConvert = UnitConvertHelper;
7703
7720
 
7704
7721
  const PathArrow = {};
7705
7722
 
@@ -9069,9 +9086,10 @@ let Ellipse = class Ellipse extends UI {
9069
9086
  const {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} = this.__;
9070
9087
  const rx = width / 2, ry = height / 2;
9071
9088
  const path = this.__.path = [];
9089
+ let open;
9072
9090
  if (innerRadius) {
9073
9091
  if (startAngle || endAngle) {
9074
- if (innerRadius < 1) ellipse(path, rx, ry, rx * innerRadius, ry * innerRadius, 0, startAngle, endAngle, false);
9092
+ if (innerRadius < 1) ellipse(path, rx, ry, rx * innerRadius, ry * innerRadius, 0, startAngle, endAngle, false); else open = true;
9075
9093
  ellipse(path, rx, ry, rx, ry, 0, endAngle, startAngle, true);
9076
9094
  } else {
9077
9095
  if (innerRadius < 1) {
@@ -9088,7 +9106,7 @@ let Ellipse = class Ellipse extends UI {
9088
9106
  ellipse(path, rx, ry, rx, ry);
9089
9107
  }
9090
9108
  }
9091
- closePath$2(path);
9109
+ if (!open) closePath$2(path);
9092
9110
  if (Platform.ellipseToCurve) this.__.path = this.getPath(true);
9093
9111
  }
9094
9112
  };
@@ -10020,7 +10038,7 @@ function getPatternData(paint, box, image) {
10020
10038
  if (paint.padding) box = tempBox.set(box).shrink(paint.padding);
10021
10039
  if (paint.mode === "strench") paint.mode = "stretch";
10022
10040
  const {width: width, height: height} = image;
10023
- const {opacity: opacity, mode: mode, align: align, offset: offset, scale: scale, size: size, rotation: rotation, skew: skew, clipSize: clipSize, repeat: repeat, gap: gap, filters: filters} = paint;
10041
+ const {opacity: opacity, mode: mode, align: align, offset: offset, scale: scale, size: size, rotation: rotation, skew: skew, clipSize: clipSize, repeat: repeat, gap: gap, filters: filters, interlace: interlace} = paint;
10024
10042
  const sameBox = box.width === width && box.height === height;
10025
10043
  const data = {
10026
10044
  mode: mode
@@ -10086,6 +10104,10 @@ function getPatternData(paint, box, image) {
10086
10104
  if (opacity && opacity < 1) data.opacity = opacity;
10087
10105
  if (filters) data.filters = filters;
10088
10106
  if (repeat) data.repeat = isString(repeat) ? repeat === "x" ? "repeat-x" : "repeat-y" : "repeat";
10107
+ if (interlace) data.interlace = isNumber(interlace) || interlace.type === "percent" ? {
10108
+ type: "x",
10109
+ offset: interlace
10110
+ } : interlace;
10089
10111
  return data;
10090
10112
  }
10091
10113
 
@@ -10219,7 +10241,7 @@ function createPattern(paint, ui, canvas, renderOptions) {
10219
10241
  if (transform) copy$1(imageMatrix, transform);
10220
10242
  scale(imageMatrix, 1 / scaleX, 1 / scaleY);
10221
10243
  }
10222
- const imageCanvas = image.getCanvas(width, height, data.opacity, data.filters, xGap, yGap, ui.leafer && ui.leafer.config.smooth);
10244
+ const imageCanvas = image.getCanvas(width, height, data.opacity, data.filters, xGap, yGap, ui.leafer && ui.leafer.config.smooth, data.interlace);
10223
10245
  const pattern = image.getPattern(imageCanvas, data.repeat || (Platform.origin.noRepeat || "no-repeat"), imageMatrix, paint);
10224
10246
  paint.style = pattern;
10225
10247
  paint.patternId = id;
@@ -10241,8 +10263,8 @@ function getPatternFixScale(paint, imageScaleX, imageScaleY) {
10241
10263
 
10242
10264
  function checkImage(paint, drawImage, ui, canvas, renderOptions) {
10243
10265
  const {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions);
10244
- const {image: image, data: data, originPaint: originPaint} = paint, {exporting: exporting} = renderOptions;
10245
- if (!data || paint.patternId === scaleX + "-" + scaleY && !exporting) {
10266
+ const {image: image, data: data, originPaint: originPaint} = paint, {exporting: exporting, snapshot: snapshot} = renderOptions;
10267
+ if (!data || paint.patternId === scaleX + "-" + scaleY && !exporting || snapshot) {
10246
10268
  return false;
10247
10269
  } else {
10248
10270
  if (drawImage) {
@@ -10916,7 +10938,7 @@ const TextMode = 2;
10916
10938
 
10917
10939
  function layoutChar(drawData, style, width, _height) {
10918
10940
  const {rows: rows} = drawData;
10919
- const {textAlign: textAlign, paraIndent: paraIndent, letterSpacing: letterSpacing} = style;
10941
+ const {textAlign: textAlign, paraIndent: paraIndent, __letterSpacing: __letterSpacing} = style;
10920
10942
  const justifyLast = width && textAlign.includes("both");
10921
10943
  const justify = justifyLast || width && textAlign.includes("justify");
10922
10944
  const justifyLetter = justify && textAlign.includes("letter");
@@ -10929,8 +10951,8 @@ function layoutChar(drawData, style, width, _height) {
10929
10951
  remainingWidth = width - row.width - indentWidth;
10930
10952
  if (justifyLetter) addLetterWidth = remainingWidth / (row.words.reduce((total, item) => total + item.data.length, 0) - 1); else addWordWidth = wordsLength > 1 ? remainingWidth / (wordsLength - 1) : 0;
10931
10953
  }
10932
- mode = letterSpacing || row.isOverflow || justifyLetter ? CharMode : addWordWidth ? WordMode : TextMode;
10933
- if (row.isOverflow && !letterSpacing) row.textMode = true;
10954
+ mode = __letterSpacing || row.isOverflow || justifyLetter ? CharMode : addWordWidth ? WordMode : TextMode;
10955
+ if (row.isOverflow && !__letterSpacing) row.textMode = true;
10934
10956
  if (mode === TextMode) {
10935
10957
  row.x += indentWidth;
10936
10958
  toTextChar$1(row);
@@ -11218,4 +11240,4 @@ Object.assign(Effect, EffectModule);
11218
11240
 
11219
11241
  useCanvas();
11220
11242
 
11221
- export { AlignHelper, Answer, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, DataHelper, Debug, Direction4, Direction9, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, FourNumberHelper, Frame, FrameData, Group, GroupData, Image, ImageData, ImageEvent, ImageManager, IncrementId, 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, MyImage, 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, Platform, Plugin, Point, PointHelper, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Run, Star, StarData, State, StringNumberMap, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, 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$2 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
11243
+ export { AlignHelper, Answer, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, DataHelper, Debug, Direction4, Direction9, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, FourNumberHelper, Frame, FrameData, Group, GroupData, Image, ImageData, ImageEvent, ImageManager, IncrementId, 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, MyImage, 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, Platform, Plugin, Point, PointHelper, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Run, Star, StarData, State, StringNumberMap, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIRender, UnitConvert, UnitConvertHelper, WaitHelper, WatchEvent, Watcher, 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$2 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };