@leafer-ui/miniapp 1.10.0 → 1.11.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.
@@ -872,9 +872,10 @@ const PointHelper = {
872
872
  getAtan2(t, to) {
873
873
  return atan2$2(to.y - t.y, to.x - t.x);
874
874
  },
875
- getDistancePoint(t, to, distance, changeTo) {
875
+ getDistancePoint(t, to, distance, changeTo, fromTo) {
876
876
  const r = getAtan2(t, to);
877
- to = changeTo ? to : {};
877
+ fromTo && (t = to);
878
+ changeTo || (to = {});
878
879
  to.x = t.x + cos$4(r) * distance;
879
880
  to.y = t.y + sin$4(r) * distance;
880
881
  return to;
@@ -884,6 +885,9 @@ const PointHelper = {
884
885
  if (isObject(originPoints[0])) points = [], originPoints.forEach(p => points.push(p.x, p.y));
885
886
  return points;
886
887
  },
888
+ isSame(t, point) {
889
+ return t.x === point.x && t.y === point.y;
890
+ },
887
891
  reset(t) {
888
892
  P$5.reset(t);
889
893
  }
@@ -948,8 +952,8 @@ class Point {
948
952
  getDistance(to) {
949
953
  return PointHelper.getDistance(this, to);
950
954
  }
951
- getDistancePoint(to, distance, changeTo) {
952
- return new Point(PointHelper.getDistancePoint(this, to, distance, changeTo));
955
+ getDistancePoint(to, distance, changeTo, fromTo) {
956
+ return new Point(PointHelper.getDistancePoint(this, to, distance, changeTo, fromTo));
953
957
  }
954
958
  getAngle(to) {
955
959
  return PointHelper.getAngle(this, to);
@@ -957,6 +961,9 @@ class Point {
957
961
  getAtan2(to) {
958
962
  return PointHelper.getAtan2(this, to);
959
963
  }
964
+ isSame(point) {
965
+ return PointHelper.isSame(this, point);
966
+ }
960
967
  reset() {
961
968
  PointHelper.reset(this);
962
969
  return this;
@@ -2876,6 +2883,15 @@ const EllipseHelper = {
2876
2883
  }
2877
2884
  };
2878
2885
 
2886
+ const PathCommandNodeHelper = {
2887
+ toCommand(_nodes) {
2888
+ return [];
2889
+ },
2890
+ toNode(_data) {
2891
+ return [];
2892
+ }
2893
+ };
2894
+
2879
2895
  const {M: M$4, m: m, L: L$5, l: l, H: H, h: h, V: V, v: v, C: C$3, c: c, S: S, s: s, Q: Q$3, q: q, T: T, t: t, A: A, a: a, Z: Z$4, z: z, N: N$3, D: D$4, X: X$3, G: G$3, F: F$4, O: O$3, P: P$3, U: U$3} = PathCommandMap;
2880
2896
 
2881
2897
  const {rect: rect$3, roundRect: roundRect$2, arcTo: arcTo$3, arc: arc$3, ellipse: ellipse$4, quadraticCurveTo: quadraticCurveTo$1} = BezierHelper;
@@ -3154,30 +3170,34 @@ const PathConvert = {
3154
3170
  return data;
3155
3171
  },
3156
3172
  objectToCanvasData(list) {
3157
- const data = [];
3158
- list.forEach(item => {
3159
- switch (item.name) {
3160
- case "M":
3161
- data.push(M$4, item.x, item.y);
3162
- break;
3173
+ if (list[0].name.length > 1) {
3174
+ return PathCommandNodeHelper.toCommand(list);
3175
+ } else {
3176
+ const data = [];
3177
+ list.forEach(item => {
3178
+ switch (item.name) {
3179
+ case "M":
3180
+ data.push(M$4, item.x, item.y);
3181
+ break;
3163
3182
 
3164
- case "L":
3165
- data.push(L$5, item.x, item.y);
3166
- break;
3183
+ case "L":
3184
+ data.push(L$5, item.x, item.y);
3185
+ break;
3167
3186
 
3168
- case "C":
3169
- data.push(C$3, item.x1, item.y1, item.x2, item.y2, item.x, item.y);
3170
- break;
3187
+ case "C":
3188
+ data.push(C$3, item.x1, item.y1, item.x2, item.y2, item.x, item.y);
3189
+ break;
3171
3190
 
3172
- case "Q":
3173
- data.push(Q$3, item.x1, item.y1, item.x, item.y);
3174
- break;
3191
+ case "Q":
3192
+ data.push(Q$3, item.x1, item.y1, item.x, item.y);
3193
+ break;
3175
3194
 
3176
- case "Z":
3177
- data.push(Z$4);
3178
- }
3179
- });
3180
- return data;
3195
+ case "Z":
3196
+ data.push(Z$4);
3197
+ }
3198
+ });
3199
+ return data;
3200
+ }
3181
3201
  },
3182
3202
  copyData(data, old, index, count) {
3183
3203
  for (let i = index, end = index + count; i < end; i++) {
@@ -6835,7 +6855,7 @@ class LeafLevelList {
6835
6855
  }
6836
6856
  }
6837
6857
 
6838
- const version = "1.10.0";
6858
+ const version = "1.11.0";
6839
6859
 
6840
6860
  class LeaferCanvas extends LeaferCanvasBase {
6841
6861
  get allowBackgroundColor() {
@@ -7958,7 +7978,9 @@ const {parse: parse, objectToCanvasData: objectToCanvasData} = PathConvert;
7958
7978
 
7959
7979
  const {stintSet: stintSet$3} = DataHelper, {hasTransparent: hasTransparent$2} = ColorConvert;
7960
7980
 
7961
- const emptyPaint = {};
7981
+ const emptyPaint = {
7982
+ originPaint: {}
7983
+ };
7962
7984
 
7963
7985
  const debug$2 = Debug.get("UIData");
7964
7986
 
@@ -8497,7 +8519,7 @@ let UI = UI_1 = class UI extends Leaf {
8497
8519
  drawer.roundRect(x, y, width, height, isNumber(cornerRadius) ? [ cornerRadius ] : cornerRadius);
8498
8520
  } else drawer.rect(x, y, width, height);
8499
8521
  }
8500
- drawImagePlaceholder(_image, canvas, renderOptions) {
8522
+ drawImagePlaceholder(_paint, canvas, renderOptions) {
8501
8523
  Paint.fill(this.__.placeholderColor, this, canvas, renderOptions);
8502
8524
  }
8503
8525
  animate(keyframe, _options, _type, _isTemp) {
@@ -9182,7 +9204,7 @@ let Box = class Box extends Group {
9182
9204
  const data = this.__, layout = this.__layout, {renderBounds: renderBounds, boxBounds: boxBounds} = layout, {overflow: overflow} = data;
9183
9205
  const childrenRenderBounds = layout.childrenRenderBounds || (layout.childrenRenderBounds = getBoundsData());
9184
9206
  super.__updateRenderBounds(childrenRenderBounds);
9185
- if (isScrollMode = overflow.includes("scroll")) {
9207
+ if (isScrollMode = overflow && overflow.includes("scroll")) {
9186
9208
  add(childrenRenderBounds, boxBounds);
9187
9209
  scroll(childrenRenderBounds, data);
9188
9210
  }
@@ -10382,10 +10404,12 @@ class Dragger {
10382
10404
  if (throughPath) this.dragData.throughPath = throughPath;
10383
10405
  this.dragData.path = path;
10384
10406
  if (this.moving) {
10407
+ data.moving = true;
10385
10408
  this.dragData.moveType = "drag";
10386
10409
  interaction.emit(MoveEvent.BEFORE_MOVE, this.dragData);
10387
10410
  interaction.emit(MoveEvent.MOVE, this.dragData);
10388
10411
  } else if (this.dragging) {
10412
+ data.dragging = true;
10389
10413
  this.dragReal();
10390
10414
  interaction.emit(DragEvent.BEFORE_DRAG, this.dragData);
10391
10415
  interaction.emit(DragEvent.DRAG, this.dragData);
@@ -10492,13 +10516,9 @@ function emit$1(type, data, path, excludePath) {
10492
10516
  if (!path && !data.path) return;
10493
10517
  let leaf;
10494
10518
  data.type = type;
10495
- if (path) {
10496
- data = Object.assign(Object.assign({}, data), {
10497
- path: path
10498
- });
10499
- } else {
10500
- path = data.path;
10501
- }
10519
+ if (path) data = Object.assign(Object.assign({}, data), {
10520
+ path: path
10521
+ }); else path = data.path;
10502
10522
  data.target = path.indexAt(0);
10503
10523
  try {
10504
10524
  for (let i = path.length - 1; i > -1; i--) {
@@ -11362,30 +11382,31 @@ function fill(fill, ui, canvas, renderOptions) {
11362
11382
  }
11363
11383
 
11364
11384
  function fills(fills, ui, canvas, renderOptions) {
11365
- let item;
11385
+ let item, originPaint, countImage;
11366
11386
  for (let i = 0, len = fills.length; i < len; i++) {
11367
- item = fills[i];
11387
+ item = fills[i], originPaint = item.originPaint;
11368
11388
  if (item.image) {
11389
+ countImage ? countImage++ : countImage = 1;
11369
11390
  if (PaintImage.checkImage(item, !ui.__.__font, ui, canvas, renderOptions)) continue;
11370
11391
  if (!item.style) {
11371
- if (!i && item.image.isPlacehold) ui.drawImagePlaceholder(item.image, canvas, renderOptions);
11392
+ if (countImage === 1 && item.image.isPlacehold) ui.drawImagePlaceholder(item, canvas, renderOptions);
11372
11393
  continue;
11373
11394
  }
11374
11395
  }
11375
11396
  canvas.fillStyle = item.style;
11376
- if (item.transform || item.scaleFixed) {
11397
+ if (item.transform || originPaint.scaleFixed) {
11377
11398
  canvas.save();
11378
11399
  if (item.transform) canvas.transform(item.transform);
11379
- if (item.scaleFixed) {
11400
+ if (originPaint.scaleFixed) {
11380
11401
  const {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true);
11381
- if (item.scaleFixed === true || item.scaleFixed === "zoom-in" && scaleX > 1 && scaleY > 1) canvas.scale(1 / scaleX, 1 / scaleY);
11402
+ if (originPaint.scaleFixed === true || originPaint.scaleFixed === "zoom-in" && scaleX > 1 && scaleY > 1) canvas.scale(1 / scaleX, 1 / scaleY);
11382
11403
  }
11383
- if (item.blendMode) canvas.blendMode = item.blendMode;
11404
+ if (originPaint.blendMode) canvas.blendMode = originPaint.blendMode;
11384
11405
  fillPathOrText(ui, canvas, renderOptions);
11385
11406
  canvas.restore();
11386
11407
  } else {
11387
- if (item.blendMode) {
11388
- canvas.saveBlendMode(item.blendMode);
11408
+ if (originPaint.blendMode) {
11409
+ canvas.saveBlendMode(originPaint.blendMode);
11389
11410
  fillPathOrText(ui, canvas, renderOptions);
11390
11411
  canvas.restoreBlendMode();
11391
11412
  } else fillPathOrText(ui, canvas, renderOptions);
@@ -11538,8 +11559,8 @@ function drawStrokesStyle(strokes, strokeWidthScale, isText, ui, canvas, renderO
11538
11559
  const {strokeStyle: strokeStyle} = item;
11539
11560
  strokeStyle ? canvas.setStroke(item.style, data.__getRealStrokeWidth(strokeStyle) * strokeWidthScale, data, strokeStyle) : canvas.setStroke(item.style, data.__strokeWidth * strokeWidthScale, data);
11540
11561
  } else canvas.strokeStyle = item.style;
11541
- if (item.blendMode) {
11542
- canvas.saveBlendMode(item.blendMode);
11562
+ if (item.originPaint.blendMode) {
11563
+ canvas.saveBlendMode(item.originPaint.blendMode);
11543
11564
  isText ? Paint.drawTextStroke(ui, canvas, renderOptions) : canvas.stroke();
11544
11565
  canvas.restoreBlendMode();
11545
11566
  } else {
@@ -11636,62 +11657,63 @@ function compute(attrName, ui) {
11636
11657
  if (leafPaints.some(item => item.image)) isAlphaPixel = true;
11637
11658
  isTransparent = true;
11638
11659
  }
11639
- }
11640
- if (attrName === "fill") {
11641
- stintSet(data, "__isAlphaPixelFill", isAlphaPixel);
11642
- stintSet(data, "__isTransparentFill", isTransparent);
11660
+ if (attrName === "fill") {
11661
+ stintSet(data, "__isAlphaPixelFill", isAlphaPixel);
11662
+ stintSet(data, "__isTransparentFill", isTransparent);
11663
+ } else {
11664
+ stintSet(data, "__isAlphaPixelStroke", isAlphaPixel);
11665
+ stintSet(data, "__isTransparentStroke", isTransparent);
11666
+ stintSet(data, "__hasMultiStrokeStyle", maxChildStrokeWidth);
11667
+ }
11643
11668
  } else {
11644
- stintSet(data, "__isAlphaPixelStroke", isAlphaPixel);
11645
- stintSet(data, "__isTransparentStroke", isTransparent);
11646
- stintSet(data, "__hasMultiStrokeStyle", maxChildStrokeWidth);
11669
+ data.__removePaint(attrName, false);
11647
11670
  }
11648
11671
  }
11649
11672
 
11650
11673
  function getLeafPaint(attrName, paint, ui) {
11651
11674
  if (!isObject(paint) || paint.visible === false || paint.opacity === 0) return undefined;
11652
- let data;
11675
+ let leafPaint;
11653
11676
  const {boxBounds: boxBounds} = ui.__layout;
11654
11677
  switch (paint.type) {
11655
11678
  case "image":
11656
- data = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
11679
+ leafPaint = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
11657
11680
  break;
11658
11681
 
11659
11682
  case "linear":
11660
- data = PaintGradient.linearGradient(paint, boxBounds);
11683
+ leafPaint = PaintGradient.linearGradient(paint, boxBounds);
11661
11684
  break;
11662
11685
 
11663
11686
  case "radial":
11664
- data = PaintGradient.radialGradient(paint, boxBounds);
11687
+ leafPaint = PaintGradient.radialGradient(paint, boxBounds);
11665
11688
  break;
11666
11689
 
11667
11690
  case "angular":
11668
- data = PaintGradient.conicGradient(paint, boxBounds);
11691
+ leafPaint = PaintGradient.conicGradient(paint, boxBounds);
11669
11692
  break;
11670
11693
 
11671
11694
  case "solid":
11672
11695
  const {type: type, color: color, opacity: opacity} = paint;
11673
- data = {
11696
+ leafPaint = {
11674
11697
  type: type,
11675
11698
  style: ColorConvert.string(color, opacity)
11676
11699
  };
11677
11700
  break;
11678
11701
 
11679
11702
  default:
11680
- if (!isUndefined(paint.r)) data = {
11703
+ if (!isUndefined(paint.r)) leafPaint = {
11681
11704
  type: "solid",
11682
11705
  style: ColorConvert.string(paint)
11683
11706
  };
11684
11707
  }
11685
- if (data) {
11686
- if (isString(data.style) && hasTransparent$1(data.style)) data.isTransparent = true;
11708
+ if (leafPaint) {
11709
+ leafPaint.originPaint = paint;
11710
+ if (isString(leafPaint.style) && hasTransparent$1(leafPaint.style)) leafPaint.isTransparent = true;
11687
11711
  if (paint.style) {
11688
11712
  if (paint.style.strokeWidth === 0) return undefined;
11689
- data.strokeStyle = paint.style;
11713
+ leafPaint.strokeStyle = paint.style;
11690
11714
  }
11691
- if (paint.editing) data.editing = paint.editing;
11692
- if (paint.blendMode) data.blendMode = paint.blendMode;
11693
11715
  }
11694
- return data;
11716
+ return leafPaint;
11695
11717
  }
11696
11718
 
11697
11719
  const PaintModule = {
@@ -11824,10 +11846,6 @@ const tempScaleData = {};
11824
11846
  const tempImage = {};
11825
11847
 
11826
11848
  function createData(leafPaint, image, paint, box) {
11827
- const {changeful: changeful, sync: sync, scaleFixed: scaleFixed} = paint;
11828
- if (changeful) leafPaint.changeful = changeful;
11829
- if (sync) leafPaint.sync = sync;
11830
- if (scaleFixed) leafPaint.scaleFixed = scaleFixed;
11831
11849
  leafPaint.data = PaintImage.getPatternData(paint, box, image);
11832
11850
  }
11833
11851
 
@@ -12054,14 +12072,14 @@ function getPatternFixScale(paint, imageScaleX, imageScaleY) {
12054
12072
 
12055
12073
  function checkImage(paint, drawImage, ui, canvas, renderOptions) {
12056
12074
  const {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions);
12057
- const {image: image, data: data} = paint, {exporting: exporting} = renderOptions;
12075
+ const {image: image, data: data, originPaint: originPaint} = paint, {exporting: exporting} = renderOptions;
12058
12076
  if (!data || paint.patternId === scaleX + "-" + scaleY && !exporting) {
12059
12077
  return false;
12060
12078
  } else {
12061
12079
  if (drawImage) {
12062
12080
  if (data.repeat) {
12063
12081
  drawImage = false;
12064
- } else if (!(paint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
12082
+ } else if (!(originPaint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
12065
12083
  drawImage = Platform.image.isLarge(image, scaleX, scaleY);
12066
12084
  }
12067
12085
  }
@@ -12073,16 +12091,16 @@ function checkImage(paint, drawImage, ui, canvas, renderOptions) {
12073
12091
  PaintImage.drawImage(paint, scaleX, scaleY, ui, canvas, renderOptions);
12074
12092
  return true;
12075
12093
  } else {
12076
- if (!paint.style || paint.sync || exporting) PaintImage.createPattern(paint, ui, canvas, renderOptions); else PaintImage.createPatternTask(paint, ui, canvas, renderOptions);
12094
+ if (!paint.style || originPaint.sync || exporting) PaintImage.createPattern(paint, ui, canvas, renderOptions); else PaintImage.createPatternTask(paint, ui, canvas, renderOptions);
12077
12095
  return false;
12078
12096
  }
12079
12097
  }
12080
12098
  }
12081
12099
 
12082
12100
  function drawImage(paint, _imageScaleX, _imageScaleY, ui, canvas, _renderOptions) {
12083
- const {data: data, image: image, blendMode: blendMode} = paint, {opacity: opacity, transform: transform} = data, view = image.getFull(data.filters), u = ui.__;
12101
+ const {data: data, image: image} = paint, {blendMode: blendMode} = paint.originPaint, {opacity: opacity, transform: transform} = data, view = image.getFull(data.filters), u = ui.__;
12084
12102
  let {width: width, height: height} = image, clipUI;
12085
- if (transform && !transform.onlyScale || (clipUI = u.path || u.cornerRadius) || opacity || blendMode) {
12103
+ if ((clipUI = transform && !transform.onlyScale || u.path || u.cornerRadius) || opacity || blendMode) {
12086
12104
  canvas.save();
12087
12105
  clipUI && canvas.clipUI(ui);
12088
12106
  blendMode && (canvas.blendMode = blendMode);
@@ -12097,7 +12115,7 @@ function drawImage(paint, _imageScaleX, _imageScaleY, ui, canvas, _renderOptions
12097
12115
  }
12098
12116
 
12099
12117
  function getImageRenderScaleData(paint, ui, canvas, _renderOptions) {
12100
- const scaleData = ui.getRenderScaleData(true, paint.scaleFixed), {data: data} = paint;
12118
+ const scaleData = ui.getRenderScaleData(true, paint.originPaint.scaleFixed), {data: data} = paint;
12101
12119
  if (canvas) {
12102
12120
  const {pixelRatio: pixelRatio} = canvas;
12103
12121
  scaleData.scaleX *= pixelRatio;
@@ -13043,4 +13061,4 @@ try {
13043
13061
  if (wx) useCanvas("miniapp", wx);
13044
13062
  } catch (_a) {}
13045
13063
 
13046
- 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, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, FourNumberHelper, Frame, FrameData, Group, GroupData, HitCanvasManager, 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, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, 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, 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$2 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
13064
+ 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, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, FourNumberHelper, Frame, FrameData, Group, GroupData, HitCanvasManager, 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, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, 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, 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$2 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };