@leafer/interface 1.0.2 → 1.0.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leafer/interface",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "@leafer/interface",
5
5
  "author": "Chao (Leafer) Wan",
6
6
  "license": "MIT",
@@ -5,7 +5,7 @@ import { ILeaferCanvas, IHitCanvas } from '../canvas/ILeaferCanvas'
5
5
  import { IRenderOptions } from '../renderer/IRenderer'
6
6
 
7
7
  import { IObject, INumber, IBoolean, IValue, IString, IPathString, IFourNumber } from '../data/IData'
8
- import { IMatrixWithBoundsData, IMatrix, IPointData, IBoundsData, IRadiusPointData, ILayoutBoundsData, IMatrixData, IMatrixWithBoundsScaleData, IMatrixWithScaleData, IAutoBoxData, IUnitPointData } from '../math/IMath'
8
+ import { IMatrixWithBoundsData, IMatrix, IPointData, IBoundsData, IRadiusPointData, ILayoutBoundsData, IMatrixData, IMatrixWithBoundsScaleData, IMatrixWithScaleData, IAutoBoxData, IUnitPointData, IRotationPointData } from '../math/IMath'
9
9
  import { IFunction } from '../function/IFunction'
10
10
 
11
11
  import { ILeafDataProxy } from './module/ILeafDataProxy'
@@ -19,6 +19,7 @@ import { IFindMethod } from '../selector/ISelector'
19
19
  import { IPathCommandData } from '../path/IPathCommand'
20
20
  import { IWindingRule, IPath2D } from '../canvas/ICanvas'
21
21
  import { IJSONOptions } from '../file/IExport'
22
+ import { IMotionPathData } from '../path/IPathData'
22
23
 
23
24
 
