@leafer-game/miniapp 2.2.4 → 2.2.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"miniapp.esm.min.js","sources":["../../../../../../../src/leafer/packages/interface/src/path/IPathCommand.ts"],"sourcesContent":["import { IPointData } from '../math/IMath'\nimport { IWindingRule } from '../canvas/ICanvas'\n\ntype Command = number\ntype x = number\ntype y = number\ntype x1 = number\ntype y1 = number\ntype x2 = number\ntype y2 = number\ntype radiusX = number\ntype radiusY = number\ntype xAxisRotation = number\ntype largeArcFlag = number\ntype sweepFlag = number\n\n\nexport type MCommandData = [Command, x, y]\nexport type HCommandData = [Command, x]\nexport type VCommandData = [Command, y]\nexport type LCommandData = MCommandData\n\nexport type CCommandData = [Command, x1, y1, x2, y2, x, y]\nexport type SCommandData = [Command, x2, y2, x, y]\n\nexport type QCommandData = [Command, x1, y1, x, y]\nexport type TCommandData = [Command, x, y]\n\nexport type ZCommandData = [Command]\n\nexport type ACommandData = [Command, radiusX, radiusY, xAxisRotation, largeArcFlag, sweepFlag, x, y]\n\n\n// 非svg标准的canvas绘图命令\ntype width = number\ntype height = number\ntype rotation = number\ntype startAngle = number\ntype endAngle = number\ntype anticlockwise = boolean\ntype cornerRadius = number | number[]\ntype radius = number\n\nexport type RectCommandData = [Command, x, y, width, height]\nexport type RoundRectCommandData = [Command, x, y, width, height, cornerRadius]\nexport type EllipseCommandData = [Command, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise]\nexport type ArcCommandData = [Command, x, y, radius, startAngle, endAngle, anticlockwise]\nexport type ArcToCommandData = [Command, x1, y1, x2, y2, radius]\n\n\nexport type CanvasPathCommand = 1 | 2 | 5 | 7 | 11 // M | L | C | Q | Z canvas可以绘制的命令\n\nexport type IPathCommandData = number[] // ...(MCommandData | LCommandData | CCommandData | QCommandData | ZCommandData)\n\nexport interface IPathCommandDataWithRadius {\n data: IPathCommandData\n radius: number[]\n}\n\nexport interface IPathCommandDataWithWindingRule {\n data: IPathCommandData\n windingRule?: IWindingRule\n}\n\n// 路径命令对象\nexport interface MoveToCommandObject {\n name: 'M'\n x: number\n y: number\n pressure?: number // 压感\n}\nexport interface LineToCommandObject {\n name: 'L'\n x: number\n y: number\n pressure?: number\n}\n\nexport interface BezierCurveToCommandObject {\n name: 'C'\n x1: number\n y1: number\n x2: number\n y2: number\n x: number\n y: number\n pressure?: number\n}\n\nexport interface QuadraticCurveToCommandObject {\n name: 'Q'\n x1: number\n y1: number\n x: number\n y: number\n pressure?: number\n}\n\nexport interface ClosePathCommandObject {\n name: 'Z'\n}\n\nexport type IPathCommandObject = MoveToCommandObject | LineToCommandObject | BezierCurveToCommandObject | QuadraticCurveToCommandObject | ClosePathCommandObject // M | L | C | Q | Z canvas可以绘制的命令\n\n\n// 可视化路径节点\n\nexport interface IPathCommandNodeBase {\n name: 'M^' | 'L^' | 'C^' | 'Z^'\n x: number\n y: number\n r?: number // 圆角半径\n a?: IPointData // 第一个手柄,连接上一个节点\n b?: IPointData // 第二个手柄,连接下一个节点\n ab?: PathNodeHandleType // 手柄类型\n pressure?: number // 压感\n}\n\nexport interface MoveToCommandNode extends IPathCommandNodeBase {\n name: 'M^'\n}\nexport interface LineToCommandNode extends IPathCommandNodeBase {\n name: 'L^'\n}\n\nexport interface BezierCurveToCommandNode extends IPathCommandNodeBase {\n name: 'C^'\n}\n\nexport interface ClosePathCommandNode {\n name: 'Z^'\n x?: number\n y?: number\n r?: number // 圆角半径\n a?: IPointData\n b?: IPointData\n ab?: PathNodeHandleType\n}\n\nexport type IPathCommandNode = MoveToCommandNode | LineToCommandNode | BezierCurveToCommandNode | ClosePathCommandNode // M | L | C | Z 路径节点命令(适合可视化编辑)\n\nexport enum PathNodeHandleType { // 手柄类型\n none = 1, // 无手柄\n free = 2, // 每个手柄自由控制\n mirrorAngle = 3, // 仅镜像角度\n mirror = 4, // 镜像角度和长度\n}\n\nexport type PathNodeHandleName = 'a' | 'b' // 手柄名称\n\nexport interface IPathNodeBase {\n pathNode: IPathCommandNode\n}"],"names":["PathNodeHandleType"],"mappings":"iMA6IYA,GAAZ,SAAYA,GACRA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,OAAA,GAAA,QACH,CALD,CAAYA,IAAAA,EAAkB,CAAA"}
1
+ {"version":3,"file":"miniapp.esm.min.js","sources":["../../../../../../../src/leafer/packages/interface/src/path/IPathCommand.ts"],"sourcesContent":["import { IPointData } from '../math/IMath'\nimport { IWindingRule } from '../canvas/ICanvas'\nimport { IObject } from '../data/IData'\n\ntype Command = number\ntype x = number\ntype y = number\ntype x1 = number\ntype y1 = number\ntype x2 = number\ntype y2 = number\ntype radiusX = number\ntype radiusY = number\ntype xAxisRotation = number\ntype largeArcFlag = number\ntype sweepFlag = number\n\n\nexport type MCommandData = [Command, x, y]\nexport type HCommandData = [Command, x]\nexport type VCommandData = [Command, y]\nexport type LCommandData = MCommandData\n\nexport type CCommandData = [Command, x1, y1, x2, y2, x, y]\nexport type SCommandData = [Command, x2, y2, x, y]\n\nexport type QCommandData = [Command, x1, y1, x, y]\nexport type TCommandData = [Command, x, y]\n\nexport type ZCommandData = [Command]\n\nexport type ACommandData = [Command, radiusX, radiusY, xAxisRotation, largeArcFlag, sweepFlag, x, y]\n\n\n// 非svg标准的canvas绘图命令\ntype width = number\ntype height = number\ntype rotation = number\ntype startAngle = number\ntype endAngle = number\ntype anticlockwise = boolean\ntype cornerRadius = number | number[]\ntype radius = number\n\nexport type RectCommandData = [Command, x, y, width, height]\nexport type RoundRectCommandData = [Command, x, y, width, height, cornerRadius]\nexport type EllipseCommandData = [Command, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise]\nexport type ArcCommandData = [Command, x, y, radius, startAngle, endAngle, anticlockwise]\nexport type ArcToCommandData = [Command, x1, y1, x2, y2, radius]\n\n\nexport type CanvasPathCommand = 1 | 2 | 5 | 7 | 11 // M | L | C | Q | Z canvas可以绘制的命令\n\nexport type IPathCommandData = number[] // ...(MCommandData | LCommandData | CCommandData | QCommandData | ZCommandData)\n\nexport interface IPathCommandDataWithRadius {\n data: IPathCommandData\n radius: number[]\n}\n\nexport interface IPathCommandDataWithWindingRule {\n data: IPathCommandData\n windingRule?: IWindingRule\n}\n\n// 路径命令对象\nexport interface MoveToCommandObject {\n name: 'M'\n x: number\n y: number\n pressure?: number // 压感\n}\nexport interface LineToCommandObject {\n name: 'L'\n x: number\n y: number\n pressure?: number\n}\n\nexport interface BezierCurveToCommandObject {\n name: 'C'\n x1: number\n y1: number\n x2: number\n y2: number\n x: number\n y: number\n pressure?: number\n}\n\nexport interface QuadraticCurveToCommandObject {\n name: 'Q'\n x1: number\n y1: number\n x: number\n y: number\n pressure?: number\n}\n\nexport interface ClosePathCommandObject {\n name: 'Z'\n}\n\nexport type IPathCommandObject = MoveToCommandObject | LineToCommandObject | BezierCurveToCommandObject | QuadraticCurveToCommandObject | ClosePathCommandObject // M | L | C | Q | Z canvas可以绘制的命令\n\n\n// 可视化路径节点\n\nexport interface IPathCommandNodeBase {\n name: 'M^' | 'L^' | 'C^' | 'Z^'\n x: number\n y: number\n r?: number // 圆角半径\n a?: IPointData // 第一个手柄,连接上一个节点\n b?: IPointData // 第二个手柄,连接下一个节点\n ab?: PathNodeHandleType // 手柄类型\n pressure?: number // 压感\n}\n\nexport interface MoveToCommandNode extends IPathCommandNodeBase {\n name: 'M^'\n}\nexport interface LineToCommandNode extends IPathCommandNodeBase {\n name: 'L^'\n}\n\nexport interface BezierCurveToCommandNode extends IPathCommandNodeBase {\n name: 'C^'\n}\n\nexport interface ClosePathCommandNode {\n name: 'Z^'\n x?: number\n y?: number\n r?: number // 圆角半径\n a?: IPointData\n b?: IPointData\n ab?: PathNodeHandleType\n}\n\nexport type IPathCommandNode = MoveToCommandNode | LineToCommandNode | BezierCurveToCommandNode | ClosePathCommandNode // M | L | C | Z 路径节点命令(适合可视化编辑)\n\nexport enum PathNodeHandleType { // 手柄类型\n none = 1, // 无手柄\n free = 2, // 每个手柄自由控制\n mirrorAngle = 3, // 仅镜像角度\n mirror = 4, // 镜像角度和长度\n}\n\nexport type PathNodeHandleName = 'a' | 'b' // 手柄名称\n\nexport interface IPathNodeBase {\n pathNode: IPathCommandNode\n}\n\n// points 转曲线\nexport type IPointsCurveType =\n | 'Q' // 使用二次贝塞尔曲线平滑 points\n | 'C' // 使用三次贝塞尔曲线平滑 points\n | (string & {})\n\nexport type IPointsCurveValue = boolean | number\n\nexport interface IPointsCurveData {\n type: IPointsCurveType\n value: IPointsCurveValue\n}\n\nexport type IPointsCurve = IPointsCurveData | IPointsCurveValue\n\nexport interface IPointsCurveFunction {\n (data: IPathCommandData, originPoints: number[] | IPointData[], curve?: boolean | number, close?: boolean, options?: IObject): void\n}\n\nexport interface IPointsCurveFunctionMap {\n [name: string]: IPointsCurveFunction\n}"],"names":["PathNodeHandleType"],"mappings":"iMA8IYA,GAAZ,SAAYA,GACRA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,OAAA,GAAA,QACH,CALD,CAAYA,IAAAA,EAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"miniapp.min.cjs","sources":["../../../../../../../src/leafer/packages/interface/src/path/IPathCommand.ts"],"sourcesContent":["import { IPointData } from '../math/IMath'\nimport { IWindingRule } from '../canvas/ICanvas'\n\ntype Command = number\ntype x = number\ntype y = number\ntype x1 = number\ntype y1 = number\ntype x2 = number\ntype y2 = number\ntype radiusX = number\ntype radiusY = number\ntype xAxisRotation = number\ntype largeArcFlag = number\ntype sweepFlag = number\n\n\nexport type MCommandData = [Command, x, y]\nexport type HCommandData = [Command, x]\nexport type VCommandData = [Command, y]\nexport type LCommandData = MCommandData\n\nexport type CCommandData = [Command, x1, y1, x2, y2, x, y]\nexport type SCommandData = [Command, x2, y2, x, y]\n\nexport type QCommandData = [Command, x1, y1, x, y]\nexport type TCommandData = [Command, x, y]\n\nexport type ZCommandData = [Command]\n\nexport type ACommandData = [Command, radiusX, radiusY, xAxisRotation, largeArcFlag, sweepFlag, x, y]\n\n\n// 非svg标准的canvas绘图命令\ntype width = number\ntype height = number\ntype rotation = number\ntype startAngle = number\ntype endAngle = number\ntype anticlockwise = boolean\ntype cornerRadius = number | number[]\ntype radius = number\n\nexport type RectCommandData = [Command, x, y, width, height]\nexport type RoundRectCommandData = [Command, x, y, width, height, cornerRadius]\nexport type EllipseCommandData = [Command, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise]\nexport type ArcCommandData = [Command, x, y, radius, startAngle, endAngle, anticlockwise]\nexport type ArcToCommandData = [Command, x1, y1, x2, y2, radius]\n\n\nexport type CanvasPathCommand = 1 | 2 | 5 | 7 | 11 // M | L | C | Q | Z canvas可以绘制的命令\n\nexport type IPathCommandData = number[] // ...(MCommandData | LCommandData | CCommandData | QCommandData | ZCommandData)\n\nexport interface IPathCommandDataWithRadius {\n data: IPathCommandData\n radius: number[]\n}\n\nexport interface IPathCommandDataWithWindingRule {\n data: IPathCommandData\n windingRule?: IWindingRule\n}\n\n// 路径命令对象\nexport interface MoveToCommandObject {\n name: 'M'\n x: number\n y: number\n pressure?: number // 压感\n}\nexport interface LineToCommandObject {\n name: 'L'\n x: number\n y: number\n pressure?: number\n}\n\nexport interface BezierCurveToCommandObject {\n name: 'C'\n x1: number\n y1: number\n x2: number\n y2: number\n x: number\n y: number\n pressure?: number\n}\n\nexport interface QuadraticCurveToCommandObject {\n name: 'Q'\n x1: number\n y1: number\n x: number\n y: number\n pressure?: number\n}\n\nexport interface ClosePathCommandObject {\n name: 'Z'\n}\n\nexport type IPathCommandObject = MoveToCommandObject | LineToCommandObject | BezierCurveToCommandObject | QuadraticCurveToCommandObject | ClosePathCommandObject // M | L | C | Q | Z canvas可以绘制的命令\n\n\n// 可视化路径节点\n\nexport interface IPathCommandNodeBase {\n name: 'M^' | 'L^' | 'C^' | 'Z^'\n x: number\n y: number\n r?: number // 圆角半径\n a?: IPointData // 第一个手柄,连接上一个节点\n b?: IPointData // 第二个手柄,连接下一个节点\n ab?: PathNodeHandleType // 手柄类型\n pressure?: number // 压感\n}\n\nexport interface MoveToCommandNode extends IPathCommandNodeBase {\n name: 'M^'\n}\nexport interface LineToCommandNode extends IPathCommandNodeBase {\n name: 'L^'\n}\n\nexport interface BezierCurveToCommandNode extends IPathCommandNodeBase {\n name: 'C^'\n}\n\nexport interface ClosePathCommandNode {\n name: 'Z^'\n x?: number\n y?: number\n r?: number // 圆角半径\n a?: IPointData\n b?: IPointData\n ab?: PathNodeHandleType\n}\n\nexport type IPathCommandNode = MoveToCommandNode | LineToCommandNode | BezierCurveToCommandNode | ClosePathCommandNode // M | L | C | Z 路径节点命令(适合可视化编辑)\n\nexport enum PathNodeHandleType { // 手柄类型\n none = 1, // 无手柄\n free = 2, // 每个手柄自由控制\n mirrorAngle = 3, // 仅镜像角度\n mirror = 4, // 镜像角度和长度\n}\n\nexport type PathNodeHandleName = 'a' | 'b' // 手柄名称\n\nexport interface IPathNodeBase {\n pathNode: IPathCommandNode\n}"],"names":["PathNodeHandleType"],"mappings":"iBA6IYA,+LAAAA,QAAAA,wBAAAA,GAAAA,EAAAA,QAAAA,qBAAAA,2BAAkB,CAAA,IAC1BA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,OAAA,GAAA"}
1
+ {"version":3,"file":"miniapp.min.cjs","sources":["../../../../../../../src/leafer/packages/interface/src/path/IPathCommand.ts"],"sourcesContent":["import { IPointData } from '../math/IMath'\nimport { IWindingRule } from '../canvas/ICanvas'\nimport { IObject } from '../data/IData'\n\ntype Command = number\ntype x = number\ntype y = number\ntype x1 = number\ntype y1 = number\ntype x2 = number\ntype y2 = number\ntype radiusX = number\ntype radiusY = number\ntype xAxisRotation = number\ntype largeArcFlag = number\ntype sweepFlag = number\n\n\nexport type MCommandData = [Command, x, y]\nexport type HCommandData = [Command, x]\nexport type VCommandData = [Command, y]\nexport type LCommandData = MCommandData\n\nexport type CCommandData = [Command, x1, y1, x2, y2, x, y]\nexport type SCommandData = [Command, x2, y2, x, y]\n\nexport type QCommandData = [Command, x1, y1, x, y]\nexport type TCommandData = [Command, x, y]\n\nexport type ZCommandData = [Command]\n\nexport type ACommandData = [Command, radiusX, radiusY, xAxisRotation, largeArcFlag, sweepFlag, x, y]\n\n\n// 非svg标准的canvas绘图命令\ntype width = number\ntype height = number\ntype rotation = number\ntype startAngle = number\ntype endAngle = number\ntype anticlockwise = boolean\ntype cornerRadius = number | number[]\ntype radius = number\n\nexport type RectCommandData = [Command, x, y, width, height]\nexport type RoundRectCommandData = [Command, x, y, width, height, cornerRadius]\nexport type EllipseCommandData = [Command, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise]\nexport type ArcCommandData = [Command, x, y, radius, startAngle, endAngle, anticlockwise]\nexport type ArcToCommandData = [Command, x1, y1, x2, y2, radius]\n\n\nexport type CanvasPathCommand = 1 | 2 | 5 | 7 | 11 // M | L | C | Q | Z canvas可以绘制的命令\n\nexport type IPathCommandData = number[] // ...(MCommandData | LCommandData | CCommandData | QCommandData | ZCommandData)\n\nexport interface IPathCommandDataWithRadius {\n data: IPathCommandData\n radius: number[]\n}\n\nexport interface IPathCommandDataWithWindingRule {\n data: IPathCommandData\n windingRule?: IWindingRule\n}\n\n// 路径命令对象\nexport interface MoveToCommandObject {\n name: 'M'\n x: number\n y: number\n pressure?: number // 压感\n}\nexport interface LineToCommandObject {\n name: 'L'\n x: number\n y: number\n pressure?: number\n}\n\nexport interface BezierCurveToCommandObject {\n name: 'C'\n x1: number\n y1: number\n x2: number\n y2: number\n x: number\n y: number\n pressure?: number\n}\n\nexport interface QuadraticCurveToCommandObject {\n name: 'Q'\n x1: number\n y1: number\n x: number\n y: number\n pressure?: number\n}\n\nexport interface ClosePathCommandObject {\n name: 'Z'\n}\n\nexport type IPathCommandObject = MoveToCommandObject | LineToCommandObject | BezierCurveToCommandObject | QuadraticCurveToCommandObject | ClosePathCommandObject // M | L | C | Q | Z canvas可以绘制的命令\n\n\n// 可视化路径节点\n\nexport interface IPathCommandNodeBase {\n name: 'M^' | 'L^' | 'C^' | 'Z^'\n x: number\n y: number\n r?: number // 圆角半径\n a?: IPointData // 第一个手柄,连接上一个节点\n b?: IPointData // 第二个手柄,连接下一个节点\n ab?: PathNodeHandleType // 手柄类型\n pressure?: number // 压感\n}\n\nexport interface MoveToCommandNode extends IPathCommandNodeBase {\n name: 'M^'\n}\nexport interface LineToCommandNode extends IPathCommandNodeBase {\n name: 'L^'\n}\n\nexport interface BezierCurveToCommandNode extends IPathCommandNodeBase {\n name: 'C^'\n}\n\nexport interface ClosePathCommandNode {\n name: 'Z^'\n x?: number\n y?: number\n r?: number // 圆角半径\n a?: IPointData\n b?: IPointData\n ab?: PathNodeHandleType\n}\n\nexport type IPathCommandNode = MoveToCommandNode | LineToCommandNode | BezierCurveToCommandNode | ClosePathCommandNode // M | L | C | Z 路径节点命令(适合可视化编辑)\n\nexport enum PathNodeHandleType { // 手柄类型\n none = 1, // 无手柄\n free = 2, // 每个手柄自由控制\n mirrorAngle = 3, // 仅镜像角度\n mirror = 4, // 镜像角度和长度\n}\n\nexport type PathNodeHandleName = 'a' | 'b' // 手柄名称\n\nexport interface IPathNodeBase {\n pathNode: IPathCommandNode\n}\n\n// points 转曲线\nexport type IPointsCurveType =\n | 'Q' // 使用二次贝塞尔曲线平滑 points\n | 'C' // 使用三次贝塞尔曲线平滑 points\n | (string & {})\n\nexport type IPointsCurveValue = boolean | number\n\nexport interface IPointsCurveData {\n type: IPointsCurveType\n value: IPointsCurveValue\n}\n\nexport type IPointsCurve = IPointsCurveData | IPointsCurveValue\n\nexport interface IPointsCurveFunction {\n (data: IPathCommandData, originPoints: number[] | IPointData[], curve?: boolean | number, close?: boolean, options?: IObject): void\n}\n\nexport interface IPointsCurveFunctionMap {\n [name: string]: IPointsCurveFunction\n}"],"names":["PathNodeHandleType"],"mappings":"iBA8IYA,+LAAAA,QAAAA,wBAAAA,GAAAA,EAAAA,QAAAA,qBAAAA,2BAAkB,CAAA,IAC1BA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,OAAA,GAAA"}
@@ -433,7 +433,7 @@ const {sin: sin$6, cos: cos$6, acos: acos, sqrt: sqrt$5} = Math;
433
433
 
434
434
  const {float: float$5} = MathHelper;
435
435
 
436
- const tempPoint$6 = {};
436
+ const tempPoint$7 = {};
437
437
 
438
438
  function getWorld() {
439
439
  return Object.assign(Object.assign(Object.assign({}, getMatrixData()), getBoundsData()), {
@@ -492,8 +492,8 @@ const MatrixHelper = {
492
492
  to.f = t.f * pixelRatio;
493
493
  },
494
494
  scaleOfOuter(t, origin, scaleX, scaleY) {
495
- M$7.toInnerPoint(t, origin, tempPoint$6);
496
- M$7.scaleOfInner(t, tempPoint$6, scaleX, scaleY);
495
+ M$7.toInnerPoint(t, origin, tempPoint$7);
496
+ M$7.scaleOfInner(t, tempPoint$7, scaleX, scaleY);
497
497
  },
498
498
  scaleOfInner(t, origin, scaleX, scaleY = scaleX) {
499
499
  M$7.translateInner(t, origin.x, origin.y);
@@ -511,8 +511,8 @@ const MatrixHelper = {
511
511
  t.d = c * sinR + d * cosR;
512
512
  },
513
513
  rotateOfOuter(t, origin, rotation) {
514
- M$7.toInnerPoint(t, origin, tempPoint$6);
515
- M$7.rotateOfInner(t, tempPoint$6, rotation);
514
+ M$7.toInnerPoint(t, origin, tempPoint$7);
515
+ M$7.rotateOfInner(t, tempPoint$7, rotation);
516
516
  },
517
517
  rotateOfInner(t, origin, rotation) {
518
518
  M$7.translateInner(t, origin.x, origin.y);
@@ -533,8 +533,8 @@ const MatrixHelper = {
533
533
  }
534
534
  },
535
535
  skewOfOuter(t, origin, skewX, skewY) {
536
- M$7.toInnerPoint(t, origin, tempPoint$6);
537
- M$7.skewOfInner(t, tempPoint$6, skewX, skewY);
536
+ M$7.toInnerPoint(t, origin, tempPoint$7);
537
+ M$7.skewOfInner(t, tempPoint$7, skewX, skewY);
538
538
  },
539
539
  skewOfInner(t, origin, skewX, skewY = 0) {
540
540
  M$7.translateInner(t, origin.x, origin.y);
@@ -961,7 +961,7 @@ class Point {
961
961
  }
962
962
  }
963
963
 
964
- const tempPoint$5 = new Point;
964
+ const tempPoint$6 = new Point;
965
965
 
966
966
  class Matrix {
967
967
  constructor(a, b, c, d, e, f) {
@@ -1865,7 +1865,7 @@ function getNameList(name) {
1865
1865
 
1866
1866
  const D$5 = Debug;
1867
1867
 
1868
- const debug$f = Debug.get("RunTime");
1868
+ const debug$g = Debug.get("RunTime");
1869
1869
 
1870
1870
  const Run = {
1871
1871
  currentId: 0,
@@ -1884,7 +1884,7 @@ const Run = {
1884
1884
  const time = R$1.idMap[id], name = R$1.nameMap[id];
1885
1885
  const duration = microsecond ? (performance.now() - time) / 1e3 : Date.now() - time;
1886
1886
  R$1.idMap[id] = R$1.nameMap[id] = R$1.nameToIdMap[name] = undefined;
1887
- debug$f.log(name, duration, "ms");
1887
+ debug$g.log(name, duration, "ms");
1888
1888
  },
1889
1889
  endOfName(name, microsecond) {
1890
1890
  const id = R$1.nameToIdMap[name];
@@ -1920,18 +1920,18 @@ const Creator = {
1920
1920
  }
1921
1921
  };
1922
1922
 
1923
- const debug$e = Debug.get("UICreator");
1923
+ const debug$f = Debug.get("UICreator");
1924
1924
 
1925
1925
  const UICreator = {
1926
1926
  list: {},
1927
1927
  register(UI) {
1928
1928
  const {__tag: tag} = UI.prototype;
1929
- if (list$1[tag]) debug$e.repeat(tag);
1929
+ if (list$1[tag]) debug$f.repeat(tag);
1930
1930
  list$1[tag] = UI;
1931
1931
  },
1932
1932
  get(tag, data, x, y, width, height) {
1933
1933
  if (!list$1[tag]) {
1934
- debug$e.warn("not register " + tag);
1934
+ debug$f.warn("not register " + tag);
1935
1935
  return undefined;
1936
1936
  }
1937
1937
  const ui = new list$1[tag](data);
@@ -1947,7 +1947,7 @@ const UICreator = {
1947
1947
 
1948
1948
  const {list: list$1} = UICreator;
1949
1949
 
1950
- const debug$d = Debug.get("EventCreator");
1950
+ const debug$e = Debug.get("EventCreator");
1951
1951
 
1952
1952
  const EventCreator = {
1953
1953
  nameList: {},
@@ -1955,7 +1955,7 @@ const EventCreator = {
1955
1955
  let name;
1956
1956
  Object.keys(Event).forEach(key => {
1957
1957
  name = Event[key];
1958
- if (isString(name)) nameList[name] && debug$d.repeat(name), nameList[name] = Event;
1958
+ if (isString(name)) nameList[name] && debug$e.repeat(name), nameList[name] = Event;
1959
1959
  });
1960
1960
  },
1961
1961
  changeName(oldName, newName) {
@@ -2715,7 +2715,7 @@ const {set: set$3, toNumberPoints: toNumberPoints} = PointHelper;
2715
2715
 
2716
2716
  const {M: M$6, L: L$7, C: C$5, Q: Q$4, Z: Z$6} = PathCommandMap;
2717
2717
 
2718
- const tempPoint$4 = {};
2718
+ const tempPoint$5 = {};
2719
2719
 
2720
2720
  const BezierHelper = {
2721
2721
  points(data, originPoints, curve, close) {
@@ -2889,8 +2889,8 @@ const BezierHelper = {
2889
2889
  addMode ? addPoint$1(pointBounds, fromX, fromY) : setPoint$1(pointBounds, fromX, fromY);
2890
2890
  addPoint$1(pointBounds, toX, toY);
2891
2891
  for (let i = 0, len = tList.length; i < len; i++) {
2892
- getPointAndSet(tList[i], fromX, fromY, x1, y1, x2, y2, toX, toY, tempPoint$4);
2893
- addPoint$1(pointBounds, tempPoint$4.x, tempPoint$4.y);
2892
+ getPointAndSet(tList[i], fromX, fromY, x1, y1, x2, y2, toX, toY, tempPoint$5);
2893
+ addPoint$1(pointBounds, tempPoint$5.x, tempPoint$5.y);
2894
2894
  }
2895
2895
  },
2896
2896
  getPointAndSet(t, fromX, fromY, x1, y1, x2, y2, toX, toY, setPoint) {
@@ -3003,7 +3003,7 @@ const {rect: rect$3, roundRect: roundRect$2, arcTo: arcTo$3, arc: arc$3, ellipse
3003
3003
 
3004
3004
  const {ellipticalArc: ellipticalArc} = EllipseHelper;
3005
3005
 
3006
- const debug$c = Debug.get("PathConvert");
3006
+ const debug$d = Debug.get("PathConvert");
3007
3007
 
3008
3008
  const setEndPoint$1 = {};
3009
3009
 
@@ -3270,7 +3270,7 @@ const PathConvert = {
3270
3270
  break;
3271
3271
 
3272
3272
  default:
3273
- debug$c.error(`command: ${command} [index:${i}]`, old);
3273
+ debug$d.error(`command: ${command} [index:${i}]`, old);
3274
3274
  return data;
3275
3275
  }
3276
3276
  lastCommand = command;
@@ -3333,7 +3333,10 @@ const {tan: tan, min: min$1, abs: abs$5} = Math;
3333
3333
 
3334
3334
  const startPoint = {};
3335
3335
 
3336
+ const debug$c = Debug.get("PointsCurve");
3337
+
3336
3338
  const PathCommandDataHelper = {
3339
+ pointsCurveList: {},
3337
3340
  beginPath(data) {
3338
3341
  data.length = 0;
3339
3342
  },
@@ -3403,12 +3406,22 @@ const PathCommandDataHelper = {
3403
3406
  data.push(M$4, startPoint.x, startPoint.y);
3404
3407
  arc$2(data, x, y, radius, startAngle, endAngle, anticlockwise);
3405
3408
  },
3406
- drawPoints(data, points, curve, close) {
3407
- BezierHelper.points(data, points, curve, close);
3409
+ drawPoints(data, points, curve, close, options) {
3410
+ let type = "Q";
3411
+ if (isObject(curve)) type = curve.type, curve = curve.value;
3412
+ if (!pointsCurveList[type]) debug$c.warn("not found:", type), type = "Q";
3413
+ pointsCurveList[type](data, points, curve, close, options);
3408
3414
  }
3409
3415
  };
3410
3416
 
3411
- const {ellipse: ellipse$3, arc: arc$2} = PathCommandDataHelper;
3417
+ const {ellipse: ellipse$3, arc: arc$2, pointsCurveList: pointsCurveList} = PathCommandDataHelper;
3418
+
3419
+ function registerPointsCurve(type, fn) {
3420
+ if (pointsCurveList[type]) debug$c.repeat(type);
3421
+ pointsCurveList[type] = fn;
3422
+ }
3423
+
3424
+ registerPointsCurve("Q", BezierHelper.points);
3412
3425
 
3413
3426
  const {moveTo: moveTo$4, lineTo: lineTo$3, quadraticCurveTo: quadraticCurveTo, bezierCurveTo: bezierCurveTo, closePath: closePath$3, beginPath: beginPath, rect: rect$2, roundRect: roundRect$1, ellipse: ellipse$2, arc: arc$1, arcTo: arcTo$2, drawEllipse: drawEllipse, drawArc: drawArc, drawPoints: drawPoints$2} = PathCommandDataHelper;
3414
3427
 
@@ -4773,7 +4786,7 @@ function useModule(module, exclude) {
4773
4786
  if (!excludeNames.includes(name) && (!exclude || !exclude.includes(name))) {
4774
4787
  if (module.prototype) {
4775
4788
  const d = getDescriptor(module.prototype, name);
4776
- if (d.writable) target.prototype[name] = module.prototype[name];
4789
+ if (d) Object.defineProperty(target.prototype, name, d);
4777
4790
  } else {
4778
4791
  target.prototype[name] = module[name];
4779
4792
  }
@@ -6054,7 +6067,7 @@ const LeafDataProxy = {
6054
6067
 
6055
6068
  const {setLayout: setLayout, multiplyParent: multiplyParent$2, translateInner: translateInner, defaultWorld: defaultWorld} = MatrixHelper;
6056
6069
 
6057
- const {toPoint: toPoint$3, tempPoint: tempPoint$3} = AroundHelper;
6070
+ const {toPoint: toPoint$3, tempPoint: tempPoint$4} = AroundHelper;
6058
6071
 
6059
6072
  const LeafMatrix = {
6060
6073
  __updateWorldMatrix() {
@@ -6075,8 +6088,8 @@ const LeafMatrix = {
6075
6088
  local.e = data.x + data.offsetX;
6076
6089
  local.f = data.y + data.offsetY;
6077
6090
  if (data.around || data.origin) {
6078
- toPoint$3(data.around || data.origin, layout.boxBounds, tempPoint$3);
6079
- translateInner(local, -tempPoint$3.x, -tempPoint$3.y, !data.around);
6091
+ toPoint$3(data.around || data.origin, layout.boxBounds, tempPoint$4);
6092
+ translateInner(local, -tempPoint$4.x, -tempPoint$4.y, !data.around);
6080
6093
  }
6081
6094
  }
6082
6095
  this.__layout.matrixChanged = undefined;
@@ -7023,7 +7036,7 @@ class LeafLevelList {
7023
7036
  }
7024
7037
  }
7025
7038
 
7026
- const version = "2.2.4";
7039
+ const version = "2.2.6";
7027
7040
 
7028
7041
  class LeaferCanvas extends LeaferCanvasBase {
7029
7042
  get allowBackgroundColor() {
@@ -7842,7 +7855,7 @@ class Renderer {
7842
7855
 
7843
7856
  Renderer.clipSpread = 10;
7844
7857
 
7845
- const tempPoint$2 = {};
7858
+ const tempPoint$3 = {};
7846
7859
 
7847
7860
  const {copyRadiusPoint: copyRadiusPoint$1} = PointHelper;
7848
7861
 
@@ -7977,7 +7990,7 @@ class Picker {
7977
7990
  for (let i = len - 1; i > -1; i--) {
7978
7991
  child = children[i], data = child.__;
7979
7992
  if (!data.visible || onlyHitMask && !data.mask) continue;
7980
- hit = hitRadiusPoint$1(child.__world, data.hitRadius ? copyRadiusPoint$1(tempPoint$2, point, data.hitRadius) : point);
7993
+ hit = hitRadiusPoint$1(child.__world, data.hitRadius ? copyRadiusPoint$1(tempPoint$3, point, data.hitRadius) : point);
7981
7994
  if (child.isBranch) {
7982
7995
  if (hit || child.__ignoreHitWorld) {
7983
7996
  if (child.isBranchLeaf && data.__clipAfterFill && !child.__hitWorld(point, true)) continue;
@@ -7995,7 +8008,7 @@ class Picker {
7995
8008
  if (child.__hitWorld(point, onlyHitMask && child.mask === "path" ? true : undefined)) {
7996
8009
  const {parent: parent, mask: mask} = child;
7997
8010
  if (parent && parent.__hasMask && mask && !(mask === "clipping" || mask === "clipping-path")) {
7998
- if (!parent.children.some(item => !item.mask && item.__hitWorld(point))) return;
8011
+ if (!parent.children.some(item => !item.mask && this.isHitLeaf(item, point))) return;
7999
8012
  }
8000
8013
  const leaf = proxy || child, {hitThrough: hitThrough} = child, {findList: findList} = this;
8001
8014
  if (hitThrough) {
@@ -8005,6 +8018,15 @@ class Picker {
8005
8018
  findList.add(leaf);
8006
8019
  }
8007
8020
  }
8021
+ isHitLeaf(leaf, point) {
8022
+ if (leaf.isBranch) {
8023
+ const {findList: findList} = this, old = findList.length;
8024
+ this.eachFind([ leaf ], false);
8025
+ const count = findList.length - old;
8026
+ for (let i = 0; i < count; i++) findList.remove(findList.indexAt(findList.length - 1));
8027
+ return !!count;
8028
+ } else return leaf.__hitWorld(point);
8029
+ }
8008
8030
  clear() {
8009
8031
  this.point = null;
8010
8032
  this.findList = null;
@@ -8523,7 +8545,7 @@ const UIRender = {
8523
8545
  }
8524
8546
  if (data.__useEffect) {
8525
8547
  const {shadow: shadow, fill: fill, stroke: stroke} = data, otherEffect = data.innerShadow || data.blur || data.backgroundBlur || data.filter;
8526
- stintSet$2(data, "__isFastShadow", shadow && !otherEffect && shadow.length < 2 && !shadow[0].spread && !Effect.isTransformShadow(shadow[0]) && fill && !data.__isTransparentFill && !(isArray(fill) && fill.length > 1) && (this.useFastShadow || !stroke || stroke && data.strokeAlign === "inside"));
8548
+ stintSet$2(data, "__isFastShadow", shadow && !otherEffect && shadow.length < 2 && !shadow[0].spread && !Effect.isTransformShadow(shadow[0]) && !(shadow[0].blendMode && shadow[0].blendMode !== "pass-through") && fill && !data.__isTransparentFill && !(isArray(fill) && fill.length > 1) && (this.useFastShadow || !stroke || stroke && data.strokeAlign === "inside"));
8527
8549
  data.__useEffect = !!(shadow || otherEffect);
8528
8550
  }
8529
8551
  data.__checkSingle();
@@ -9503,7 +9525,7 @@ __decorate([ affectRenderBoundsType("hide") ], Frame.prototype, "overflow", void
9503
9525
 
9504
9526
  Frame = __decorate([ registerUI() ], Frame);
9505
9527
 
9506
- const {moveTo: moveTo$3, closePath: closePath$2, ellipse: ellipse} = PathCommandDataHelper, {tempPoint: tempPoint$1, set: set$2, rotate: rotate$2} = PointHelper, {abs: abs$4} = Math, tempCenter = {};
9528
+ const {moveTo: moveTo$3, closePath: closePath$2, ellipse: ellipse} = PathCommandDataHelper, {tempPoint: tempPoint$2, set: set$2, rotate: rotate$2} = PointHelper, {abs: abs$4} = Math, tempCenter = {};
9507
9529
 
9508
9530
  let Ellipse = class Ellipse extends UI {
9509
9531
  get __tag() {
@@ -9524,9 +9546,9 @@ let Ellipse = class Ellipse extends UI {
9524
9546
  if (drawInnerEllipse) {
9525
9547
  if (closedAngle) {
9526
9548
  closePath$2(path);
9527
- set$2(tempPoint$1, rx + innerRx, ry), set$2(tempCenter, rx, ry);
9528
- rotate$2(tempPoint$1, endAngle, tempCenter, rx, ry);
9529
- moveTo$3(path, tempPoint$1.x, tempPoint$1.y);
9549
+ set$2(tempPoint$2, rx + innerRx, ry), set$2(tempCenter, rx, ry);
9550
+ rotate$2(tempPoint$2, endAngle, tempCenter, rx, ry);
9551
+ moveTo$3(path, tempPoint$2.x, tempPoint$2.y);
9530
9552
  }
9531
9553
  ellipse(path, rx, ry, innerRx, innerRy, 0, endAngle, startAngle, true);
9532
9554
  } else {
@@ -9581,7 +9603,7 @@ let Polygon = class Polygon extends UI {
9581
9603
  const data = this.__;
9582
9604
  const path = data.path = [];
9583
9605
  if (data.points) {
9584
- drawPoints$1(path, data.points, data.curve, data.closed);
9606
+ drawPoints$1(path, data.points, data.curve, data.closed, data);
9585
9607
  } else {
9586
9608
  const {width: width, height: height, sides: sides, startAngle: startAngle} = data;
9587
9609
  const rx = width / 2, ry = height / 2;
@@ -9673,7 +9695,7 @@ let Line = class Line extends UI {
9673
9695
  const data = this.__;
9674
9696
  const path = data.path = [];
9675
9697
  if (data.points) {
9676
- drawPoints(path, data.points, data.curve, data.closed);
9698
+ drawPoints(path, data.points, data.curve, data.closed, data);
9677
9699
  } else {
9678
9700
  moveTo(path, 0, 0);
9679
9701
  lineTo(path, this.width, 0);
@@ -15015,7 +15037,7 @@ const {getDistance: getDistance} = HighBezierHelper;
15015
15037
 
15016
15038
  const {M: M, L: L, C: C, Z: Z} = PathCommandMap, {float: float} = MathHelper, {set: set, getAngle: getAngle, getDistanceFrom: getDistanceFrom, getDistancePoint: getDistancePoint} = PointHelper;
15017
15039
 
15018
- const tempPoint = {}, tempFrom = {};
15040
+ const tempPoint$1 = {}, tempFrom = {};
15019
15041
 
15020
15042
  const HighCurveHelper = {
15021
15043
  transform(data, matrix) {
@@ -15042,11 +15064,11 @@ const HighCurveHelper = {
15042
15064
  },
15043
15065
  transformPoints(data, matrix, start, pointCount) {
15044
15066
  for (let i = start + 1, end = i + pointCount * 2; i < end; i += 2) {
15045
- tempPoint.x = data[i];
15046
- tempPoint.y = data[i + 1];
15047
- MatrixHelper.toOuterPoint(matrix, tempPoint);
15048
- data[i] = tempPoint.x;
15049
- data[i + 1] = tempPoint.y;
15067
+ tempPoint$1.x = data[i];
15068
+ tempPoint$1.y = data[i + 1];
15069
+ MatrixHelper.toOuterPoint(matrix, tempPoint$1);
15070
+ data[i] = tempPoint$1.x;
15071
+ data[i + 1] = tempPoint$1.y;
15050
15072
  }
15051
15073
  },
15052
15074
  getMotionPathData(data) {
@@ -15288,12 +15310,16 @@ const {updateBounds: updateBounds} = BranchHelper;
15288
15310
 
15289
15311
  const {toVertical: toVertical} = PointHelper;
15290
15312
 
15313
+ const tempPoint = {};
15314
+
15291
15315
  UI.addAttr("motionPath", undefined, motionPathType);
15292
15316
 
15293
15317
  UI.addAttr("motionPrecision", 1, motionPathType);
15294
15318
 
15295
15319
  UI.addAttr("motion", undefined, motionPathType);
15296
15320
 
15321
+ UI.addAttr("motionAround", undefined, motionPathType);
15322
+
15297
15323
  UI.addAttr("motionVertical", "below", motionPathType);
15298
15324
 
15299
15325
  UI.addAttr("motionRotation", true, motionPathType);
@@ -15315,8 +15341,14 @@ ui$1.getMotionPoint = function(motionDistance, motionVertical, pathElement, offs
15315
15341
  const data = getMotionPathData(pathElement);
15316
15342
  if (!data.total) return {};
15317
15343
  const point = HighCurveHelper.getDistancePoint(data, motionDistance, pathElement.motionPrecision, offsetX);
15318
- const {motionRotation: motionRotation} = this;
15344
+ const {motionRotation: motionRotation, motionAround: motionAround} = this;
15319
15345
  if (isNumber(motionRotation)) point.rotation += motionRotation;
15346
+ if (motionAround && motionAround !== "top-left") {
15347
+ AroundHelper.toPoint(motionAround, this.__layout.boxBounds, tempPoint);
15348
+ PointHelper.set(tempPoint, point.x - tempPoint.x * this.scaleX, point.y - tempPoint.y * this.scaleY);
15349
+ if (point.rotation) PointHelper.rotate(tempPoint, point.rotation, point);
15350
+ PointHelper.copy(point, tempPoint);
15351
+ }
15320
15352
  let verticalType, verticalOffset;
15321
15353
  if (isObject(motionVertical)) verticalType = motionVertical.type, verticalOffset = motionVertical.offset; else if (isNumber(motionVertical)) verticalOffset = motionVertical; else verticalType = motionVertical;
15322
15354
  if (verticalType !== "below" || offsetY) {
@@ -15556,4 +15588,4 @@ LeafHelper.cacheId = function(t) {
15556
15588
  if (leafer.cacheInnerId) leafer.app.innerIdMap[t.innerId] = t;
15557
15589
  };
15558
15590
 
15559
- export { AlignHelper, Animate, AnimateEasing, AnimateEvent, AnimateList, 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, Finder, FourNumberHelper, Frame, FrameData, Group, GroupData, HighBezierHelper, HighCurveHelper, 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, 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, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Robot, RobotData, 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, doSurfaceType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, motionPathType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, stateStyleType, stateType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$5 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
15591
+ export { AlignHelper, Animate, AnimateEasing, AnimateEvent, AnimateList, 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, Finder, FourNumberHelper, Frame, FrameData, Group, GroupData, HighBezierHelper, HighCurveHelper, 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, 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, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Robot, RobotData, 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, doSurfaceType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, motionPathType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerPointsCurve, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, stateStyleType, stateType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$6 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };