@leafer-editor/worker 1.3.0 → 1.3.2

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.
@@ -6007,7 +6007,7 @@ class LeafLevelList {
6007
6007
  }
6008
6008
  }
6009
6009
 
6010
- const version = "1.3.0";
6010
+ const version = "1.3.2";
6011
6011
 
6012
6012
  class LeaferCanvas extends LeaferCanvasBase {
6013
6013
  get allowBackgroundColor() { return true; }
@@ -6539,7 +6539,7 @@ class Renderer {
6539
6539
  partRender() {
6540
6540
  const { canvas, updateBlocks: list } = this;
6541
6541
  if (!list)
6542
- return debug$6.warn('PartRender: need update attr');
6542
+ return;
6543
6543
  this.mergeBlocks();
6544
6544
  list.forEach(block => { if (canvas.bounds.hit(block) && !block.isEmpty())
6545
6545
  this.clipRender(block); });
@@ -7395,7 +7395,7 @@ let UI = UI_1 = class UI extends Leaf {
7395
7395
  animate(_keyframe, _options, _type, _isTemp) {
7396
7396
  return Plugin.need('animate');
7397
7397
  }
7398
- killAnimate(_type, _killStyle) { }
7398
+ killAnimate(_type, _nextStyle) { }
7399
7399
  export(_filename, _options) {
7400
7400
  return Plugin.need('export');
7401
7401
  }
@@ -7891,8 +7891,6 @@ let Leafer = Leafer_1 = class Leafer extends Group {
7891
7891
  this.created = true;
7892
7892
  }
7893
7893
  __onReady() {
7894
- if (this.ready)
7895
- return;
7896
7894
  this.ready = true;
7897
7895
  this.emitLeafer(LeaferEvent.BEFORE_READY);
7898
7896
  this.emitLeafer(LeaferEvent.READY);
@@ -7906,6 +7904,20 @@ let Leafer = Leafer_1 = class Leafer extends Group {
7906
7904
  this.emitLeafer(LeaferEvent.VIEW_READY);
7907
7905
  WaitHelper.run(this.__viewReadyWait);
7908
7906
  }
7907
+ __onLayoutEnd() {
7908
+ const { grow, growWidth, growHeight } = this.config;
7909
+ if (grow) {
7910
+ let { width, height, pixelRatio } = this;
7911
+ const bounds = grow === 'box' ? this.worldBoxBounds : this.__world;
7912
+ if (growWidth !== false)
7913
+ width = Math.max(1, bounds.x + bounds.width);
7914
+ if (growHeight !== false)
7915
+ height = Math.max(1, bounds.y + bounds.height);
7916
+ this.__doResize({ width, height, pixelRatio });
7917
+ }
7918
+ if (!this.ready)
7919
+ this.__onReady();
7920
+ }
7909
7921
  __onNextRender() {
7910
7922
  if (this.viewReady) {
7911
7923
  WaitHelper.run(this.__nextRenderWait);
@@ -7999,10 +8011,9 @@ let Leafer = Leafer_1 = class Leafer extends Group {
7999
8011
  const runId = Run.start('FirstCreate ' + this.innerName);
8000
8012
  this.once(LeaferEvent.START, () => Run.end(runId));
8001
8013
  this.once(LayoutEvent.START, () => this.updateLazyBounds());
8002
- this.once(LayoutEvent.END, () => this.__onReady());
8003
8014
  this.once(RenderEvent.START, () => this.__onCreated());
8004
8015
  this.once(RenderEvent.END, () => this.__onViewReady());
8005
- this.__eventIds.push(this.on_(WatchEvent.DATA, this.__onWatchData, this), this.on_(RenderEvent.NEXT, this.__onNextRender, this));
8016
+ this.__eventIds.push(this.on_(WatchEvent.DATA, this.__onWatchData, this), this.on_(LayoutEvent.END, this.__onLayoutEnd, this), this.on_(RenderEvent.NEXT, this.__onNextRender, this));
8006
8017
  }
8007
8018
  __removeListenEvents() {
8008
8019
  this.off_(this.__eventIds);
@@ -9925,8 +9936,8 @@ leaf$1.__drawHitPath = function (canvas) { if (canvas)
9925
9936
  this.__drawRenderPath(canvas); };
9926
9937
 
9927
9938
  const matrix$2 = new Matrix();
9928
- const ui$2 = UI.prototype;
9929
- ui$2.__updateHitCanvas = function () {
9939
+ const ui$3 = UI.prototype;
9940
+ ui$3.__updateHitCanvas = function () {
9930
9941
  const data = this.__, { hitCanvasManager } = this.leafer;
9931
9942
  const isHitPixelFill = (data.__pixelFill || data.__isCanvas) && data.hitFill === 'pixel';
9932
9943
  const isHitPixelStroke = data.__pixelStroke && data.hitStroke === 'pixel';
@@ -9953,7 +9964,7 @@ ui$2.__updateHitCanvas = function () {
9953
9964
  this.__drawHitPath(h);
9954
9965
  h.setStrokeOptions(data);
9955
9966
  };
9956
- ui$2.__hit = function (inner) {
9967
+ ui$3.__hit = function (inner) {
9957
9968
  if (Platform.name === 'miniapp')
9958
9969
  this.__drawHitPath(this.__hitCanvas);
9959
9970
  const data = this.__;
@@ -9993,24 +10004,24 @@ ui$2.__hit = function (inner) {
9993
10004
  return hitWidth ? this.__hitStroke(inner, hitWidth) : false;
9994
10005
  };
9995
10006
 
9996
- const ui$1 = UI.prototype, rect = Rect.prototype, box$1 = Box.prototype;
10007
+ const ui$2 = UI.prototype, rect = Rect.prototype, box$1 = Box.prototype;
9997
10008
  rect.__updateHitCanvas = box$1.__updateHitCanvas = function () {
9998
10009
  if (this.stroke || this.cornerRadius || ((this.fill || this.__.__isCanvas) && this.hitFill === 'pixel') || this.hitStroke === 'all')
9999
- ui$1.__updateHitCanvas.call(this);
10010
+ ui$2.__updateHitCanvas.call(this);
10000
10011
  else if (this.__hitCanvas)
10001
10012
  this.__hitCanvas = null;
10002
10013
  };
10003
10014
  rect.__hitFill = box$1.__hitFill = function (inner) {
10004
- return this.__hitCanvas ? ui$1.__hitFill.call(this, inner) : BoundsHelper.hitRadiusPoint(this.__layout.boxBounds, inner);
10015
+ return this.__hitCanvas ? ui$2.__hitFill.call(this, inner) : BoundsHelper.hitRadiusPoint(this.__layout.boxBounds, inner);
10005
10016
  };
10006
10017
 
10007
- function getSelector(ui) {
10018
+ function getSelector$1(ui) {
10008
10019
  return ui.leafer ? ui.leafer.selector : (Platform.selector || (Platform.selector = Creator.selector()));
10009
10020
  }
10010
10021
  Group.prototype.pick = function (hitPoint, options) {
10011
10022
  this.leafer || this.updateLayout();
10012
10023
  options || (options = emptyData);
10013
- return getSelector(this).getByPoint(hitPoint, options.hitRadius || 0, Object.assign(Object.assign({}, options), { target: this }));
10024
+ return getSelector$1(this).getByPoint(hitPoint, options.hitRadius || 0, Object.assign(Object.assign({}, options), { target: this }));
10014
10025
  };
10015
10026
 
10016
10027
  const canvas$1 = LeaferCanvasBase.prototype;
@@ -11249,7 +11260,7 @@ function layoutChar(drawData, style, width, _height) {
11249
11260
  rows.forEach(row => {
11250
11261
  if (row.words) {
11251
11262
  indentWidth = paraIndent && row.paraStart ? paraIndent : 0;
11252
- addWordWidth = (width && textAlign === 'justify' && row.words.length > 1) ? (width - row.width - indentWidth) / (row.words.length - 1) : 0;
11263
+ addWordWidth = (width && (textAlign === 'justify' || textAlign === 'both') && row.words.length > 1) ? (width - row.width - indentWidth) / (row.words.length - 1) : 0;
11253
11264
  mode = (letterSpacing || row.isOverflow) ? CharMode : (addWordWidth > 0.01 ? WordMode : TextMode);
11254
11265
  if (row.isOverflow && !letterSpacing)
11255
11266
  row.textMode = true;
@@ -11271,7 +11282,7 @@ function layoutChar(drawData, style, width, _height) {
11271
11282
  else {
11272
11283
  charX = toChar(word.data, charX, row.data, row.isOverflow);
11273
11284
  }
11274
- if (!row.paraEnd && addWordWidth) {
11285
+ if (addWordWidth && (!row.paraEnd || textAlign === 'both')) {
11275
11286
  charX += addWordWidth;
11276
11287
  row.width += addWordWidth;
11277
11288
  }
@@ -11682,7 +11693,7 @@ class SelectArea extends Group {
11682
11693
  }
11683
11694
  }
11684
11695
 
11685
- const { No, Yes, NoAndSkip, YesAndSkip } = Answer;
11696
+ const { No, Yes: Yes$1, NoAndSkip: NoAndSkip$1, YesAndSkip: YesAndSkip$1 } = Answer;
11686
11697
  const EditSelectHelper = {
11687
11698
  findOne(path) {
11688
11699
  return path.list.find((leaf) => leaf.editable);
@@ -11691,20 +11702,20 @@ const EditSelectHelper = {
11691
11702
  if (leaf.__.hittable && leaf.__.visible && !leaf.__.locked && bounds.hit(leaf.__world)) {
11692
11703
  if (leaf.__.editable) {
11693
11704
  if (leaf.isBranch && !leaf.__.hitChildren) {
11694
- return leaf.__.hitSelf ? YesAndSkip : NoAndSkip;
11705
+ return leaf.__.hitSelf ? YesAndSkip$1 : NoAndSkip$1;
11695
11706
  }
11696
11707
  else if (leaf.isFrame) {
11697
- return bounds.includes(leaf.__layout.boxBounds, leaf.__world) ? YesAndSkip : No;
11708
+ return bounds.includes(leaf.__layout.boxBounds, leaf.__world) ? YesAndSkip$1 : No;
11698
11709
  }
11699
11710
  else {
11700
11711
  if (bounds.hit(leaf.__layout.boxBounds, leaf.__world) && leaf.__.hitSelf)
11701
- return Yes;
11712
+ return Yes$1;
11702
11713
  }
11703
11714
  }
11704
11715
  return No;
11705
11716
  }
11706
11717
  else {
11707
- return leaf.isBranch ? NoAndSkip : No;
11718
+ return leaf.isBranch ? NoAndSkip$1 : No;
11708
11719
  }
11709
11720
  }
11710
11721
  };
@@ -11868,7 +11879,7 @@ class EditSelect extends Group {
11868
11879
  return target.leafer !== this.editor.leafer;
11869
11880
  }
11870
11881
  allowDrag(e) {
11871
- if (this.running && this.editor.mergeConfig.boxSelect && !e.target.draggable) {
11882
+ if (this.running && (this.editor.mergeConfig.boxSelect && Plugin.has('find')) && !e.target.draggable) {
11872
11883
  return (!this.editor.editing && this.allow(e.target)) || (e.shiftKey && !findOne(e.path));
11873
11884
  }
11874
11885
  else {
@@ -12411,6 +12422,8 @@ class EditBox extends Group {
12411
12422
  const { editor } = this;
12412
12423
  if (editor.single) {
12413
12424
  const { element } = editor;
12425
+ if (element.locked)
12426
+ return;
12414
12427
  if (element.isBranch && !element.editInner) {
12415
12428
  if (element.textBox) {
12416
12429
  const { children } = element;
@@ -13584,7 +13597,153 @@ Box.prototype.__scaleResize = function (scaleX, scaleY) {
13584
13597
 
13585
13598
  Plugin.add('resize');
13586
13599
 
13587
- Plugin.add('editor', 'resize');
13600
+ const { Yes, NoAndSkip, YesAndSkip } = Answer;
13601
+ const idCondition = {}, classNameCondition = {}, tagCondition = {};
13602
+ class Finder {
13603
+ constructor(target) {
13604
+ this.innerIdMap = {};
13605
+ this.idMap = {};
13606
+ this.methods = {
13607
+ id: (leaf, name) => leaf.id === name ? (this.target && (this.idMap[name] = leaf), 1) : 0,
13608
+ innerId: (leaf, innerId) => leaf.innerId === innerId ? (this.target && (this.innerIdMap[innerId] = leaf), 1) : 0,
13609
+ className: (leaf, name) => leaf.className === name ? 1 : 0,
13610
+ tag: (leaf, name) => leaf.__tag === name ? 1 : 0,
13611
+ tags: (leaf, nameMap) => nameMap[leaf.__tag] ? 1 : 0
13612
+ };
13613
+ if (this.target = target)
13614
+ this.__listenEvents();
13615
+ }
13616
+ getBy(condition, branch, one, options) {
13617
+ switch (typeof condition) {
13618
+ case 'number':
13619
+ const leaf = this.getByInnerId(condition, branch);
13620
+ return one ? leaf : (leaf ? [leaf] : []);
13621
+ case 'string':
13622
+ switch (condition[0]) {
13623
+ case '#':
13624
+ idCondition.id = condition.substring(1), condition = idCondition;
13625
+ break;
13626
+ case '.':
13627
+ classNameCondition.className = condition.substring(1), condition = classNameCondition;
13628
+ break;
13629
+ default:
13630
+ tagCondition.tag = condition, condition = tagCondition;
13631
+ }
13632
+ case 'object':
13633
+ if (condition.id !== undefined) {
13634
+ const leaf = this.getById(condition.id, branch);
13635
+ return one ? leaf : (leaf ? [leaf] : []);
13636
+ }
13637
+ else if (condition.tag) {
13638
+ const { tag } = condition, isArray = tag instanceof Array;
13639
+ return this.getByMethod(isArray ? this.methods.tags : this.methods.tag, branch, one, isArray ? DataHelper.toMap(tag) : tag);
13640
+ }
13641
+ else {
13642
+ return this.getByMethod(this.methods.className, branch, one, condition.className);
13643
+ }
13644
+ case 'function':
13645
+ return this.getByMethod(condition, branch, one, options);
13646
+ }
13647
+ }
13648
+ getByInnerId(innerId, branch) {
13649
+ const cache = this.innerIdMap[innerId];
13650
+ if (cache)
13651
+ return cache;
13652
+ this.eachFind(this.toChildren(branch), this.methods.innerId, null, innerId);
13653
+ return this.findLeaf;
13654
+ }
13655
+ getById(id, branch) {
13656
+ const cache = this.idMap[id];
13657
+ if (cache && LeafHelper.hasParent(cache, branch || this.target))
13658
+ return cache;
13659
+ this.eachFind(this.toChildren(branch), this.methods.id, null, id);
13660
+ return this.findLeaf;
13661
+ }
13662
+ getByClassName(className, branch) {
13663
+ return this.getByMethod(this.methods.className, branch, false, className);
13664
+ }
13665
+ getByTag(tag, branch) {
13666
+ return this.getByMethod(this.methods.tag, branch, false, tag);
13667
+ }
13668
+ getByMethod(method, branch, one, options) {
13669
+ const list = one ? null : [];
13670
+ this.eachFind(this.toChildren(branch), method, list, options);
13671
+ return list || this.findLeaf;
13672
+ }
13673
+ eachFind(children, method, list, options) {
13674
+ let child, result;
13675
+ for (let i = 0, len = children.length; i < len; i++) {
13676
+ child = children[i];
13677
+ result = method(child, options);
13678
+ if (result === Yes || result === YesAndSkip) {
13679
+ if (list) {
13680
+ list.push(child);
13681
+ }
13682
+ else {
13683
+ this.findLeaf = child;
13684
+ return;
13685
+ }
13686
+ }
13687
+ if (child.isBranch && result < NoAndSkip)
13688
+ this.eachFind(child.children, method, list, options);
13689
+ }
13690
+ }
13691
+ toChildren(branch) {
13692
+ this.findLeaf = null;
13693
+ return [branch || this.target];
13694
+ }
13695
+ __onRemoveChild(event) {
13696
+ const { id, innerId } = event.child;
13697
+ if (this.idMap[id])
13698
+ delete this.idMap[id];
13699
+ if (this.innerIdMap[innerId])
13700
+ delete this.innerIdMap[innerId];
13701
+ }
13702
+ __checkIdChange(event) {
13703
+ if (event.attrName === 'id') {
13704
+ const id = event.oldValue;
13705
+ if (this.idMap[id])
13706
+ delete this.idMap[id];
13707
+ }
13708
+ }
13709
+ __listenEvents() {
13710
+ this.__eventIds = [
13711
+ this.target.on_(ChildEvent.REMOVE, this.__onRemoveChild, this),
13712
+ this.target.on_(PropertyEvent.CHANGE, this.__checkIdChange, this)
13713
+ ];
13714
+ }
13715
+ __removeListenEvents() {
13716
+ this.target.off_(this.__eventIds);
13717
+ this.__eventIds.length = 0;
13718
+ }
13719
+ destroy() {
13720
+ const { __eventIds } = this;
13721
+ if (__eventIds && __eventIds.length) {
13722
+ this.__removeListenEvents();
13723
+ this.innerIdMap = {};
13724
+ this.idMap = {};
13725
+ }
13726
+ this.findLeaf = null;
13727
+ }
13728
+ }
13729
+
13730
+ const ui$1 = UI.prototype;
13731
+ function getSelector(ui) {
13732
+ return ui.leafer ? ui.leafer.selector : (Platform.selector || (Platform.selector = Creator.selector()));
13733
+ }
13734
+ ui$1.find = function (condition, options) {
13735
+ return getSelector(this).getBy(condition, this, false, options);
13736
+ };
13737
+ ui$1.findOne = function (condition, options) {
13738
+ return getSelector(this).getBy(condition, this, true, options);
13739
+ };
13740
+
13741
+ Plugin.add('find');
13742
+ Creator.finder = function (target) {
13743
+ return new Finder(target);
13744
+ };
13745
+
13746
+ Plugin.add('editor', 'resize', 'find');
13588
13747
  Creator.editor = function (options) { return new Editor(options); };
13589
13748
  dataType(false)(Box.prototype, 'textBox');
13590
13749
  defineKey(UI.prototype, 'editOuter', {
@@ -14612,6 +14771,7 @@ canvas.saveAs = function (filename, quality) {
14612
14771
  });
14613
14772
  };
14614
14773
 
14774
+ Plugin.add('export');
14615
14775
  Object.assign(Export, ExportModule);
14616
14776
  UI.prototype.export = function (filename, options) {
14617
14777
  return Export.export(this, filename, options);
@@ -14639,7 +14799,7 @@ function updateStyle(textDom, text, textScale) {
14639
14799
  style.fontWeight = text.fontWeight;
14640
14800
  style.textDecoration = textDecoration === 'delete' ? 'line-through' : textDecoration;
14641
14801
  style.textTransform = textCaseMap[text.textCase];
14642
- style.textAlign = text.textAlign;
14802
+ style.textAlign = text.textAlign === 'both' ? 'justify' : text.textAlign;
14643
14803
  style.display = 'flex';
14644
14804
  style.flexDirection = 'column';
14645
14805
  style.justifyContent = verticalAlignMap[text.verticalAlign];
@@ -14881,4 +15041,4 @@ HTMLText = __decorate([
14881
15041
 
14882
15042
  Plugin.add('html');
14883
15043
 
14884
- export { AlignHelper, Answer, App, AroundHelper, Arrow, ArrowData, AutoBounds, BezierHelper, Bounds, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragEvent, Dragger, DropEvent, EditBox, EditDataHelper, EditPoint, EditSelect, EditSelectHelper, EditTool, EditToolCreator, Editor, EditorEvent, EditorGroupEvent, EditorHelper, EditorMoveEvent, EditorRotateEvent, EditorScaleEvent, EditorSkewEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Frame, FrameData, Group, GroupData, HTMLText, HTMLTextData, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InnerEditor, InnerEditorEvent, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, LeaferTypeCreator, Line, LineData, LineEditTool, MathHelper, Matrix, MatrixHelper, MoveEvent, MultiTouchHelper, MyDragEvent, MyImage, MyPointerEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathArrowModule, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathMatrixHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, RotateEvent, Run, ScrollBar, SelectArea, Selector, Star, StarData, State, StringNumberMap, Stroker, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, TextEditor, Transformer, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, WheelEventHelper, ZoomEvent, addViewport, addViewportConfig, affectRenderBoundsType, affectStrokeBoundsType, arrowType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, doBoundsType, doStrokeType, effectType, emptyData, eraserType, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isNull, layoutProcessor, maskType, naturalBoundsType, opacityType, pathInputType, pathType, pen, positionType, registerEditTool, registerInnerEditor, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, sortType, strokeType, surfaceType, tempBounds$1 as tempBounds, tempMatrix, tempPoint$3 as tempPoint, useCanvas, useModule, version, visibleType, zoomLayerType };
15044
+ export { AlignHelper, Answer, App, AroundHelper, Arrow, ArrowData, AutoBounds, BezierHelper, Bounds, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragEvent, Dragger, DropEvent, EditBox, EditDataHelper, EditPoint, EditSelect, EditSelectHelper, EditTool, EditToolCreator, Editor, EditorEvent, EditorGroupEvent, EditorHelper, EditorMoveEvent, EditorRotateEvent, EditorScaleEvent, EditorSkewEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Finder, Frame, FrameData, Group, GroupData, HTMLText, HTMLTextData, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InnerEditor, InnerEditorEvent, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, LeaferTypeCreator, Line, LineData, LineEditTool, MathHelper, Matrix, MatrixHelper, MoveEvent, MultiTouchHelper, MyDragEvent, MyImage, MyPointerEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathArrowModule, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathMatrixHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, RotateEvent, Run, ScrollBar, SelectArea, Selector, Star, StarData, State, StringNumberMap, Stroker, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, TextEditor, Transformer, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, WheelEventHelper, ZoomEvent, addViewport, addViewportConfig, affectRenderBoundsType, affectStrokeBoundsType, arrowType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, doBoundsType, doStrokeType, effectType, emptyData, eraserType, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isNull, layoutProcessor, maskType, naturalBoundsType, opacityType, pathInputType, pathType, pen, positionType, registerEditTool, registerInnerEditor, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, sortType, strokeType, surfaceType, tempBounds$1 as tempBounds, tempMatrix, tempPoint$3 as tempPoint, useCanvas, useModule, version, visibleType, zoomLayerType };