leafer-ui 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
  const debug$5 = Debug.get("LeaferCanvas");
6841
6861
 
@@ -8011,7 +8031,9 @@ const {parse: parse, objectToCanvasData: objectToCanvasData} = PathConvert;
8011
8031
 
8012
8032
  const {stintSet: stintSet$3} = DataHelper, {hasTransparent: hasTransparent$2} = ColorConvert;
8013
8033
 
8014
- const emptyPaint = {};
8034
+ const emptyPaint = {
8035
+ originPaint: {}
8036
+ };
8015
8037
 
8016
8038
  const debug$2 = Debug.get("UIData");
8017
8039
 
@@ -8550,7 +8572,7 @@ let UI = UI_1 = class UI extends Leaf {
8550
8572
  drawer.roundRect(x, y, width, height, isNumber(cornerRadius) ? [ cornerRadius ] : cornerRadius);
8551
8573
  } else drawer.rect(x, y, width, height);
8552
8574
  }
8553
- drawImagePlaceholder(_image, canvas, renderOptions) {
8575
+ drawImagePlaceholder(_paint, canvas, renderOptions) {
8554
8576
  Paint.fill(this.__.placeholderColor, this, canvas, renderOptions);
8555
8577
  }
8556
8578
  animate(keyframe, _options, _type, _isTemp) {
@@ -9235,7 +9257,7 @@ let Box = class Box extends Group {
9235
9257
  const data = this.__, layout = this.__layout, {renderBounds: renderBounds, boxBounds: boxBounds} = layout, {overflow: overflow} = data;
9236
9258
  const childrenRenderBounds = layout.childrenRenderBounds || (layout.childrenRenderBounds = getBoundsData());
9237
9259
  super.__updateRenderBounds(childrenRenderBounds);
9238
- if (isScrollMode = overflow.includes("scroll")) {
9260
+ if (isScrollMode = overflow && overflow.includes("scroll")) {
9239
9261
  add(childrenRenderBounds, boxBounds);
9240
9262
  scroll(childrenRenderBounds, data);
9241
9263
  }
@@ -10435,10 +10457,12 @@ class Dragger {
10435
10457
  if (throughPath) this.dragData.throughPath = throughPath;
10436
10458
  this.dragData.path = path;
10437
10459
  if (this.moving) {
10460
+ data.moving = true;
10438
10461
  this.dragData.moveType = "drag";
10439
10462
  interaction.emit(MoveEvent.BEFORE_MOVE, this.dragData);
10440
10463
  interaction.emit(MoveEvent.MOVE, this.dragData);
10441
10464
  } else if (this.dragging) {
10465
+ data.dragging = true;
10442
10466
  this.dragReal();
10443
10467
  interaction.emit(DragEvent$1.BEFORE_DRAG, this.dragData);
10444
10468
  interaction.emit(DragEvent$1.DRAG, this.dragData);
@@ -10545,13 +10569,9 @@ function emit$1(type, data, path, excludePath) {
10545
10569
  if (!path && !data.path) return;
10546
10570
  let leaf;
10547
10571
  data.type = type;
10548
- if (path) {
10549
- data = Object.assign(Object.assign({}, data), {
10550
- path: path
10551
- });
10552
- } else {
10553
- path = data.path;
10554
- }
10572
+ if (path) data = Object.assign(Object.assign({}, data), {
10573
+ path: path
10574
+ }); else path = data.path;
10555
10575
  data.target = path.indexAt(0);
10556
10576
  try {
10557
10577
  for (let i = path.length - 1; i > -1; i--) {
@@ -11631,30 +11651,31 @@ function fill(fill, ui, canvas, renderOptions) {
11631
11651
  }
11632
11652
 
11633
11653
  function fills(fills, ui, canvas, renderOptions) {
11634
- let item;
11654
+ let item, originPaint, countImage;
11635
11655
  for (let i = 0, len = fills.length; i < len; i++) {
11636
- item = fills[i];
11656
+ item = fills[i], originPaint = item.originPaint;
11637
11657
  if (item.image) {
11658
+ countImage ? countImage++ : countImage = 1;
11638
11659
  if (PaintImage.checkImage(item, !ui.__.__font, ui, canvas, renderOptions)) continue;
11639
11660
  if (!item.style) {
11640
- if (!i && item.image.isPlacehold) ui.drawImagePlaceholder(item.image, canvas, renderOptions);
11661
+ if (countImage === 1 && item.image.isPlacehold) ui.drawImagePlaceholder(item, canvas, renderOptions);
11641
11662
  continue;
11642
11663
  }
11643
11664
  }
11644
11665
  canvas.fillStyle = item.style;
11645
- if (item.transform || item.scaleFixed) {
11666
+ if (item.transform || originPaint.scaleFixed) {
11646
11667
  canvas.save();
11647
11668
  if (item.transform) canvas.transform(item.transform);
11648
- if (item.scaleFixed) {
11669
+ if (originPaint.scaleFixed) {
11649
11670
  const {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true);
11650
- if (item.scaleFixed === true || item.scaleFixed === "zoom-in" && scaleX > 1 && scaleY > 1) canvas.scale(1 / scaleX, 1 / scaleY);
11671
+ if (originPaint.scaleFixed === true || originPaint.scaleFixed === "zoom-in" && scaleX > 1 && scaleY > 1) canvas.scale(1 / scaleX, 1 / scaleY);
11651
11672
  }
11652
- if (item.blendMode) canvas.blendMode = item.blendMode;
11673
+ if (originPaint.blendMode) canvas.blendMode = originPaint.blendMode;
11653
11674
  fillPathOrText(ui, canvas, renderOptions);
11654
11675
  canvas.restore();
11655
11676
  } else {
11656
- if (item.blendMode) {
11657
- canvas.saveBlendMode(item.blendMode);
11677
+ if (originPaint.blendMode) {
11678
+ canvas.saveBlendMode(originPaint.blendMode);
11658
11679
  fillPathOrText(ui, canvas, renderOptions);
11659
11680
  canvas.restoreBlendMode();
11660
11681
  } else fillPathOrText(ui, canvas, renderOptions);
@@ -11807,8 +11828,8 @@ function drawStrokesStyle(strokes, strokeWidthScale, isText, ui, canvas, renderO
11807
11828
  const {strokeStyle: strokeStyle} = item;
11808
11829
  strokeStyle ? canvas.setStroke(item.style, data.__getRealStrokeWidth(strokeStyle) * strokeWidthScale, data, strokeStyle) : canvas.setStroke(item.style, data.__strokeWidth * strokeWidthScale, data);
11809
11830
  } else canvas.strokeStyle = item.style;
11810
- if (item.blendMode) {
11811
- canvas.saveBlendMode(item.blendMode);
11831
+ if (item.originPaint.blendMode) {
11832
+ canvas.saveBlendMode(item.originPaint.blendMode);
11812
11833
  isText ? Paint.drawTextStroke(ui, canvas, renderOptions) : canvas.stroke();
11813
11834
  canvas.restoreBlendMode();
11814
11835
  } else {
@@ -11905,62 +11926,63 @@ function compute(attrName, ui) {
11905
11926
  if (leafPaints.some(item => item.image)) isAlphaPixel = true;
11906
11927
  isTransparent = true;
11907
11928
  }
11908
- }
11909
- if (attrName === "fill") {
11910
- stintSet(data, "__isAlphaPixelFill", isAlphaPixel);
11911
- stintSet(data, "__isTransparentFill", isTransparent);
11929
+ if (attrName === "fill") {
11930
+ stintSet(data, "__isAlphaPixelFill", isAlphaPixel);
11931
+ stintSet(data, "__isTransparentFill", isTransparent);
11932
+ } else {
11933
+ stintSet(data, "__isAlphaPixelStroke", isAlphaPixel);
11934
+ stintSet(data, "__isTransparentStroke", isTransparent);
11935
+ stintSet(data, "__hasMultiStrokeStyle", maxChildStrokeWidth);
11936
+ }
11912
11937
  } else {
11913
- stintSet(data, "__isAlphaPixelStroke", isAlphaPixel);
11914
- stintSet(data, "__isTransparentStroke", isTransparent);
11915
- stintSet(data, "__hasMultiStrokeStyle", maxChildStrokeWidth);
11938
+ data.__removePaint(attrName, false);
11916
11939
  }
11917
11940
  }
11918
11941
 
11919
11942
  function getLeafPaint(attrName, paint, ui) {
11920
11943
  if (!isObject(paint) || paint.visible === false || paint.opacity === 0) return undefined;
11921
- let data;
11944
+ let leafPaint;
11922
11945
  const {boxBounds: boxBounds} = ui.__layout;
11923
11946
  switch (paint.type) {
11924
11947
  case "image":
11925
- data = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
11948
+ leafPaint = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
11926
11949
  break;
11927
11950
 
11928
11951
  case "linear":
11929
- data = PaintGradient.linearGradient(paint, boxBounds);
11952
+ leafPaint = PaintGradient.linearGradient(paint, boxBounds);
11930
11953
  break;
11931
11954
 
11932
11955
  case "radial":
11933
- data = PaintGradient.radialGradient(paint, boxBounds);
11956
+ leafPaint = PaintGradient.radialGradient(paint, boxBounds);
11934
11957
  break;
11935
11958
 
11936
11959
  case "angular":
11937
- data = PaintGradient.conicGradient(paint, boxBounds);
11960
+ leafPaint = PaintGradient.conicGradient(paint, boxBounds);
11938
11961
  break;
11939
11962
 
11940
11963
  case "solid":
11941
11964
  const {type: type, color: color, opacity: opacity} = paint;
11942
- data = {
11965
+ leafPaint = {
11943
11966
  type: type,
11944
11967
  style: ColorConvert.string(color, opacity)
11945
11968
  };
11946
11969
  break;
11947
11970
 
11948
11971
  default:
11949
- if (!isUndefined(paint.r)) data = {
11972
+ if (!isUndefined(paint.r)) leafPaint = {
11950
11973
  type: "solid",
11951
11974
  style: ColorConvert.string(paint)
11952
11975
  };
11953
11976
  }
11954
- if (data) {
11955
- if (isString(data.style) && hasTransparent$1(data.style)) data.isTransparent = true;
11977
+ if (leafPaint) {
11978
+ leafPaint.originPaint = paint;
11979
+ if (isString(leafPaint.style) && hasTransparent$1(leafPaint.style)) leafPaint.isTransparent = true;
11956
11980
  if (paint.style) {
11957
11981
  if (paint.style.strokeWidth === 0) return undefined;
11958
- data.strokeStyle = paint.style;
11982
+ leafPaint.strokeStyle = paint.style;
11959
11983
  }
11960
- if (paint.editing) data.editing = paint.editing;
11961
- if (paint.blendMode) data.blendMode = paint.blendMode;
11962
11984
  }
11963
- return data;
11985
+ return leafPaint;
11964
11986
  }
11965
11987
 
11966
11988
  const PaintModule = {
@@ -12093,10 +12115,6 @@ const tempScaleData = {};
12093
12115
  const tempImage = {};
12094
12116
 
12095
12117
  function createData(leafPaint, image, paint, box) {
12096
- const {changeful: changeful, sync: sync, scaleFixed: scaleFixed} = paint;
12097
- if (changeful) leafPaint.changeful = changeful;
12098
- if (sync) leafPaint.sync = sync;
12099
- if (scaleFixed) leafPaint.scaleFixed = scaleFixed;
12100
12118
  leafPaint.data = PaintImage.getPatternData(paint, box, image);
12101
12119
  }
12102
12120
 
@@ -12323,14 +12341,14 @@ function getPatternFixScale(paint, imageScaleX, imageScaleY) {
12323
12341
 
12324
12342
  function checkImage(paint, drawImage, ui, canvas, renderOptions) {
12325
12343
  const {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions);
12326
- const {image: image, data: data} = paint, {exporting: exporting} = renderOptions;
12344
+ const {image: image, data: data, originPaint: originPaint} = paint, {exporting: exporting} = renderOptions;
12327
12345
  if (!data || paint.patternId === scaleX + "-" + scaleY && !exporting) {
12328
12346
  return false;
12329
12347
  } else {
12330
12348
  if (drawImage) {
12331
12349
  if (data.repeat) {
12332
12350
  drawImage = false;
12333
- } else if (!(paint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
12351
+ } else if (!(originPaint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
12334
12352
  drawImage = Platform.image.isLarge(image, scaleX, scaleY);
12335
12353
  }
12336
12354
  }
@@ -12342,16 +12360,16 @@ function checkImage(paint, drawImage, ui, canvas, renderOptions) {
12342
12360
  PaintImage.drawImage(paint, scaleX, scaleY, ui, canvas, renderOptions);
12343
12361
  return true;
12344
12362
  } else {
12345
- if (!paint.style || paint.sync || exporting) PaintImage.createPattern(paint, ui, canvas, renderOptions); else PaintImage.createPatternTask(paint, ui, canvas, renderOptions);
12363
+ if (!paint.style || originPaint.sync || exporting) PaintImage.createPattern(paint, ui, canvas, renderOptions); else PaintImage.createPatternTask(paint, ui, canvas, renderOptions);
12346
12364
  return false;
12347
12365
  }
12348
12366
  }
12349
12367
  }
12350
12368
 
12351
12369
  function drawImage(paint, _imageScaleX, _imageScaleY, ui, canvas, _renderOptions) {
12352
- const {data: data, image: image, blendMode: blendMode} = paint, {opacity: opacity, transform: transform} = data, view = image.getFull(data.filters), u = ui.__;
12370
+ const {data: data, image: image} = paint, {blendMode: blendMode} = paint.originPaint, {opacity: opacity, transform: transform} = data, view = image.getFull(data.filters), u = ui.__;
12353
12371
  let {width: width, height: height} = image, clipUI;
12354
- if (transform && !transform.onlyScale || (clipUI = u.path || u.cornerRadius) || opacity || blendMode) {
12372
+ if ((clipUI = transform && !transform.onlyScale || u.path || u.cornerRadius) || opacity || blendMode) {
12355
12373
  canvas.save();
12356
12374
  clipUI && canvas.clipUI(ui);
12357
12375
  blendMode && (canvas.blendMode = blendMode);
@@ -12366,7 +12384,7 @@ function drawImage(paint, _imageScaleX, _imageScaleY, ui, canvas, _renderOptions
12366
12384
  }
12367
12385
 
12368
12386
  function getImageRenderScaleData(paint, ui, canvas, _renderOptions) {
12369
- const scaleData = ui.getRenderScaleData(true, paint.scaleFixed), {data: data} = paint;
12387
+ const scaleData = ui.getRenderScaleData(true, paint.originPaint.scaleFixed), {data: data} = paint;
12370
12388
  if (canvas) {
12371
12389
  const {pixelRatio: pixelRatio} = canvas;
12372
12390
  scaleData.scaleX *= pixelRatio;
@@ -13306,4 +13324,4 @@ Object.assign(Creator, {
13306
13324
 
13307
13325
  useCanvas();
13308
13326
 
13309
- 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, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, 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, 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 };
13327
+ 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, 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, 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 };