24
25
  export interface ICachedLeaf {
@@ -28,97 +29,6 @@ export interface ICachedLeaf {
28
29
  }
29
30
 
30
31
 
31
- export interface ILeafAttrData {
32
- // layer data
33
- id?: IString
34
- name?: IString
35
- className?: IString
36
-
37
- blendMode?: IBlendMode
38
- opacity?: INumber
39
- visible?: IBoolean | 0 // 0 = display: none
40
- selected?: IBoolean
41
- disabled?: IBoolean
42
- locked?: IBoolean
43
- zIndex?: INumber
44
-
45
- mask?: IBoolean | IMaskType
46
- eraser?: IBoolean | IEraserType
47
-
48
- // layout data
49
- x?: INumber
50
- y?: INumber
51
- width?: INumber
52
- height?: INumber
53
- scaleX?: INumber
54
- scaleY?: INumber
55
- rotation?: INumber
56
- skewX?: INumber
57
- skewY?: INumber
58
-
59
- scale?: INumber | IPointData // helper
60
-
61
- offsetX?: INumber
62
- offsetY?: INumber
63
- scrollX?: INumber
64
- scrollY?: INumber
65
-
66
- origin?: IAlign | IUnitPointData
67
- around?: IAlign | IUnitPointData
68
-
69
- lazy?: IBoolean
70
- pixelRatio?: INumber
71
-
72
- path?: IPathCommandData | IPathString
73
- windingRule?: IWindingRule
74
- closed?: IBoolean
75
-
76
- // auto layout
77
- flow?: IFlowType
78
- padding?: IFourNumber
79
- gap?: IGap | IPointGap
80
- flowAlign?: IFlowAlign | IFlowAxisAlign
81
- flowWrap?: IFlowWrap
82
- itemBox?: IFlowBoxType
83
-
84
- inFlow?: IBoolean
85
- autoWidth?: IAutoSize
86
- autoHeight?: IAutoSize
87
- lockRatio?: IBoolean
88
- autoBox?: IAutoBoxData | IConstraint
89
-
90
- widthRange?: IRangeSize
91
- heightRange?: IRangeSize
92
-
93
- // interactive
94
- draggable?: IBoolean | IAxis
95
- dragBounds?: IBoundsData | 'parent'
96
-
97
- editable?: IBoolean
98
-
99
- hittable?: IBoolean
100
- hitFill?: IHitType
101
- hitStroke?: IHitType
102
- hitBox?: IBoolean
103
- hitChildren?: IBoolean
104
- hitSelf?: IBoolean
105
- hitRadius?: INumber
106
-
107
- cursor?: ICursorType | ICursorType[]
108
-
109
- event?: IEventMap
110
-
111
- normalStyle?: ILeafInputData // restore hover / press / focus / selected / disabled style
112
- hoverStyle?: ILeafInputData
113
- pressStyle?: ILeafInputData
114
- focusStyle?: ILeafInputData
115
- selectedStyle?: ILeafInputData
116
- disabledStyle?: ILeafInputData
117
-
118
- // 预留给用户使用的数据对象
119
- data: IObject
120
- }
121
-
122
32
  export type ISide = 'width' | 'height'
123
33
 
124
34
  export type IAxis = 'x' | 'y'
@@ -293,9 +203,9 @@ export type IStateStyleType =
293
203
  | 'selectedStyle'
294
204
  | 'disabledStyle'
295
205
 
296
- export interface ILeafInputData {
297
- tag?: string
298
206
 
207
+
208
+ export interface ILeafAttrData {
299
209
  // layer data
300
210
  id?: IString
301
211
  name?: IString
@@ -303,7 +213,7 @@ export interface ILeafInputData {
303
213
 
304
214
  blendMode?: IBlendMode
305
215
  opacity?: INumber
306
- visible?: IBoolean | 0
216
+ visible?: IBoolean | 0 // 0 = display: none
307
217
  selected?: IBoolean
308
218
  disabled?: IBoolean
309
219
  locked?: IBoolean
@@ -371,25 +281,30 @@ export interface ILeafInputData {
371
281
  hitSelf?: IBoolean
372
282
  hitRadius?: INumber
373
283
 
284
+ button?: IBoolean
374
285
  cursor?: ICursorType | ICursorType[]
375
286
 
376
- event?: IEventMap
287
+ motionPath?: IBoolean
288
+ motion?: INumber | IUnitData
289
+ motionRotation?: INumber | IBoolean
290
+
291
+ normalStyle?: IObject
377
292
 
378
- normalStyle?: ILeafInputData
379
- hoverStyle?: ILeafInputData
380
- pressStyle?: ILeafInputData
381
- focusStyle?: ILeafInputData
382
- selectedStyle?: ILeafInputData
383
- disabledStyle?: ILeafInputData
293
+ event?: IEventMap
384
294
 
385
295
  // 预留给用户使用的数据对象
386
296
  data?: IObject
297
+ }
298
+
299
+ export interface ILeafInputData extends ILeafAttrData {
300
+ tag?: string
387
301
 
388
302
  children?: ILeafInputData[]
389
303
 
390
304
  // other
391
305
  noBounds?: boolean
392
306
  }
307
+
393
308
  export interface ILeafComputedData {
394
309
  // layer data
395
310
  id?: string
@@ -464,15 +379,14 @@ export interface ILeafComputedData {
464
379
  hitSelf?: boolean
465
380
  hitRadius?: number
466
381
 
382
+ button?: boolean
467
383
  cursor?: ICursorType | ICursorType[]
468
384
 
469
- normalStyle?: ILeafInputData
470
- hoverStyle?: ILeafInputData
471
- pressStyle?: ILeafInputData
472
- focusStyle?: ILeafInputData
473
- selectedStyle?: ILeafInputData
474
- disabledStyle?: ILeafInputData
385
+ motionPath?: boolean
386
+ motion?: number | IUnitData
387
+ motionRotation?: number | boolean
475
388
 
389
+ normalStyle?: IObject
476
390
 
477
391
  // 预留给用户使用的数据对象
478
392
  data?: IObject
@@ -499,6 +413,7 @@ export interface ILeafComputedData {
499
413
  __pathInputed?: number // 是否为输入path, 0:否,1:是,2:永远是(不自动检测)
500
414
  __pathForRender?: IPathCommandData
501
415
  __path2DForRender?: IPath2D
416
+ __pathForMotion?: IMotionPathData
502
417
  }
503
418
 
504
419
  export interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDataProxy, ILeafInputData, IEventer {
@@ -526,6 +441,7 @@ export interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix,
526
441
  __proxyData?: ILeafInputData
527
442
 
528
443
  syncEventer?: ILeaf // 同步触发一样事件的元素
444
+ lockNormalStyle?: boolean
529
445
 
530
446
  __layout: ILeafLayout
531
447
 
@@ -556,7 +472,12 @@ export interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix,
556
472
 
557
473
  readonly __worldFlipped: boolean
558
474
 
475
+ animation?: IObject
476
+ animationOut?: IObject
477
+
559
478
  __hasAutoLayout?: boolean
479
+ __hasMotionPath?: boolean
480
+
560
481
  __hasMask?: boolean
561
482
  __hasEraser?: boolean
562
483
  __hitCanvas?: IHitCanvas
@@ -572,9 +493,6 @@ export interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix,
572
493
 
573
494
  readonly pathInputed: boolean
574
495
 
575
- __parentWait?: IFunction[]
576
- __leaferWait?: IFunction[]
577
-
578
496
  destroyed: boolean
579
497
 
580
498
  reset(data?: ILeafInputData): void
@@ -587,7 +505,7 @@ export interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix,
587
505
 
588
506
  __bindLeafer(leafer: ILeaferBase | null): void
589
507
 
590
- set(data: IObject): void
508
+ set(data: IObject, isTemp?: boolean): void
591
509
  get(name?: string | string[] | IObject): ILeafInputData | IValue
592
510
  setAttr(name: string, value: any): void
593
511
  getAttr(name: string): any
@@ -613,6 +531,7 @@ export interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix,
613
531
 
614
532
  focus(value?: boolean): void
615
533
 
534
+ updateState(): void
616
535
  updateLayout(): void
617
536
  forceUpdate(attrName?: string): void
618
537
  forceRender(_bounds?: IBoundsData): void
@@ -665,16 +584,19 @@ export interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix,
665
584
  worldToInner(world: IPointData, to?: IPointData, distance?: boolean, relative?: ILeaf): void
666
585
  innerToWorld(inner: IPointData, to?: IPointData, distance?: boolean, relative?: ILeaf): void
667
586
 
587
+ getBoxPoint(world: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
588
+ getBoxPointByInner(inner: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
668
589
  getInnerPoint(world: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
590
+ getInnerPointByBox(box: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
669
591
  getInnerPointByLocal(local: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
670
592
  getLocalPoint(world: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
671
593
  getLocalPointByInner(inner: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
594
+ getPagePoint(world: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
672
595
  getWorldPoint(inner: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
596
+ getWorldPointByBox(box: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
673
597
  getWorldPointByLocal(local: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
674
- getPagePoint(world: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
675
598
  getWorldPointByPage(page: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData
676
599
 
677
-
678
600
  // transform
679
601
  setTransform(transform?: IMatrixData, resize?: boolean): void
680
602
  transform(transform?: IMatrixData, resize?: boolean): void
@@ -725,7 +647,16 @@ export interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix,
725
647
  __updatePath(): void
726
648
  __updateRenderPath(): void
727
649
 
728
- //
650
+ // motion path
651
+ getMotionPathData(): IMotionPathData
652
+ getMotionPoint(motionDistance: number | IUnitData): IRotationPointData
653
+ getMotionTotal(): number
654
+
655
+ __updateMotionPath(): void
656
+
657
+ __runAnimation(type: 'in' | 'out', complete?: IFunction): void
658
+
659
+ __emitLifeEvent(type: string): void
729
660
 
730
661
  // branch
731
662
  children?: ILeaf[]
@@ -6,6 +6,7 @@ export type ILeafDataProxyModule = ILeafDataProxy & ThisType<ILeaf>
6
6
  export interface ILeafDataProxy {
7
7
  __setAttr?(name: string, newValue: IValue): boolean
8
8
  __getAttr?(name: string): IValue
9
+ __realSetAttr?(name: string, newValue: IValue): void
9
10
  setProxyAttr?(name: string, newValue: IValue): void
10
11
  getProxyAttr?(name: string): IValue
11
12
  }
@@ -1,5 +1,5 @@
1
1
  import { ILeaf } from '../ILeaf'
2
- import { IEventListener, IEventListenerId, IEventListenerOptions } from '../../event/IEventer'
2
+ import { IEventListener, IEventListenerId, IEventListenerOptions, IEventMap } from '../../event/IEventer'
3
3
  import { } from '@leafer/interface'
4
4
  import { IEvent } from '../../event/IEvent'
5
5
  import { IObject } from '../../data/IData'
@@ -7,7 +7,7 @@ import { IObject } from '../../data/IData'
7
7
  export type ILeafEventerModule = ILeafEventer & ThisType<ILeaf>
8
8
 
9
9
  export interface ILeafEventer {
10
- on?(type: string | string[], listener: IEventListener, options?: IEventListenerOptions | boolean): void
10
+ on?(type: string | string[] | IEventMap, listener?: IEventListener, options?: IEventListenerOptions | boolean): void
11
11
  off?(type?: string | string[], listener?: IEventListener, options?: IEventListenerOptions | boolean): void
12
12
  on_?(type: string | string[], listener: IEventListener, bind?: IObject, options?: IEventListenerOptions | boolean): IEventListenerId
13
13
  off_?(id: IEventListenerId | IEventListenerId[]): void
@@ -15,4 +15,5 @@ export interface ILeafEventer {
15
15
  emit?(type: string, event?: IEvent | IObject, capture?: boolean): void
16
16
  emitEvent?(event?: IEvent, capture?: boolean): void
17
17
  hasEvent?(type: string, capture?: boolean): boolean
18
+ destroyEventer?(): void
18
19
  }
@@ -36,12 +36,13 @@ export interface IEventListenerId {
36
36
  export type InnerId = number
37
37
 
38
38
  export interface IEventer extends ILeafEventer {
39
-
40
39
  readonly innerId: InnerId
41
40
  __captureMap?: IEventListenerMap
42
41
  __bubbleMap?: IEventListenerMap
42
+ syncEventer?: IEventer
43
+ event?: IEventMap
43
44
 
44
- on(type: string | string[], listener: IEventListener, options?: IEventOption): void
45
+ on(type: string | string[] | IEventMap, listener?: IEventListener, options?: IEventOption): void
45
46
  off(type?: string | string[], listener?: IEventListener, options?: IEventOption): void
46
47
  on_(type: string | string[], listener: IEventListener, bind?: IObject, options?: IEventOption): IEventListenerId
47
48
  off_(id: IEventListenerId | IEventListenerId[]): void
@@ -23,9 +23,15 @@ export interface IUIEvent extends IEvent {
23
23
  path?: ILeafList
24
24
  throughPath?: ILeafList // 穿透path,不受层级影响,从上到下只要碰撞到区域就算,一般点击的时候
25
25
 
26
- getPage?(): IPointData
26
+ getBoxPoint?(relative?: ILeaf): IPointData
27
+ getInnerPoint?(relative?: ILeaf): IPointData
28
+ getLocalPoint?(relative?: ILeaf): IPointData
29
+ getPagePoint?(): IPointData
30
+
31
+ // 兼容代码,未来可移除
27
32
  getInner?(relative?: ILeaf): IPointData
28
33
  getLocal?(relative?: ILeaf): IPointData
34
+ getPage?(): IPointData
29
35
  }
30
36
 
31
37
 
package/src/index.ts CHANGED
@@ -36,6 +36,7 @@ export { IPlugin } from './plugin/IPlugin'
36
36
  export { ILeaferCanvas, ILeaferCanvasView, IHitCanvas, ICanvasAttr, ICanvasStrokeOptions, ICanvasCacheOptions, ILeaferCanvasConfig, IHitCanvasConfig, IBlobFunction, IBlob } from './canvas/ILeaferCanvas'
37
37
  export { ISkiaCanvas, ISkiaCanvasExportConfig, ICanvasType, ISkiaNAPICanvas } from './canvas/ISkiaCanvas'
38
38
  export { IPathDrawer, IPathCreator } from './path/IPathDrawer'
39
+ export { IMotionPathData } from './path/IPathData'
39
40
  export { IWindingRule, ICanvasContext2D, ICanvasContext2DSettings, ITextMetrics, IPath2D, ICanvasPattern } from './canvas/ICanvas'
40
41
  export { CanvasPathCommand, IPathCommandData, MCommandData, HCommandData, VCommandData, LCommandData, CCommandData, SCommandData, QCommandData, TCommandData, ZCommandData, ACommandData, RectCommandData, RoundRectCommandData, EllipseCommandData, ArcCommandData, ArcToCommandData } from './path/IPathCommand'
41
42
 
@@ -52,5 +53,5 @@ export { IInteraction, IInteractionCanvas, IInteractionConfig, IWheelConfig, ITo
52
53
 
53
54
  export { INumber, IBoolean, IString, IValue, IFourNumber, IPathString, ITimer, IObject, INumberMap, IStringMap, IBooleanMap, IFunctionMap, IPointDataMap, IDataTypeHandle } from './data/IData'
54
55
  export { ILeafList, ILeafArrayMap, ILeafMap, ILeafLevelList, ILeafListItemCallback } from './data/IList'
55
- export { IPoint, IPointData, IFromToData, IUnitPointData, IScrollPointData, IClientPointData, IRadiusPointData, ISize, ISizeData, IScreenSizeData, IBounds, IBoundsData, IBoundsDataFn, IOffsetBoundsData, ITwoPointBoundsData, IAutoBounds, IAutoBoxData, IAutoBoundsData, IMatrix, IMatrixData, IMatrixWithBoundsData, IMatrixWithScaleData, IMatrixWithOptionScaleData, IMatrixWithBoundsScaleData, IMatrixWithLayoutData, IScaleRotationData, IScaleData, ISkewData, ILayoutBoundsData, ILayoutData, ILayoutAttr } from './math/IMath'
56
+ export { IPoint, IPointData, IFromToData, IUnitPointData, IRotationPointData, IScrollPointData, IClientPointData, IRadiusPointData, ISize, ISizeData, IScreenSizeData, IBounds, IBoundsData, IBoundsDataFn, IOffsetBoundsData, ITwoPointBoundsData, IAutoBounds, IAutoBoxData, IAutoBoundsData, IMatrix, IMatrixData, IMatrixWithBoundsData, IMatrixWithScaleData, IMatrixWithOptionScaleData, IMatrixWithBoundsScaleData, IMatrixWithLayoutData, IScaleRotationData, IScaleData, ISkewData, ILayoutBoundsData, ILayoutData, ILayoutAttr } from './math/IMath'
56
57
  export { IFunction, IStringFunction, INumberFunction, IObjectFunction, IPointDataFunction, IAttrDecorator } from './function/IFunction'
@@ -53,6 +53,9 @@ export interface IInteraction extends IControl {
53
53
 
54
54
  multiTouch(data: IUIEvent, list: IKeepTouchData[]): void
55
55
 
56
+ menu(data: IPointerEvent): void
57
+ menuTap(data: IPointerEvent): void
58
+
56
59
  move(data: IMoveEvent): void
57
60
  zoom(data: IZoomEvent): void
58
61
  rotate(data: IRotateEvent): void
@@ -56,6 +56,7 @@ export interface ILeafLayout {
56
56
  hitCanvasChanged: boolean
57
57
 
58
58
  childrenSortChanged?: boolean
59
+ stateStyleChanged?: boolean // hoverStyle ...
59
60
 
60
61
  // keep state
61
62
  affectScaleOrRotation: boolean
package/src/math/IMath.ts CHANGED
@@ -6,10 +6,8 @@ export interface IPointData {
6
6
  y: number
7
7
  }
8
8
 
9
- export interface IUnitPointData {
9
+ export interface IUnitPointData extends IPointData {
10
10
  type?: 'percent' | 'px'
11
- x: number
12
- y: number
13
11
  }
14
12
 
15
13
  export interface IFromToData {
@@ -17,6 +15,10 @@ export interface IFromToData {
17
15
  to: IPointData
18
16
  }
19
17
 
18
+ export interface IRotationPointData extends IPointData {
19
+ rotation: number
20
+ }
21
+
20
22
  export interface IScrollPointData {
21
23
  scrollX: number
22
24
  scrollY: number
@@ -0,0 +1,6 @@
1
+ import { IPathCommandData } from './IPathCommand'
2
+ export interface IMotionPathData {
3
+ total: number
4
+ segments: number[] // 每个命令对应一个片段距离
5
+ data: IPathCommandData // M L C Z 命令的路径数据
6
+ }
package/types/index.d.ts CHANGED
@@ -4,15 +4,16 @@ interface IPointData {
4
4
  x: number;
5
5
  y: number;
6
6
  }
7
- interface IUnitPointData {
7
+ interface IUnitPointData extends IPointData {
8
8
  type?: 'percent' | 'px';
9
- x: number;
10
- y: number;
11
9
  }
12
10
  interface IFromToData {
13
11
  from: IPointData;
14
12
  to: IPointData;
15
13
  }
14
+ interface IRotationPointData extends IPointData {
15
+ rotation: number;
16
+ }
16
17
  interface IScrollPointData {
17
18
  scrollX: number;
18
19
  scrollY: number;
@@ -412,7 +413,7 @@ interface IKeepTouchData {
412
413
 
413
414
  type ILeafEventerModule = ILeafEventer & ThisType<ILeaf>;
414
415
  interface ILeafEventer {
415
- on?(type: string | string[], listener: IEventListener, options?: IEventListenerOptions | boolean): void;
416
+ on?(type: string | string[] | IEventMap, listener?: IEventListener, options?: IEventListenerOptions | boolean): void;
416
417
  off?(type?: string | string[], listener?: IEventListener, options?: IEventListenerOptions | boolean): void;
417
418
  on_?(type: string | string[], listener: IEventListener, bind?: IObject, options?: IEventListenerOptions | boolean): IEventListenerId;
418
419
  off_?(id: IEventListenerId | IEventListenerId[]): void;
@@ -420,6 +421,7 @@ interface ILeafEventer {
420
421
  emit?(type: string, event?: IEvent | IObject, capture?: boolean): void;
421
422
  emitEvent?(event?: IEvent, capture?: boolean): void;
422
423
  hasEvent?(type: string, capture?: boolean): boolean;
424
+ destroyEventer?(): void;
423
425
  }
424
426
 
425
427
  type IEventListener = IFunction;
@@ -448,7 +450,9 @@ interface IEventer extends ILeafEventer {
448
450
  readonly innerId: InnerId;
449
451
  __captureMap?: IEventListenerMap;
450
452
  __bubbleMap?: IEventListenerMap;
451
- on(type: string | string[], listener: IEventListener, options?: IEventOption): void;
453
+ syncEventer?: IEventer;
454
+ event?: IEventMap;
455
+ on(type: string | string[] | IEventMap, listener?: IEventListener, options?: IEventOption): void;
452
456
  off(type?: string | string[], listener?: IEventListener, options?: IEventOption): void;
453
457
  on_(type: string | string[], listener: IEventListener, bind?: IObject, options?: IEventOption): IEventListenerId;
454
458
  off_(id: IEventListenerId | IEventListenerId[]): void;
@@ -841,6 +845,7 @@ interface ILeafLayout {
841
845
  opacityChanged: boolean;
842
846
  hitCanvasChanged: boolean;
843
847
  childrenSortChanged?: boolean;
848
+ stateStyleChanged?: boolean;
844
849
  affectScaleOrRotation: boolean;
845
850
  affectRotation: boolean;
846
851
  affectChildrenSort?: boolean;
@@ -1106,6 +1111,7 @@ type ILeafDataProxyModule = ILeafDataProxy & ThisType<ILeaf>;
1106
1111
  interface ILeafDataProxy {
1107
1112
  __setAttr?(name: string, newValue: IValue): boolean;
1108
1113
  __getAttr?(name: string): IValue;
1114
+ __realSetAttr?(name: string, newValue: IValue): void;
1109
1115
  setProxyAttr?(name: string, newValue: IValue): void;
1110
1116
  getProxyAttr?(name: string): IValue;
1111
1117
  }
@@ -1235,78 +1241,17 @@ interface ISelector {
1235
1241
  destroy(): void;
1236
1242
  }
1237
1243
 
1244
+ interface IMotionPathData {
1245
+ total: number;
1246
+ segments: number[];
1247
+ data: IPathCommandData;
1248
+ }
1249
+
1238
1250
  interface ICachedLeaf {
1239
1251
  canvas: ILeaferCanvas;
1240
1252
  matrix?: IMatrix;
1241
1253
  bounds: IBoundsData;
1242
1254
  }
1243
- interface ILeafAttrData {
1244
- id?: IString;
1245
- name?: IString;
1246
- className?: IString;
1247
- blendMode?: IBlendMode;
1248
- opacity?: INumber;
1249
- visible?: IBoolean | 0;
1250
- selected?: IBoolean;
1251
- disabled?: IBoolean;
1252
- locked?: IBoolean;
1253
- zIndex?: INumber;
1254
- mask?: IBoolean | IMaskType;
1255
- eraser?: IBoolean | IEraserType;
1256
- x?: INumber;
1257
- y?: INumber;
1258
- width?: INumber;
1259
- height?: INumber;
1260
- scaleX?: INumber;
1261
- scaleY?: INumber;
1262
- rotation?: INumber;
1263
- skewX?: INumber;
1264
- skewY?: INumber;
1265
- scale?: INumber | IPointData;
1266
- offsetX?: INumber;
1267
- offsetY?: INumber;
1268
- scrollX?: INumber;
1269
- scrollY?: INumber;
1270
- origin?: IAlign | IUnitPointData;
1271
- around?: IAlign | IUnitPointData;
1272
- lazy?: IBoolean;
1273
- pixelRatio?: INumber;
1274
- path?: IPathCommandData | IPathString;
1275
- windingRule?: IWindingRule;
1276
- closed?: IBoolean;
1277
- flow?: IFlowType;
1278
- padding?: IFourNumber;
1279
- gap?: IGap | IPointGap;
1280
- flowAlign?: IFlowAlign | IFlowAxisAlign;
1281
- flowWrap?: IFlowWrap;
1282
- itemBox?: IFlowBoxType;
1283
- inFlow?: IBoolean;
1284
- autoWidth?: IAutoSize;
1285
- autoHeight?: IAutoSize;
1286
- lockRatio?: IBoolean;
1287
- autoBox?: IAutoBoxData | IConstraint;
1288
- widthRange?: IRangeSize;
1289
- heightRange?: IRangeSize;
1290
- draggable?: IBoolean | IAxis;
1291
- dragBounds?: IBoundsData | 'parent';
1292
- editable?: IBoolean;
1293
- hittable?: IBoolean;
1294
- hitFill?: IHitType;
1295
- hitStroke?: IHitType;
1296
- hitBox?: IBoolean;
1297
- hitChildren?: IBoolean;
1298
- hitSelf?: IBoolean;
1299
- hitRadius?: INumber;
1300
- cursor?: ICursorType | ICursorType[];
1301
- event?: IEventMap;
1302
- normalStyle?: ILeafInputData;
1303
- hoverStyle?: ILeafInputData;
1304
- pressStyle?: ILeafInputData;
1305
- focusStyle?: ILeafInputData;
1306
- selectedStyle?: ILeafInputData;
1307
- disabledStyle?: ILeafInputData;
1308
- data: IObject;
1309
- }
1310
1255
  type ISide = 'width' | 'height';
1311
1256
  type IAxis = 'x' | 'y';
1312
1257
  type IAxisReverse = 'x-reverse' | 'y-reverse';
@@ -1360,8 +1305,7 @@ type IFlowAlign = IAlign | IBaseLineAlign;
1360
1305
  type IAround = IAlign | IUnitPointData;
1361
1306
  type ICursorType = IImageCursor | '' | 'auto' | 'default' | 'none' | 'context-menu' | 'help' | 'pointer' | 'progress' | 'wait' | 'cell' | 'crosshair' | 'text' | 'vertical-text' | 'alias' | 'copy' | 'move' | 'no-drop' | 'not-allowed' | 'grab' | 'grabbing' | 'e-resize' | 'n-resize' | 'ne-resize' | 'nw-resize' | 's-resize' | 'se-resize' | 'sw-resize' | 'w-resize' | 'ew-resize' | 'ns-resize' | 'nesw-resize' | 'nwse-resize' | 'col-resize' | 'row-resize' | 'all-scroll' | 'zoom-in' | 'zoom-out';
1362
1307
  type IStateStyleType = 'hoverStyle' | 'pressStyle' | 'focusStyle' | 'selectedStyle' | 'disabledStyle';
1363
- interface ILeafInputData {
1364
- tag?: string;
1308
+ interface ILeafAttrData {
1365
1309
  id?: IString;
1366
1310
  name?: IString;
1367
1311
  className?: IString;
@@ -1418,15 +1362,17 @@ interface ILeafInputData {
1418
1362
  hitChildren?: IBoolean;
1419
1363
  hitSelf?: IBoolean;
1420
1364
  hitRadius?: INumber;
1365
+ button?: IBoolean;
1421
1366
  cursor?: ICursorType | ICursorType[];
1367
+ motionPath?: IBoolean;
1368
+ motion?: INumber | IUnitData;
1369
+ motionRotation?: INumber | IBoolean;
1370
+ normalStyle?: IObject;
1422
1371
  event?: IEventMap;
1423
- normalStyle?: ILeafInputData;
1424
- hoverStyle?: ILeafInputData;
1425
- pressStyle?: ILeafInputData;
1426
- focusStyle?: ILeafInputData;
1427
- selectedStyle?: ILeafInputData;
1428
- disabledStyle?: ILeafInputData;
1429
1372
  data?: IObject;
1373
+ }
1374
+ interface ILeafInputData extends ILeafAttrData {
1375
+ tag?: string;
1430
1376
  children?: ILeafInputData[];
1431
1377
  noBounds?: boolean;
1432
1378
  }
@@ -1486,13 +1432,12 @@ interface ILeafComputedData {
1486
1432
  hitChildren?: boolean;
1487
1433
  hitSelf?: boolean;
1488
1434
  hitRadius?: number;
1435
+ button?: boolean;
1489
1436
  cursor?: ICursorType | ICursorType[];
1490
- normalStyle?: ILeafInputData;
1491
- hoverStyle?: ILeafInputData;
1492
- pressStyle?: ILeafInputData;
1493
- focusStyle?: ILeafInputData;
1494
- selectedStyle?: ILeafInputData;
1495
- disabledStyle?: ILeafInputData;
1437
+ motionPath?: boolean;
1438
+ motion?: number | IUnitData;
1439
+ motionRotation?: number | boolean;
1440
+ normalStyle?: IObject;
1496
1441
  data?: IObject;
1497
1442
  __childBranchNumber?: number;
1498
1443
  __complex?: boolean;
@@ -1510,6 +1455,7 @@ interface ILeafComputedData {
1510
1455
  __pathInputed?: number;
1511
1456
  __pathForRender?: IPathCommandData;
1512
1457
  __path2DForRender?: IPath2D;
1458
+ __pathForMotion?: IMotionPathData;
1513
1459
  }
1514
1460
  interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDataProxy, ILeafInputData, IEventer {
1515
1461
  tag: string;
@@ -1530,6 +1476,7 @@ interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDa
1530
1476
  proxyData?: ILeafInputData;
1531
1477
  __proxyData?: ILeafInputData;
1532
1478
  syncEventer?: ILeaf;
1479
+ lockNormalStyle?: boolean;
1533
1480
  __layout: ILeafLayout;
1534
1481
  __world: IMatrixWithBoundsScaleData;
1535
1482
  __local?: IMatrixWithBoundsData;
@@ -1549,7 +1496,10 @@ interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDa
1549
1496
  __level: number;
1550
1497
  __tempNumber?: number;
1551
1498
  readonly __worldFlipped: boolean;
1499
+ animation?: IObject;
1500
+ animationOut?: IObject;
1552
1501
  __hasAutoLayout?: boolean;
1502
+ __hasMotionPath?: boolean;
1553
1503
  __hasMask?: boolean;
1554
1504
  __hasEraser?: boolean;
1555
1505
  __hitCanvas?: IHitCanvas;
@@ -1561,8 +1511,6 @@ interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDa
1561
1511
  readonly __ignoreHitWorld: boolean;
1562
1512
  readonly __inLazyBounds: boolean;
1563
1513
  readonly pathInputed: boolean;
1564
- __parentWait?: IFunction[];
1565
- __leaferWait?: IFunction[];
1566
1514
  destroyed: boolean;
1567
1515
  reset(data?: ILeafInputData): void;
1568
1516
  resetCustom(): void;
@@ -1571,7 +1519,7 @@ interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDa
1571
1519
  nextRender(item: IFunction, bind?: IObject, off?: 'off'): void;
1572
1520
  removeNextRender(item: IFunction): void;
1573
1521
  __bindLeafer(leafer: ILeaferBase | null): void;
1574
- set(data: IObject): void;
1522
+ set(data: IObject, isTemp?: boolean): void;
1575
1523
  get(name?: string | string[] | IObject): ILeafInputData | IValue;
1576
1524
  setAttr(name: string, value: any): void;
1577
1525
  getAttr(name: string): any;
@@ -1590,6 +1538,7 @@ interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDa
1590
1538
  findOne(condition: number | string | IFindMethod, options?: any): ILeaf | undefined;
1591
1539
  findId(id: number | string): ILeaf | undefined;
1592
1540
  focus(value?: boolean): void;
1541
+ updateState(): void;
1593
1542
  updateLayout(): void;
1594
1543
  forceUpdate(attrName?: string): void;
1595
1544
  forceRender(_bounds?: IBoundsData): void;
@@ -1624,13 +1573,17 @@ interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDa
1624
1573
  localToWorld(local: IPointData, to?: IPointData, distance?: boolean, relative?: ILeaf): void;
1625
1574
  worldToInner(world: IPointData, to?: IPointData, distance?: boolean, relative?: ILeaf): void;
1626
1575
  innerToWorld(inner: IPointData, to?: IPointData, distance?: boolean, relative?: ILeaf): void;
1576
+ getBoxPoint(world: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1577
+ getBoxPointByInner(inner: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1627
1578
  getInnerPoint(world: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1579
+ getInnerPointByBox(box: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1628
1580
  getInnerPointByLocal(local: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1629
1581
  getLocalPoint(world: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1630
1582
  getLocalPointByInner(inner: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1583
+ getPagePoint(world: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1631
1584
  getWorldPoint(inner: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1585
+ getWorldPointByBox(box: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1632
1586
  getWorldPointByLocal(local: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1633
- getPagePoint(world: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1634
1587
  getWorldPointByPage(page: IPointData, relative?: ILeaf, distance?: boolean, change?: boolean): IPointData;
1635
1588
  setTransform(transform?: IMatrixData, resize?: boolean): void;
1636
1589
  transform(transform?: IMatrixData, resize?: boolean): void;
@@ -1667,6 +1620,12 @@ interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDa
1667
1620
  __drawRenderPath(canvas: ILeaferCanvas): void;
1668
1621
  __updatePath(): void;
1669
1622
  __updateRenderPath(): void;
1623
+ getMotionPathData(): IMotionPathData;
1624
+ getMotionPoint(motionDistance: number | IUnitData): IRotationPointData;
1625
+ getMotionTotal(): number;
1626
+ __updateMotionPath(): void;
1627
+ __runAnimation(type: 'in' | 'out', complete?: IFunction): void;
1628
+ __emitLifeEvent(type: string): void;
1670
1629
  children?: ILeaf[];
1671
1630
  __updateSortChildren(): void;
1672
1631
  add(child: ILeaf, index?: number): void;
@@ -1731,9 +1690,13 @@ interface IUIEvent extends IEvent {
1731
1690
  buttons?: number;
1732
1691
  path?: ILeafList;
1733
1692
  throughPath?: ILeafList;
1734
- getPage?(): IPointData;
1693
+ getBoxPoint?(relative?: ILeaf): IPointData;
1694
+ getInnerPoint?(relative?: ILeaf): IPointData;
1695
+ getLocalPoint?(relative?: ILeaf): IPointData;
1696
+ getPagePoint?(): IPointData;
1735
1697
  getInner?(relative?: ILeaf): IPointData;
1736
1698
  getLocal?(relative?: ILeaf): IPointData;
1699
+ getPage?(): IPointData;
1737
1700
  }
1738
1701
  interface IPointerEvent extends IUIEvent {
1739
1702
  width?: number;
@@ -1817,6 +1780,8 @@ interface IInteraction extends IControl {
1817
1780
  pointerUp(data?: IPointerEvent): void;
1818
1781
  pointerCancel(): void;
1819
1782
  multiTouch(data: IUIEvent, list: IKeepTouchData[]): void;
1783
+ menu(data: IPointerEvent): void;
1784
+ menuTap(data: IPointerEvent): void;
1820
1785
  move(data: IMoveEvent): void;
1821
1786
  zoom(data: IZoomEvent): void;
1822
1787
  rotate(data: IRotateEvent): void;
@@ -2167,4 +2132,4 @@ interface ICursorRotateMap {
2167
2132
  [name: string]: ICursorRotate;
2168
2133
  }
2169
2134
 
2170
- export type { ACommandData, ArcCommandData, ArcToCommandData, CCommandData, CanvasPathCommand, EllipseCommandData, HCommandData, IAlign, IAnimateEvent, IAnswer, IAppBase, IAround, IAttrDecorator, IAutoBounds, IAutoBoundsData, IAutoBoxData, IAutoSize, IAxis, IAxisAlign, IAxisReverse, IBaseLineAlign, IBlendMode, IBlob, IBlobFunction, IBoolean, IBooleanMap, IBounds, IBoundsData, IBoundsDataFn, IBoundsType, IBranch, IBranchRender, IBranchRenderModule, ICachedLeaf, ICanvasAttr, ICanvasCacheOptions, ICanvasContext2D, ICanvasContext2DSettings, ICanvasManager, ICanvasPattern, ICanvasStrokeOptions, ICanvasType, IChildEvent, IClientPointData, IConstraint, IConstraintType, IControl, ICreator, ICursorRotate, ICursorRotateMap, ICursorType, ICursorTypeMap, IDataProcessor, IDataTypeHandle, IDirection, IDirection4, IDragEvent, IDropEvent, IEditSize, IEraserType, IEvent, IEventListener, IEventListenerId, IEventListenerItem, IEventListenerMap, IEventListenerOptions, IEventMap, IEventOption, IEventTarget, IEventer, IExportFileType, IExportImageType, IExportOnCanvasFunction, IExportOptions, IExportResult, IExportResultFunction, IFindCondition, IFindMethod, IFlowAlign, IFlowAxisAlign, IFlowBoxType, IFlowType, IFlowWrap, IFourNumber, IFromToData, IFunction, IFunctionMap, IGap, IHitCanvas, IHitCanvasConfig, IHitCanvasManager, IHitType, IImageCursor, IImageEvent, IImageManager, IInteraction, IInteractionCanvas, IInteractionConfig, IJSONOptions, IKeepTouchData, IKeyEvent, ILayoutAttr, ILayoutBlockData, ILayoutBoundsData, ILayoutChangedData, ILayoutData, ILayoutEvent, ILayouter, ILayouterConfig, ILeaf, ILeafArrayMap, ILeafAttrData, ILeafAttrDescriptor, ILeafAttrDescriptorFn, ILeafBounds, ILeafBoundsModule, ILeafComputedData, ILeafData, ILeafDataOptions, ILeafDataProxy, ILeafDataProxyModule, ILeafEventer, ILeafEventerModule, ILeafHit, ILeafHitModule, ILeafInputData, ILeafLayout, ILeafLevelList, ILeafList, ILeafListItemCallback, ILeafMap, ILeafMatrix, ILeafMatrixModule, ILeafRender, ILeafRenderModule, ILeaferAttrData, ILeaferBase, ILeaferCanvas, ILeaferCanvasConfig, ILeaferCanvasView, ILeaferConfig, ILeaferEvent, ILeaferImage, ILeaferImageCacheCanvas, ILeaferImageConfig, ILeaferImageOnError, ILeaferImageOnLoaded, ILeaferImagePatternPaint, ILeaferType, ILeaferTypeCreator, ILeaferTypeFunction, ILeaferTypeList, ILocationType, IMaskType, IMatrix, IMatrixData, IMatrixWithBoundsData, IMatrixWithBoundsScaleData, IMatrixWithLayoutData, IMatrixWithOptionScaleData, IMatrixWithScaleData, IMiniapp, IMiniappSelect, IMiniappSizeView, IMoveEvent, IMultiTouchData, INumber, INumberFunction, INumberMap, IObject, IObjectFunction, IOffsetBoundsData, IPartLayoutConfig, IPath2D, IPathCommandData, IPathCreator, IPathDrawer, IPathString, IPercentData, IPickBottom, IPickOptions, IPickResult, IPlatform, IPlugin, IPoint, IPointData, IPointDataFunction, IPointDataMap, IPointGap, IPointerConfig, IPointerEvent, IPropertyEvent, IRadiusPointData, IRangeSize, IRenderEvent, IRenderOptions, IRenderer, IRendererConfig, IResizeEvent, IResizeEventListener, IRotateEvent, IScaleData, IScaleRotationData, IScreenSizeData, IScrollPointData, ISelector, ISelectorConfig, ISelectorProxy, ISide, ISize, ISizeData, ISkewData, ISkiaCanvas, ISkiaCanvasExportConfig, ISkiaNAPICanvas, IStateStyleType, IString, IStringFunction, IStringMap, ISwipeEvent, ITaskItem, ITaskOptions, ITaskProcessor, ITaskProcessorConfig, ITextMetrics, ITimer, ITouchConfig, ITwoPointBoundsData, IUICreator, IUIEvent, IUnitData, IUnitPointData, IUpdateEvent, IValue, IWatchEvent, IWatchEventData, IWatcher, IWatcherConfig, IWheelConfig, IWindingRule, IZoomEvent, IZoomType, IZoomView, InnerId, LCommandData, MCommandData, PointerType, QCommandData, RectCommandData, RoundRectCommandData, SCommandData, TCommandData, VCommandData, ZCommandData };
2135
+ export type { ACommandData, ArcCommandData, ArcToCommandData, CCommandData, CanvasPathCommand, EllipseCommandData, HCommandData, IAlign, IAnimateEvent, IAnswer, IAppBase, IAround, IAttrDecorator, IAutoBounds, IAutoBoundsData, IAutoBoxData, IAutoSize, IAxis, IAxisAlign, IAxisReverse, IBaseLineAlign, IBlendMode, IBlob, IBlobFunction, IBoolean, IBooleanMap, IBounds, IBoundsData, IBoundsDataFn, IBoundsType, IBranch, IBranchRender, IBranchRenderModule, ICachedLeaf, ICanvasAttr, ICanvasCacheOptions, ICanvasContext2D, ICanvasContext2DSettings, ICanvasManager, ICanvasPattern, ICanvasStrokeOptions, ICanvasType, IChildEvent, IClientPointData, IConstraint, IConstraintType, IControl, ICreator, ICursorRotate, ICursorRotateMap, ICursorType, ICursorTypeMap, IDataProcessor, IDataTypeHandle, IDirection, IDirection4, IDragEvent, IDropEvent, IEditSize, IEraserType, IEvent, IEventListener, IEventListenerId, IEventListenerItem, IEventListenerMap, IEventListenerOptions, IEventMap, IEventOption, IEventTarget, IEventer, IExportFileType, IExportImageType, IExportOnCanvasFunction, IExportOptions, IExportResult, IExportResultFunction, IFindCondition, IFindMethod, IFlowAlign, IFlowAxisAlign, IFlowBoxType, IFlowType, IFlowWrap, IFourNumber, IFromToData, IFunction, IFunctionMap, IGap, IHitCanvas, IHitCanvasConfig, IHitCanvasManager, IHitType, IImageCursor, IImageEvent, IImageManager, IInteraction, IInteractionCanvas, IInteractionConfig, IJSONOptions, IKeepTouchData, IKeyEvent, ILayoutAttr, ILayoutBlockData, ILayoutBoundsData, ILayoutChangedData, ILayoutData, ILayoutEvent, ILayouter, ILayouterConfig, ILeaf, ILeafArrayMap, ILeafAttrData, ILeafAttrDescriptor, ILeafAttrDescriptorFn, ILeafBounds, ILeafBoundsModule, ILeafComputedData, ILeafData, ILeafDataOptions, ILeafDataProxy, ILeafDataProxyModule, ILeafEventer, ILeafEventerModule, ILeafHit, ILeafHitModule, ILeafInputData, ILeafLayout, ILeafLevelList, ILeafList, ILeafListItemCallback, ILeafMap, ILeafMatrix, ILeafMatrixModule, ILeafRender, ILeafRenderModule, ILeaferAttrData, ILeaferBase, ILeaferCanvas, ILeaferCanvasConfig, ILeaferCanvasView, ILeaferConfig, ILeaferEvent, ILeaferImage, ILeaferImageCacheCanvas, ILeaferImageConfig, ILeaferImageOnError, ILeaferImageOnLoaded, ILeaferImagePatternPaint, ILeaferType, ILeaferTypeCreator, ILeaferTypeFunction, ILeaferTypeList, ILocationType, IMaskType, IMatrix, IMatrixData, IMatrixWithBoundsData, IMatrixWithBoundsScaleData, IMatrixWithLayoutData, IMatrixWithOptionScaleData, IMatrixWithScaleData, IMiniapp, IMiniappSelect, IMiniappSizeView, IMotionPathData, IMoveEvent, IMultiTouchData, INumber, INumberFunction, INumberMap, IObject, IObjectFunction, IOffsetBoundsData, IPartLayoutConfig, IPath2D, IPathCommandData, IPathCreator, IPathDrawer, IPathString, IPercentData, IPickBottom, IPickOptions, IPickResult, IPlatform, IPlugin, IPoint, IPointData, IPointDataFunction, IPointDataMap, IPointGap, IPointerConfig, IPointerEvent, IPropertyEvent, IRadiusPointData, IRangeSize, IRenderEvent, IRenderOptions, IRenderer, IRendererConfig, IResizeEvent, IResizeEventListener, IRotateEvent, IRotationPointData, IScaleData, IScaleRotationData, IScreenSizeData, IScrollPointData, ISelector, ISelectorConfig, ISelectorProxy, ISide, ISize, ISizeData, ISkewData, ISkiaCanvas, ISkiaCanvasExportConfig, ISkiaNAPICanvas, IStateStyleType, IString, IStringFunction, IStringMap, ISwipeEvent, ITaskItem, ITaskOptions, ITaskProcessor, ITaskProcessorConfig, ITextMetrics, ITimer, ITouchConfig, ITwoPointBoundsData, IUICreator, IUIEvent, IUnitData, IUnitPointData, IUpdateEvent, IValue, IWatchEvent, IWatchEventData, IWatcher, IWatcherConfig, IWheelConfig, IWindingRule, IZoomEvent, IZoomType, IZoomView, InnerId, LCommandData, MCommandData, PointerType, QCommandData, RectCommandData, RoundRectCommandData, SCommandData, TCommandData, VCommandData, ZCommandData };