@leafer/interface 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leafer/interface",
3
- "version": "1.7.0",
3
+ "version": "1.9.0",
4
4
  "description": "@leafer/interface",
5
5
  "author": "Chao (Leafer) Wan",
6
6
  "license": "MIT",
@@ -118,8 +118,8 @@ interface ICanvasMethod {
118
118
  hitPixel(radiusPoint: IRadiusPointData, offset?: IPointData, scale?: number): boolean
119
119
 
120
120
 
121
- setStroke(strokeStyle: string | object, strokeWidth: number, options?: ICanvasStrokeOptions): void
122
- setStrokeOptions(options: ICanvasStrokeOptions): void
121
+ setStroke(strokeStyle: string | object, strokeWidth: number, options?: ICanvasStrokeOptions, childOptions?: ICanvasStrokeOptions): void
122
+ setStrokeOptions(options: ICanvasStrokeOptions, childOptions?: ICanvasStrokeOptions): void
123
123
 
124
124
  setWorld(matrix: IMatrixData, parentMatrix?: IMatrixData): void
125
125
  useWorldTransform(worldTransform?: IMatrixData): void
@@ -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, IRotationPointData } from '../math/IMath'
8
+ import { IMatrixWithBoundsData, IMatrix, IPointData, IBoundsData, IRadiusPointData, ILayoutBoundsData, IMatrixData, IMatrixWithBoundsScaleData, IMatrixWithScaleData, IAutoBoxData, IUnitPointData, IRotationPointData, IScaleData } from '../math/IMath'
9
9
  import { IFunction } from '../function/IFunction'
10
10
 
11
11
  import { ILeafDataProxy } from './module/ILeafDataProxy'
@@ -24,8 +24,9 @@ import { ITransition } from '../animate/ITransition'
24
24
 
25
25
 
26
26
  export interface ICachedLeaf {
27
- canvas: ILeaferCanvas,
28
- matrix?: IMatrix,
27
+ canvas: ILeaferCanvas, // 完整的元素缓存画布
28
+ matrix?: IMatrix, // 包含导出时附加的 options.matrix
29
+ fitMatrix?: IMatrix, // 不包含导出时附加的 options.matrix
29
30
  bounds: IBoundsData
30
31
  }
31
32
 
@@ -73,6 +74,8 @@ export interface IConstraint {
73
74
 
74
75
  export type IConstraintType = 'from' | 'center' | 'to' | 'from-to' | 'scale'
75
76
 
77
+ export type IScaleFixed = boolean | 'zoom-in' // 缩放时是否固定原有比例,zoom-in表示仅在放大时固定比例(缩小时仍跟随缩小)
78
+
76
79
  export type IHitType =
77
80
  | 'path'
78
81
  | 'pixel'
@@ -258,6 +261,8 @@ export interface ILeafAttrData {
258
261
  lazy?: IBoolean
259
262
  pixelRatio?: INumber
260
263
 
264
+ renderSpread?: INumber // 扩大渲染边界
265
+
261
266
  path?: IPathCommandData | IPathCommandObject[] | IPathString
262
267
  windingRule?: IWindingRule
263
268
  closed?: IBoolean
@@ -359,6 +364,8 @@ export interface ILeafComputedData {
359
364
  lazy?: boolean
360
365
  pixelRatio?: number
361
366
 
367
+ renderSpread?: number
368
+
362
369
  path?: IPathCommandData
363
370
  windingRule?: IWindingRule
364
371
  closed?: boolean
@@ -515,6 +522,9 @@ export interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix,
515
522
 
516
523
  readonly pathInputed: boolean
517
524
 
525
+ readonly isAutoWidth?: boolean
526
+ readonly isAutoHeight?: boolean
527
+
518
528
  destroyed: boolean
519
529
 
520
530
  reset(data?: ILeafInputData): void
@@ -597,6 +607,8 @@ export interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix,
597
607
 
598
608
  // convert
599
609
  __getNowWorld(options: IRenderOptions): IMatrixWithBoundsScaleData // when render use other matrix
610
+ getClampRenderScale(): number // 获取当前渲染元素的缩放比例,限制最小为1
611
+ getRenderScaleData(abs?: boolean, scaleFixed?: IScaleFixed): IScaleData // 当前渲染的比例数据,必须马上分解使用
600
612
 
601
613
  getTransform(relative?: ILocationType | ILeaf): IMatrixData
602
614
 
@@ -649,6 +661,7 @@ export interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix,
649
661
  resizeHeight(height: number): void
650
662
 
651
663
  // ILeafHit ->
664
+ hit(world: IPointData, hitRadius?: number): boolean
652
665
  __hitWorld(point: IRadiusPointData): boolean
653
666
  __hit(local: IRadiusPointData): boolean
654
667
  __hitFill(inner: IRadiusPointData): boolean
@@ -23,6 +23,8 @@ export interface IUIEvent extends IEvent {
23
23
  path?: ILeafList
24
24
  throughPath?: ILeafList // 穿透path,不受层级影响,从上到下只要碰撞到区域就算,一般点击的时候
25
25
 
26
+ isHoldKeys?(shortcutKeys?: IShortcutKeysCheck | IShortcutKeys): boolean
27
+
26
28
  getBoxPoint?(relative?: ILeaf): IPointData
27
29
  getInnerPoint?(relative?: ILeaf): IPointData
28
30
  getLocalPoint?(relative?: ILeaf): IPointData
@@ -93,10 +95,264 @@ export interface ISwipeEvent extends IDragEvent {
93
95
  }
94
96
 
95
97
  export interface IKeyEvent extends IUIEvent {
96
- code?: string
98
+ code?: IKeyCodes
97
99
  key?: string
98
100
  }
99
101
 
102
+ export type IShortcutKeys = IShortcutStringKeys | IShortcutArrayKeys
103
+
104
+ export type IShortcutStringKeys = string
105
+
106
+ export type IShortcutArrayKeys = IShortcutKeyCodes[] | IShortcutKeyCodes[][] // 二维数组表示或 [ [Shift, A] or [Ctrl, A] ]
107
+
108
+ export type IShortcutKeyCodes =
109
+ | IKeyCodes
110
+ | 'A' // 增加更友好的键名
111
+ | 'B'
112
+ | 'C'
113
+ | 'D'
114
+ | 'E'
115
+ | 'F'
116
+ | 'G'
117
+ | 'H'
118
+ | 'I'
119
+ | 'J'
120
+ | 'K'
121
+ | 'L'
122
+ | 'M'
123
+ | 'N'
124
+ | 'O'
125
+ | 'P'
126
+ | 'Q'
127
+ | 'R'
128
+ | 'S'
129
+ | 'T'
130
+ | 'U'
131
+ | 'V'
132
+ | 'W'
133
+ | 'X'
134
+ | 'Y'
135
+ | 'Z'
136
+ | '0' // 包含小键盘上的 0
137
+ | '1'
138
+ | '2'
139
+ | '3'
140
+ | '4'
141
+ | '5'
142
+ | '6'
143
+ | '7'
144
+ | '8'
145
+ | '9'
146
+ | '!' // Shift + 1
147
+ | '@'
148
+ | '#'
149
+ | '$'
150
+ | '%'
151
+ | '^'
152
+ | '&'
153
+ | '*'
154
+ | '('
155
+ | ')'
156
+ | 'Esc'
157
+ | 'Caps'
158
+ | 'Shift' // 包含 ShiftLeft 和 ShiftRight
159
+ | 'Ctrl'
160
+ | 'Alt'
161
+ | 'Meta'
162
+ | '⌘' // = Meta
163
+ | 'Win' // = Meta
164
+ | '↑'
165
+ | '↓'
166
+ | '←'
167
+ | '→'
168
+ | 'Scroll'
169
+ | 'Num'
170
+ | '-'
171
+ | '_'
172
+ | '='
173
+ | '+'
174
+ | '['
175
+ | '{'
176
+ | ']'
177
+ | '}'
178
+ | '\\'
179
+ | '|'
180
+ | ';'
181
+ | ':'
182
+ | "'"
183
+ | '"'
184
+ | ','
185
+ | '<'
186
+ | '.'
187
+ | '>'
188
+ | '/'
189
+ | '?'
190
+ | '`'
191
+ | '~'
192
+
193
+ export type IKeyCodes =
194
+ | 'KeyA' // A
195
+ | 'KeyB' // B
196
+ | 'KeyC' // C
197
+ | 'KeyD' // D
198
+ | 'KeyE' // E
199
+ | 'KeyF' // F
200
+ | 'KeyG' // G
201
+ | 'KeyH' // H
202
+ | 'KeyI' // I
203
+ | 'KeyJ' // J
204
+ | 'KeyK' // K
205
+ | 'KeyL' // L
206
+ | 'KeyM' // M
207
+ | 'KeyN' // N
208
+ | 'KeyO' // O
209
+ | 'KeyP' // P
210
+ | 'KeyQ' // Q
211
+ | 'KeyR' // R
212
+ | 'KeyS' // S
213
+ | 'KeyT' // T
214
+ | 'KeyU' // U
215
+ | 'KeyV' // V
216
+ | 'KeyW' // W
217
+ | 'KeyX' // X
218
+ | 'KeyY' // Y
219
+ | 'KeyZ' // Z
220
+ | 'Digit0' // 0
221
+ | 'Digit1' // 1
222
+ | 'Digit2' // 2
223
+ | 'Digit3' // 3
224
+ | 'Digit4' // 4
225
+ | 'Digit5' // 5
226
+ | 'Digit6' // 6
227
+ | 'Digit7' // 7
228
+ | 'Digit8' // 8
229
+ | 'Digit9' // 9
230
+ | 'F1' // F1
231
+ | 'F2' // F2
232
+ | 'F3' // F3
233
+ | 'F4' // F4
234
+ | 'F5' // F5
235
+ | 'F6' // F6
236
+ | 'F7' // F7
237
+ | 'F8' // F8
238
+ | 'F9' // F9
239
+ | 'F10' // F10
240
+ | 'F11' // F11
241
+ | 'F12' // F12
242
+ | 'F13' // F13
243
+ | 'F14' // F14
244
+ | 'F15' // F15
245
+ | 'F16' // F16
246
+ | 'F17' // F17
247
+ | 'F18' // F18
248
+ | 'F19' // F19
249
+ | 'F20' // F20
250
+ | 'F21' // F21
251
+ | 'F22' // F22
252
+ | 'F23' // F23
253
+ | 'F24' // F24
254
+ | 'Escape' // Esc
255
+ | 'Tab' // Tab
256
+ | 'CapsLock' // Caps Lock
257
+ | 'ShiftLeft' // Shift (左)
258
+ | 'ShiftRight' // Shift (右)
259
+ | 'ControlLeft' // Ctrl (左)
260
+ | 'ControlRight' // Ctrl (右)
261
+ | 'AltLeft' // Alt (左)
262
+ | 'AltRight' // Alt (右)
263
+ | 'MetaLeft' // Meta / ⌘ / Win (左)
264
+ | 'MetaRight' // Meta / ⌘ / Win (右)
265
+ | 'Enter' // Enter / 回车
266
+ | 'Space' // 空格键
267
+ | 'Backspace' // Backspace / 删除
268
+ | 'Insert' // Insert
269
+ | 'Delete' // Delete
270
+ | 'Home' // Home
271
+ | 'End' // End
272
+ | 'PageUp' // Page Up
273
+ | 'PageDown' // Page Down
274
+ | 'ArrowUp' // ↑
275
+ | 'ArrowDown' // ↓
276
+ | 'ArrowLeft' // ←
277
+ | 'ArrowRight' // →
278
+ | 'PrintScreen' // Print Screen
279
+ | 'Pause' // Pause / Break
280
+ | 'ScrollLock' // Scroll Lock
281
+ | 'NumLock' // Num Lock
282
+ | 'ContextMenu' // 菜单键
283
+ | 'Minus' // - / _
284
+ | 'Equal' // = / +
285
+ | 'BracketLeft' // [ / {
286
+ | 'BracketRight' // ] / }
287
+ | 'Backslash' // \ / |
288
+ | 'IntlBackslash' // 国际键盘上的 \
289
+ | 'Semicolon' // ; / :
290
+ | 'Quote' // ' / "
291
+ | 'Comma' // , / <
292
+ | 'Period' // . / >
293
+ | 'Slash' // / / ?
294
+ | 'Backquote' // ` / ~
295
+ | 'Numpad0' // 小键盘 0
296
+ | 'Numpad1' // 小键盘 1
297
+ | 'Numpad2' // 小键盘 2
298
+ | 'Numpad3' // 小键盘 3
299
+ | 'Numpad4' // 小键盘 4
300
+ | 'Numpad5' // 小键盘 5
301
+ | 'Numpad6' // 小键盘 6
302
+ | 'Numpad7' // 小键盘 7
303
+ | 'Numpad8' // 小键盘 8
304
+ | 'Numpad9' // 小键盘 9
305
+ | 'NumpadMultiply' // *
306
+ | 'NumpadAdd' // +
307
+ | 'NumpadSubtract' // -
308
+ | 'NumpadDecimal' // .
309
+ | 'NumpadDivide' // /
310
+ | 'NumpadEnter' // 小键盘回车
311
+ | 'NumpadComma' // 小键盘 ,
312
+ | 'NumpadParenLeft' // (
313
+ | 'NumpadParenRight' // )
314
+ | 'NumpadEqual' // =
315
+ | 'BrowserBack' // 浏览器后退
316
+ | 'BrowserForward' // 浏览器前进
317
+ | 'BrowserRefresh' // 浏览器刷新
318
+ | 'BrowserStop' // 停止加载
319
+ | 'BrowserSearch' // 浏览器搜索
320
+ | 'BrowserFavorites' // 浏览器收藏夹
321
+ | 'BrowserHome' // 浏览器主页
322
+ | 'LaunchMail' // 启动邮件客户端
323
+ | 'LaunchMediaPlayer' // 启动媒体播放器
324
+ | 'LaunchCalculator' // 启动计算器
325
+ | 'MediaPlayPause' // 播放/暂停
326
+ | 'MediaStop' // 停止播放
327
+ | 'MediaTrackNext' // 下一首
328
+ | 'MediaTrackPrevious' // 上一首
329
+ | 'MediaVolumeMute' // 静音
330
+ | 'MediaVolumeUp' // 音量+
331
+ | 'MediaVolumeDown' // 音量-
332
+ | 'AudioVolumeMute' // 系统静音
333
+ | 'AudioVolumeUp' // 系统音量+
334
+ | 'AudioVolumeDown' // 系统音量-
335
+ | 'Select' // 已废弃
336
+ | 'LaunchApp1' // 启动应用 1
337
+ | 'LaunchApp2' // 启动应用 2
338
+ | 'Help' // 帮助键
339
+ | 'Sleep' // 休眠
340
+ | 'WakeUp' // 唤醒
341
+ | 'Lang1' // 韩文/日文切换
342
+ | 'Lang2' // 韩文/日文切换
343
+ | 'Power' // 电源键
344
+ | 'Fn' // Fn 键(部分设备)
345
+ | 'Eject' // 光驱弹出键(Mac)
346
+ | 'Convert' // 日文输入:转换
347
+ | 'NonConvert' // 日文输入:不转换
348
+ | 'KanaMode' // 日文假名模式
349
+ | 'Unidentified' // 未识别键
350
+
351
+
352
+ export interface IShortcutKeysCheck {
353
+ (e: IUIEvent): boolean
354
+ }
355
+
100
356
  export interface IImageEvent extends IEvent {
101
357
  image?: ILeaferImage
102
358
  attrName?: string
@@ -35,6 +35,7 @@ export interface IExportResult {
35
35
  height?: number
36
36
  renderBounds?: IBoundsData
37
37
  trimBounds?: IBoundsData
38
+ error?: any
38
39
  }
39
40
 
40
41
  export interface IExportResultFunction {
@@ -55,7 +55,7 @@ export interface ILeaferImage {
55
55
  load(onSuccess?: ILeaferImageOnLoaded, onError?: ILeaferImageOnError): number
56
56
  unload(index: number, stopEvent?: boolean): void
57
57
  getFull(filters?: IObject): any
58
- getCanvas(width: number, height: number, opacity?: number, filters?: IObject): any
58
+ getCanvas(width: number, height: number, opacity?: number, filters?: IObject, xGap?: number, yGap?: number): any
59
59
  getPattern(canvas: any, repeat: string | null, transform?: IMatrixData, paint?: IObject): ICanvasPattern
60
60
  destroy(): void
61
61
  }
package/src/index.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { IAppBase } from './app/IApp'
2
2
  export { ILeaferBase, ILeaferAttrData, ILeaferType, ILeaferTypeCreator, ILeaferTypeFunction, ILeaferTypeList, ILeaferConfig, ICreator, IUICreator, IZoomType, IZoomOptions } from './app/ILeafer'
3
- export { ILeaf, ILeafAttrData, ILeafComputedData, ILeafInputData, ICachedLeaf, IFlowType, IFlowBoxType, IAlign, IAxisAlign, IFlowAlign, IFlowAxisAlign, ISide, IAxis, IGap, IPointGap, IAxisReverse, IBaseLineAlign, IFlowWrap, IAutoSize, IRangeSize, IPercentData, IUnitData, IConstraint, IConstraintType, IHitType, IMaskType, IEraserType, IBlendMode, IEditSize, IImageCursor, ICursorType, IStateStyleType, IDirection, IDirection4, IAround, IFilter, ILeafAttrDescriptor, ILeafAttrDescriptorFn } from './display/ILeaf'
3
+ export { ILeaf, ILeafAttrData, ILeafComputedData, ILeafInputData, ICachedLeaf, IFlowType, IFlowBoxType, IAlign, IAxisAlign, IFlowAlign, IFlowAxisAlign, ISide, IAxis, IGap, IPointGap, IAxisReverse, IBaseLineAlign, IFlowWrap, IAutoSize, IRangeSize, IPercentData, IUnitData, IConstraint, IConstraintType, IScaleFixed, IHitType, IMaskType, IEraserType, IBlendMode, IEditSize, IImageCursor, ICursorType, IStateStyleType, IDirection, IDirection4, IAround, IFilter, ILeafAttrDescriptor, ILeafAttrDescriptorFn } from './display/ILeaf'
4
4
  export { IBranch } from './display/IBranch'
5
5
  export { IZoomView } from './display/IView'
6
6
 
@@ -47,7 +47,7 @@ export { IExportOptions, IJSONOptions, IExportResult, IExportResultFunction, IEx
47
47
 
48
48
  export { InnerId, IEventer, IEventParamsMap, IEventParams, IEventListener, IEventOption, IEventListenerOptions, IEventListenerMap, IEventListenerItem, IEventListenerId } from './event/IEventer'
49
49
  export { IEventTarget, IEvent, ILeaferEvent, IPropertyEvent, ILayoutEvent, IRenderEvent, IAnimateEvent, IChildEvent, IBoundsEvent, IResizeEvent, IResizeEventListener, IUpdateEvent, IWatchEvent, IMultiTouchData, IKeepTouchData } from './event/IEvent'
50
- export { IUIEvent, IPointerEvent, PointerType, IDragEvent, IDropEvent, ISwipeEvent, IMoveEvent, IZoomEvent, IRotateEvent, IWheelEvent, IKeyEvent, IImageEvent } from './event/IUIEvent'
50
+ export { IUIEvent, IPointerEvent, PointerType, IDragEvent, IDropEvent, ISwipeEvent, IMoveEvent, IZoomEvent, IRotateEvent, IWheelEvent, IKeyEvent, IShortcutKeys, IShortcutKeysCheck, IShortcutKeyCodes, IKeyCodes, IImageEvent } from './event/IUIEvent'
51
51
  export { IProgressData, IProgressFunction } from './event/IProgress'
52
52
 
53
53
  export { ICursorTypeMap, ICursorRotate, ICursorRotateMap } from './interaction/ICursor'
@@ -10,6 +10,7 @@ import { IKeepTouchData } from '../event/IEvent'
10
10
  import { ILeaferCanvas } from '../canvas/ILeaferCanvas'
11
11
  import { IObject } from '../data/IData'
12
12
 
13
+
13
14
  export interface IInteraction extends IControl {
14
15
  target: ILeaf
15
16
  canvas: IInteractionCanvas
@@ -117,7 +118,7 @@ export interface IMoveConfig {
117
118
  holdRightKey?: boolean
118
119
  scroll?: boolean | 'x' | 'y' | 'limit' | 'x-limit' | 'y-limit'
119
120
  drag?: boolean | 'auto'
120
- dragAnimate?: boolean
121
+ dragAnimate?: boolean | number
121
122
  dragEmpty?: boolean
122
123
  dragOut?: boolean | number
123
124
  autoDistance?: number
@@ -152,6 +153,7 @@ export interface IPointerConfig {
152
153
  hover?: boolean
153
154
  touch?: boolean // 使用touch事件代替pointer事件
154
155
 
156
+ dragLimitAnimate?: boolean | number //拖拽限制可在拖拽结束时进行动画归位
155
157
  dragHover?: boolean
156
158
  dragDistance?: number
157
159
  swipeDistance?: number
@@ -32,7 +32,7 @@ export interface ILeafLayout {
32
32
  // worldRenderBounds: IBoundsData // use leaf.__world
33
33
 
34
34
  // state
35
- resized: 'scale' | 'inner' | 'local' // (scale | inner) > local
35
+ resized: 'inner' | 'scale' | 'local' // inner > scale > local, 设置了inner之后不能被覆盖
36
36
  waitAutoLayout: boolean
37
37
 
38
38
  // matrix changed
package/src/math/IMath.ts CHANGED
@@ -85,7 +85,7 @@ export interface IOffsetBoundsData extends IBoundsData {
85
85
  }
86
86
 
87
87
  export interface IBoundsDataFn {
88
- (target: any): IBoundsData
88
+ (target: any, index?: number): IBoundsData
89
89
  }
90
90
 
91
91
  export interface IBounds extends IBoundsData, ITwoPointBoundsData {
@@ -31,6 +31,7 @@ export interface IPlatform {
31
31
  syncDomFont?: boolean // firefox need
32
32
 
33
33
  selector?: ISelector // 公共查找选择器
34
+ getSelector?(leaf: ILeaf): ISelector
34
35
  layout?(target: ILeaf): void
35
36
 
36
37
  origin?: {
@@ -56,6 +56,7 @@ export interface ISelector {
56
56
  finder?: IFinder
57
57
 
58
58
  getByPoint(hitPoint: IPointData, hitRadius: number, options?: IPickOptions): IPickResult
59
+ hitPoint(hitPoint: IPointData, hitRadius: number, options?: IPickOptions): boolean
59
60
  getBy(condition: number | string | IFindCondition | IFindMethod, branch?: ILeaf, one?: boolean, options?: any): ILeaf | ILeaf[]
60
61
  destroy(): void
61
62
  }
@@ -63,6 +64,7 @@ export interface ISelector {
63
64
 
64
65
  export interface IPicker {
65
66
  getByPoint(hitPoint: IPointData, hitRadius: number, options?: IPickOptions): IPickResult
67
+ hitPoint(hitPoint: IPointData, hitRadius: number, options?: IPickOptions): boolean
66
68
  destroy(): void
67
69
  }
68
70
 
package/types/index.d.ts CHANGED
@@ -65,7 +65,7 @@ interface IOffsetBoundsData extends IBoundsData {
65
65
  offsetY: number;
66
66
  }
67
67
  interface IBoundsDataFn {
68
- (target: any): IBoundsData;
68
+ (target: any, index?: number): IBoundsData;
69
69
  }
70
70
  interface IBounds extends IBoundsData, ITwoPointBoundsData {
71
71
  set(x?: number | IBoundsData, y?: number, width?: number, height?: number): IBounds;
@@ -597,12 +597,19 @@ interface CanvasUserInterface {
597
597
  drawFocusIfNeeded(path: IPath2D, element: any): void;
598
598
  }
599
599
  interface ITextMetrics {
600
+ /** Returns the measurement described below. */
600
601
  readonly actualBoundingBoxAscent: number;
602
+ /** Returns the measurement described below. */
601
603
  readonly actualBoundingBoxDescent: number;
604
+ /** Returns the measurement described below. */
602
605
  readonly actualBoundingBoxLeft: number;
606
+ /** Returns the measurement described below. */
603
607
  readonly actualBoundingBoxRight: number;
608
+ /** Returns the measurement described below. */
604
609
  readonly fontBoundingBoxAscent: number;
610
+ /** Returns the measurement described below. */
605
611
  readonly fontBoundingBoxDescent: number;
612
+ /** Returns the measurement described below. */
606
613
  readonly width: number;
607
614
  }
608
615
  interface CanvasText {
@@ -877,7 +884,7 @@ interface ILeafLayout {
877
884
  worldContentBounds: IBoundsData;
878
885
  worldBoxBounds: IBoundsData;
879
886
  worldStrokeBounds: IBoundsData;
880
- resized: 'scale' | 'inner' | 'local';
887
+ resized: 'inner' | 'scale' | 'local';
881
888
  waitAutoLayout: boolean;
882
889
  matrixChanged: boolean;
883
890
  scaleChanged: boolean;
@@ -962,6 +969,7 @@ interface IExportResult {
962
969
  height?: number;
963
970
  renderBounds?: IBoundsData;
964
971
  trimBounds?: IBoundsData;
972
+ error?: any;
965
973
  }
966
974
  interface IExportResultFunction {
967
975
  (data: IExportResult): void;
@@ -1051,8 +1059,8 @@ interface ICanvasMethod {
1051
1059
  hitFill(point: IPointData, fillRule?: string): boolean;
1052
1060
  hitStroke(point: IPointData, strokeWidth?: number): boolean;
1053
1061
  hitPixel(radiusPoint: IRadiusPointData, offset?: IPointData, scale?: number): boolean;
1054
- setStroke(strokeStyle: string | object, strokeWidth: number, options?: ICanvasStrokeOptions): void;
1055
- setStrokeOptions(options: ICanvasStrokeOptions): void;
1062
+ setStroke(strokeStyle: string | object, strokeWidth: number, options?: ICanvasStrokeOptions, childOptions?: ICanvasStrokeOptions): void;
1063
+ setStrokeOptions(options: ICanvasStrokeOptions, childOptions?: ICanvasStrokeOptions): void;
1056
1064
  setWorld(matrix: IMatrixData, parentMatrix?: IMatrixData): void;
1057
1065
  useWorldTransform(worldTransform?: IMatrixData): void;
1058
1066
  setWorldShadow(x: number, y: number, blur: number, color?: string): void;
@@ -1298,11 +1306,13 @@ interface ISelector {
1298
1306
  picker: IPicker;
1299
1307
  finder?: IFinder;
1300
1308
  getByPoint(hitPoint: IPointData, hitRadius: number, options?: IPickOptions): IPickResult;
1309
+ hitPoint(hitPoint: IPointData, hitRadius: number, options?: IPickOptions): boolean;
1301
1310
  getBy(condition: number | string | IFindCondition | IFindMethod, branch?: ILeaf, one?: boolean, options?: any): ILeaf | ILeaf[];
1302
1311
  destroy(): void;
1303
1312
  }
1304
1313
  interface IPicker {
1305
1314
  getByPoint(hitPoint: IPointData, hitRadius: number, options?: IPickOptions): IPickResult;
1315
+ hitPoint(hitPoint: IPointData, hitRadius: number, options?: IPickOptions): boolean;
1306
1316
  destroy(): void;
1307
1317
  }
1308
1318
  interface IFinder {
@@ -1370,6 +1380,7 @@ interface IAnimateEventFunction {
1370
1380
  interface ICachedLeaf {
1371
1381
  canvas: ILeaferCanvas;
1372
1382
  matrix?: IMatrix;
1383
+ fitMatrix?: IMatrix;
1373
1384
  bounds: IBoundsData;
1374
1385
  }
1375
1386
  type ISide = 'width' | 'height';
@@ -1406,6 +1417,7 @@ interface IConstraint {
1406
1417
  y: IConstraintType;
1407
1418
  }
1408
1419
  type IConstraintType = 'from' | 'center' | 'to' | 'from-to' | 'scale';
1420
+ type IScaleFixed = boolean | 'zoom-in';
1409
1421
  type IHitType = 'path' | 'pixel' | 'all' | 'none';
1410
1422
  type IMaskType = 'path' | 'pixel' | 'grayscale' | 'clipping' | 'clipping-path';
1411
1423
  type IEraserType = 'path' | 'pixel';
@@ -1463,6 +1475,7 @@ interface ILeafAttrData {
1463
1475
  around?: IAlign | IUnitPointData;
1464
1476
  lazy?: IBoolean;
1465
1477
  pixelRatio?: INumber;
1478
+ renderSpread?: INumber;
1466
1479
  path?: IPathCommandData | IPathCommandObject[] | IPathString;
1467
1480
  windingRule?: IWindingRule;
1468
1481
  closed?: IBoolean;
@@ -1536,6 +1549,7 @@ interface ILeafComputedData {
1536
1549
  around?: IAlign | IUnitPointData;
1537
1550
  lazy?: boolean;
1538
1551
  pixelRatio?: number;
1552
+ renderSpread?: number;
1539
1553
  path?: IPathCommandData;
1540
1554
  windingRule?: IWindingRule;
1541
1555
  closed?: boolean;
@@ -1646,6 +1660,8 @@ interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDa
1646
1660
  readonly __ignoreHitWorld: boolean;
1647
1661
  readonly __inLazyBounds: boolean;
1648
1662
  readonly pathInputed: boolean;
1663
+ readonly isAutoWidth?: boolean;
1664
+ readonly isAutoHeight?: boolean;
1649
1665
  destroyed: boolean;
1650
1666
  reset(data?: ILeafInputData): void;
1651
1667
  resetCustom(): void;
@@ -1702,6 +1718,8 @@ interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDa
1702
1718
  __renderMask(canvas: ILeaferCanvas, options: IRenderOptions): void;
1703
1719
  __renderEraser(canvas: ILeaferCanvas, options: IRenderOptions): void;
1704
1720
  __getNowWorld(options: IRenderOptions): IMatrixWithBoundsScaleData;
1721
+ getClampRenderScale(): number;
1722
+ getRenderScaleData(abs?: boolean, scaleFixed?: IScaleFixed): IScaleData;
1705
1723
  getTransform(relative?: ILocationType | ILeaf): IMatrixData;
1706
1724
  getBounds(type?: IBoundsType, relative?: ILocationType | ILeaf): IBoundsData;
1707
1725
  getLayoutBounds(type?: IBoundsType, relative?: ILocationType | ILeaf, unscale?: boolean): ILayoutBoundsData;
@@ -1740,6 +1758,7 @@ interface ILeaf extends ILeafRender, ILeafHit, ILeafBounds, ILeafMatrix, ILeafDa
1740
1758
  __scaleResize(scaleX: number, scaleY: number): void;
1741
1759
  resizeWidth(width: number): void;
1742
1760
  resizeHeight(height: number): void;
1761
+ hit(world: IPointData, hitRadius?: number): boolean;
1743
1762
  __hitWorld(point: IRadiusPointData): boolean;
1744
1763
  __hit(local: IRadiusPointData): boolean;
1745
1764
  __hitFill(inner: IRadiusPointData): boolean;
@@ -1824,7 +1843,7 @@ interface ILeaferImage {
1824
1843
  load(onSuccess?: ILeaferImageOnLoaded, onError?: ILeaferImageOnError): number;
1825
1844
  unload(index: number, stopEvent?: boolean): void;
1826
1845
  getFull(filters?: IObject): any;
1827
- getCanvas(width: number, height: number, opacity?: number, filters?: IObject): any;
1846
+ getCanvas(width: number, height: number, opacity?: number, filters?: IObject, xGap?: number, yGap?: number): any;
1828
1847
  getPattern(canvas: any, repeat: string | null, transform?: IMatrixData, paint?: IObject): ICanvasPattern;
1829
1848
  destroy(): void;
1830
1849
  }
@@ -1843,6 +1862,7 @@ interface IUIEvent extends IEvent {
1843
1862
  buttons?: number;
1844
1863
  path?: ILeafList;
1845
1864
  throughPath?: ILeafList;
1865
+ isHoldKeys?(shortcutKeys?: IShortcutKeysCheck | IShortcutKeys): boolean;
1846
1866
  getBoxPoint?(relative?: ILeaf): IPointData;
1847
1867
  getInnerPoint?(relative?: ILeaf): IPointData;
1848
1868
  getLocalPoint?(relative?: ILeaf): IPointData;
@@ -1897,9 +1917,17 @@ interface IWheelEvent extends IUIEvent {
1897
1917
  interface ISwipeEvent extends IDragEvent {
1898
1918
  }
1899
1919
  interface IKeyEvent extends IUIEvent {
1900
- code?: string;
1920
+ code?: IKeyCodes;
1901
1921
  key?: string;
1902
1922
  }
1923
+ type IShortcutKeys = IShortcutStringKeys | IShortcutArrayKeys;
1924
+ type IShortcutStringKeys = string;
1925
+ type IShortcutArrayKeys = IShortcutKeyCodes[] | IShortcutKeyCodes[][];
1926
+ type IShortcutKeyCodes = IKeyCodes | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z' | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '!' | '@' | '#' | '$' | '%' | '^' | '&' | '*' | '(' | ')' | 'Esc' | 'Caps' | 'Shift' | 'Ctrl' | 'Alt' | 'Meta' | '⌘' | 'Win' | '↑' | '↓' | '←' | '→' | 'Scroll' | 'Num' | '-' | '_' | '=' | '+' | '[' | '{' | ']' | '}' | '\\' | '|' | ';' | ':' | "'" | '"' | ',' | '<' | '.' | '>' | '/' | '?' | '`' | '~';
1927
+ type IKeyCodes = 'KeyA' | 'KeyB' | 'KeyC' | 'KeyD' | 'KeyE' | 'KeyF' | 'KeyG' | 'KeyH' | 'KeyI' | 'KeyJ' | 'KeyK' | 'KeyL' | 'KeyM' | 'KeyN' | 'KeyO' | 'KeyP' | 'KeyQ' | 'KeyR' | 'KeyS' | 'KeyT' | 'KeyU' | 'KeyV' | 'KeyW' | 'KeyX' | 'KeyY' | 'KeyZ' | 'Digit0' | 'Digit1' | 'Digit2' | 'Digit3' | 'Digit4' | 'Digit5' | 'Digit6' | 'Digit7' | 'Digit8' | 'Digit9' | 'F1' | 'F2' | 'F3' | 'F4' | 'F5' | 'F6' | 'F7' | 'F8' | 'F9' | 'F10' | 'F11' | 'F12' | 'F13' | 'F14' | 'F15' | 'F16' | 'F17' | 'F18' | 'F19' | 'F20' | 'F21' | 'F22' | 'F23' | 'F24' | 'Escape' | 'Tab' | 'CapsLock' | 'ShiftLeft' | 'ShiftRight' | 'ControlLeft' | 'ControlRight' | 'AltLeft' | 'AltRight' | 'MetaLeft' | 'MetaRight' | 'Enter' | 'Space' | 'Backspace' | 'Insert' | 'Delete' | 'Home' | 'End' | 'PageUp' | 'PageDown' | 'ArrowUp' | 'ArrowDown' | 'ArrowLeft' | 'ArrowRight' | 'PrintScreen' | 'Pause' | 'ScrollLock' | 'NumLock' | 'ContextMenu' | 'Minus' | 'Equal' | 'BracketLeft' | 'BracketRight' | 'Backslash' | 'IntlBackslash' | 'Semicolon' | 'Quote' | 'Comma' | 'Period' | 'Slash' | 'Backquote' | 'Numpad0' | 'Numpad1' | 'Numpad2' | 'Numpad3' | 'Numpad4' | 'Numpad5' | 'Numpad6' | 'Numpad7' | 'Numpad8' | 'Numpad9' | 'NumpadMultiply' | 'NumpadAdd' | 'NumpadSubtract' | 'NumpadDecimal' | 'NumpadDivide' | 'NumpadEnter' | 'NumpadComma' | 'NumpadParenLeft' | 'NumpadParenRight' | 'NumpadEqual' | 'BrowserBack' | 'BrowserForward' | 'BrowserRefresh' | 'BrowserStop' | 'BrowserSearch' | 'BrowserFavorites' | 'BrowserHome' | 'LaunchMail' | 'LaunchMediaPlayer' | 'LaunchCalculator' | 'MediaPlayPause' | 'MediaStop' | 'MediaTrackNext' | 'MediaTrackPrevious' | 'MediaVolumeMute' | 'MediaVolumeUp' | 'MediaVolumeDown' | 'AudioVolumeMute' | 'AudioVolumeUp' | 'AudioVolumeDown' | 'Select' | 'LaunchApp1' | 'LaunchApp2' | 'Help' | 'Sleep' | 'WakeUp' | 'Lang1' | 'Lang2' | 'Power' | 'Fn' | 'Eject' | 'Convert' | 'NonConvert' | 'KanaMode' | 'Unidentified';
1928
+ interface IShortcutKeysCheck {
1929
+ (e: IUIEvent): boolean;
1930
+ }
1903
1931
  interface IImageEvent extends IEvent {
1904
1932
  image?: ILeaferImage;
1905
1933
  attrName?: string;
@@ -1987,7 +2015,7 @@ interface IMoveConfig {
1987
2015
  holdRightKey?: boolean;
1988
2016
  scroll?: boolean | 'x' | 'y' | 'limit' | 'x-limit' | 'y-limit';
1989
2017
  drag?: boolean | 'auto';
1990
- dragAnimate?: boolean;
2018
+ dragAnimate?: boolean | number;
1991
2019
  dragEmpty?: boolean;
1992
2020
  dragOut?: boolean | number;
1993
2021
  autoDistance?: number;
@@ -2016,6 +2044,7 @@ interface IPointerConfig {
2016
2044
  transformTime?: number;
2017
2045
  hover?: boolean;
2018
2046
  touch?: boolean;
2047
+ dragLimitAnimate?: boolean | number;
2019
2048
  dragHover?: boolean;
2020
2049
  dragDistance?: number;
2021
2050
  swipeDistance?: number;
@@ -2249,6 +2278,7 @@ interface IPlatform {
2249
2278
  fullImageShadow?: boolean;
2250
2279
  syncDomFont?: boolean;
2251
2280
  selector?: ISelector;
2281
+ getSelector?(leaf: ILeaf): ISelector;
2252
2282
  layout?(target: ILeaf): void;
2253
2283
  origin?: {
2254
2284
  createCanvas(width: number, height: number, format?: 'svg' | 'pdf'): any;
@@ -2336,4 +2366,4 @@ interface ITransformer {
2336
2366
  destroy(): void;
2337
2367
  }
2338
2368
 
2339
- export type { ACommandData, ArcCommandData, ArcToCommandData, BezierCurveToCommandObject, CCommandData, CanvasPathCommand, EllipseCommandData, HCommandData, IAlign, IAnimateEasing, IAnimateEasingFunction, IAnimateEasingName, IAnimateEnding, IAnimateEvent, IAnimateEventFunction, IAnimateEvents, IAnimateOptions, IAnswer, IAppBase, IAround, IAttrDecorator, IAutoBounds, IAutoBoundsData, IAutoBoxData, IAutoSize, IAxis, IAxisAlign, IAxisReverse, IBaseLineAlign, IBlendMode, IBlob, IBlobFunction, IBoolean, IBooleanMap, IBounds, IBoundsData, IBoundsDataFn, IBoundsEvent, IBoundsType, IBranch, IBranchRender, IBranchRenderModule, ICachedLeaf, ICanvasAttr, ICanvasCacheOptions, ICanvasContext2D, ICanvasContext2DSettings, ICanvasManager, ICanvasPattern, ICanvasStrokeOptions, ICanvasType, IChildEvent, IClientPointData, IConstraint, IConstraintType, IControl, ICreator, ICubicBezierEasing, ICursorConfig, ICursorRotate, ICursorRotateMap, ICursorType, ICursorTypeMap, ICustomEasingFunction, IDataProcessor, IDataTypeHandle, IDirection, IDirection4, IDragEvent, IDropEvent, IEditSize, IEraserType, IEvent, IEventListener, IEventListenerId, IEventListenerItem, IEventListenerMap, IEventListenerOptions, IEventOption, IEventParams, IEventParamsMap, IEventTarget, IEventer, IExportFileType, IExportImageType, IExportOnCanvasFunction, IExportOptions, IExportResult, IExportResultFunction, IFilter, IFindCondition, IFindMethod, IFinder, 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, IMatrixWithOptionHalfData, IMatrixWithOptionScaleData, IMatrixWithScaleData, IMiniapp, IMiniappSelect, IMiniappSizeView, IMotionPathData, IMoveConfig, IMoveEvent, IMultiTouchConfig, IMultiTouchData, INumber, INumberFunction, INumberMap, IObject, IObjectFunction, IOffsetBoundsData, IOptionSizeData, IPartLayoutConfig, IPath2D, IPathCommandData, IPathCommandObject, IPathCreator, IPathDrawer, IPathString, IPercentData, IPickBottom, IPickOptions, IPickResult, IPicker, IPlatform, IPlugin, IPoint, IPointData, IPointDataFunction, IPointDataMap, IPointGap, IPointerConfig, IPointerEvent, IProgressData, IProgressFunction, IPropertyEvent, IRadiusPointData, IRangeSize, IRenderEvent, IRenderOptions, IRenderer, IRendererConfig, IResizeEvent, IResizeEventListener, IResource, IRotateEvent, IRotationPointData, IScaleData, IScaleRotationData, IScreenSizeData, IScrollPointData, ISelector, ISelectorConfig, ISelectorProxy, ISide, ISize, ISizeData, ISkewData, ISkiaCanvas, ISkiaCanvasExportConfig, ISkiaNAPICanvas, IStateStyleType, IStepsEasing, IString, IStringFunction, IStringMap, ISwipeEvent, ITaskItem, ITaskOptions, ITaskProcessor, ITaskProcessorConfig, ITextMetrics, ITimer, ITouchConfig, ITransformer, ITransition, ITwoPointBoundsData, IUICreator, IUIEvent, IUnitData, IUnitPointData, IUpdateEvent, IValue, IValueFunction, IWatchEvent, IWatchEventData, IWatcher, IWatcherConfig, IWheelConfig, IWheelEvent, IWindingRule, IWindingRuleData, IZoomConfig, IZoomEvent, IZoomOptions, IZoomType, IZoomView, InnerId, LCommandData, LineToCommandObject, MCommandData, MoveToCommandObject, PointerType, QCommandData, QuadraticCurveToCommandObject, RectCommandData, RoundRectCommandData, SCommandData, TCommandData, VCommandData, ZCommandData };
2369
+ export type { ACommandData, ArcCommandData, ArcToCommandData, BezierCurveToCommandObject, CCommandData, CanvasPathCommand, EllipseCommandData, HCommandData, IAlign, IAnimateEasing, IAnimateEasingFunction, IAnimateEasingName, IAnimateEnding, IAnimateEvent, IAnimateEventFunction, IAnimateEvents, IAnimateOptions, IAnswer, IAppBase, IAround, IAttrDecorator, IAutoBounds, IAutoBoundsData, IAutoBoxData, IAutoSize, IAxis, IAxisAlign, IAxisReverse, IBaseLineAlign, IBlendMode, IBlob, IBlobFunction, IBoolean, IBooleanMap, IBounds, IBoundsData, IBoundsDataFn, IBoundsEvent, IBoundsType, IBranch, IBranchRender, IBranchRenderModule, ICachedLeaf, ICanvasAttr, ICanvasCacheOptions, ICanvasContext2D, ICanvasContext2DSettings, ICanvasManager, ICanvasPattern, ICanvasStrokeOptions, ICanvasType, IChildEvent, IClientPointData, IConstraint, IConstraintType, IControl, ICreator, ICubicBezierEasing, ICursorConfig, ICursorRotate, ICursorRotateMap, ICursorType, ICursorTypeMap, ICustomEasingFunction, IDataProcessor, IDataTypeHandle, IDirection, IDirection4, IDragEvent, IDropEvent, IEditSize, IEraserType, IEvent, IEventListener, IEventListenerId, IEventListenerItem, IEventListenerMap, IEventListenerOptions, IEventOption, IEventParams, IEventParamsMap, IEventTarget, IEventer, IExportFileType, IExportImageType, IExportOnCanvasFunction, IExportOptions, IExportResult, IExportResultFunction, IFilter, IFindCondition, IFindMethod, IFinder, IFlowAlign, IFlowAxisAlign, IFlowBoxType, IFlowType, IFlowWrap, IFourNumber, IFromToData, IFunction, IFunctionMap, IGap, IHitCanvas, IHitCanvasConfig, IHitCanvasManager, IHitType, IImageCursor, IImageEvent, IImageManager, IInteraction, IInteractionCanvas, IInteractionConfig, IJSONOptions, IKeepTouchData, IKeyCodes, 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, IMatrixWithOptionHalfData, IMatrixWithOptionScaleData, IMatrixWithScaleData, IMiniapp, IMiniappSelect, IMiniappSizeView, IMotionPathData, IMoveConfig, IMoveEvent, IMultiTouchConfig, IMultiTouchData, INumber, INumberFunction, INumberMap, IObject, IObjectFunction, IOffsetBoundsData, IOptionSizeData, IPartLayoutConfig, IPath2D, IPathCommandData, IPathCommandObject, IPathCreator, IPathDrawer, IPathString, IPercentData, IPickBottom, IPickOptions, IPickResult, IPicker, IPlatform, IPlugin, IPoint, IPointData, IPointDataFunction, IPointDataMap, IPointGap, IPointerConfig, IPointerEvent, IProgressData, IProgressFunction, IPropertyEvent, IRadiusPointData, IRangeSize, IRenderEvent, IRenderOptions, IRenderer, IRendererConfig, IResizeEvent, IResizeEventListener, IResource, IRotateEvent, IRotationPointData, IScaleData, IScaleFixed, IScaleRotationData, IScreenSizeData, IScrollPointData, ISelector, ISelectorConfig, ISelectorProxy, IShortcutKeyCodes, IShortcutKeys, IShortcutKeysCheck, ISide, ISize, ISizeData, ISkewData, ISkiaCanvas, ISkiaCanvasExportConfig, ISkiaNAPICanvas, IStateStyleType, IStepsEasing, IString, IStringFunction, IStringMap, ISwipeEvent, ITaskItem, ITaskOptions, ITaskProcessor, ITaskProcessorConfig, ITextMetrics, ITimer, ITouchConfig, ITransformer, ITransition, ITwoPointBoundsData, IUICreator, IUIEvent, IUnitData, IUnitPointData, IUpdateEvent, IValue, IValueFunction, IWatchEvent, IWatchEventData, IWatcher, IWatcherConfig, IWheelConfig, IWheelEvent, IWindingRule, IWindingRuleData, IZoomConfig, IZoomEvent, IZoomOptions, IZoomType, IZoomView, InnerId, LCommandData, LineToCommandObject, MCommandData, MoveToCommandObject, PointerType, QCommandData, QuadraticCurveToCommandObject, RectCommandData, RoundRectCommandData, SCommandData, TCommandData, VCommandData, ZCommandData };