@leafer-ui/interface 2.0.3 → 2.0.5

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-ui/interface",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
4
4
  "description": "@leafer-ui/interface",
5
5
  "author": "Chao (Leafer) Wan",
6
6
  "license": "MIT",
@@ -22,6 +22,6 @@
22
22
  "leaferjs"
23
23
  ],
24
24
  "dependencies": {
25
- "@leafer/interface": "2.0.3"
25
+ "@leafer/interface": "2.0.5"
26
26
  }
27
27
  }
package/src/IUI.ts CHANGED
@@ -53,7 +53,9 @@ export interface ILinker extends ILine {
53
53
  startData: ILinkerComputedPointData
54
54
  endData: ILinkerComputedPointData
55
55
 
56
- createLinkerPoint(worldPoint: IPointData, node: IUI, options?: ILinkerPointOptions): ILinkerPointData
56
+ createStartPoint(worldPoint: IPointData, node?: IUI, options?: ILinkerPointOptions): ILinkerPointData
57
+ createEndPoint(worldPoint: IPointData, node?: IUI, options?: ILinkerPointOptions): ILinkerPointData
58
+ createLinkerPoint(worldPoint: IPointData, node?: IUI, options?: ILinkerPointOptions): ILinkerPointData
57
59
  }
58
60
 
59
61
  export interface ILinkerPointData {
@@ -409,6 +411,51 @@ export interface IBoxData extends IBoxAttrData, IGroupData { }
409
411
  export interface IBoxInputData extends IBoxAttrData, IGroupInputData { }
410
412
 
411
413
 
414
+
415
+ // EllipseBox
416
+ export interface IEllipseBox extends IEllipseAttrData, IBox {
417
+ __: IEllipseBoxData
418
+ }
419
+ export interface IEllipseBoxData extends IEllipseAttrData, IBoxData { }
420
+ export interface IEllipseBoxInputData extends IEllipseAttrData, IBoxInputData { }
421
+
422
+
423
+ // PolygonBox
424
+ export interface IPolygonBox extends IPolygonAttrData, IBox {
425
+ __: IPolygonBoxData
426
+ }
427
+ export interface IPolygonBoxData extends IPolygonAttrData, IBoxData { }
428
+ export interface IPolygonBoxInputData extends IPolygonAttrData, IBoxInputData { }
429
+
430
+
431
+ // StarBox
432
+ export interface IStarBox extends IStarAttrData, IBox {
433
+ __: IStarBoxData
434
+ }
435
+ export interface IStarBoxData extends IStarAttrData, IBoxData { }
436
+ export interface IStarBoxInputData extends IStarAttrData, IBoxInputData { }
437
+
438
+ // PathBox
439
+ export interface IPathBox extends IBox {
440
+ __: IPathBoxData
441
+ }
442
+ export interface IPathBoxData extends IBoxData { }
443
+ export interface IPathBoxInputData extends IBoxInputData { }
444
+
445
+ // ImageBox
446
+ export interface IImageBox extends IImageAttrData, IBox {
447
+ __: IImageBoxData
448
+ readonly ready: boolean
449
+ readonly image?: ILeaferImage
450
+ }
451
+ export interface IImageBoxData extends IImageAttrData, IBoxData {
452
+ readonly __urlType: IMultimediaType
453
+ __setImageFill(value: string): void
454
+ }
455
+ export interface IImageBoxInputData extends IImageAttrData, IBoxInputData { }
456
+
457
+
458
+
412
459
  // Group
413
460
  export interface IGroup extends IUI {
414
461
  __: IGroupData
@@ -427,6 +474,7 @@ export interface IGroup extends IUI {
427
474
  export interface IGroupData extends IUIData { }
428
475
  export interface IGroupInputData extends IUIBaseInputData { }
429
476
 
477
+
430
478
  // UI
431
479
  export interface IUI extends IUIAttrData, IFillAttrData, IStrokeAttrData, ICornerRadiusAttrData, IEffectAttrData, ILeaf {
432
480
  __: IUIData
@@ -607,6 +655,13 @@ export type IUITag =
607
655
  | 'Film'
608
656
  | 'Video'
609
657
  | (string & {})
658
+ | 'EllipseBox' // @leafer-in/box
659
+ | 'PolygonBox'
660
+ | 'StarBox'
661
+ | 'LineBox'
662
+ | 'PathBox'
663
+ | 'ImageBox'
664
+ | 'CanvasBox'
610
665
 
611
666
 
612
667
  export interface IUIInputData extends IRectInputData, IEllipseInputData, IPolygonInputData, IStarInputData, ILineInputData, IPathInputData, ITextInputData, IImageInputData, IGroupInputData, IBoxInputData, IFrameInputData, IFlowInputData, IArrowInputData, IVideoInputData, IRobotInputData, IUIBaseInputData, IObject {
@@ -39,6 +39,8 @@ export interface IEditorBase extends IGroup, ISelectorProxy, ITransformTool {
39
39
  innerEditor?: IObject
40
40
  editMask: IUI
41
41
 
42
+ hasDimOthers?: boolean
43
+
42
44
  readonly targetLeafer: ILeafer
43
45
 
44
46
  select(target: IUI | IUI[]): void
@@ -142,6 +144,8 @@ export interface IEditorConfig extends IObject {
142
144
  around?: IAlign | IUnitPointData // 缩放、旋转、倾斜时围绕的中心点
143
145
  rotateAround?: IAlign | IUnitPointData // 单独设置旋转围绕的中心点,比 around 优先级高
144
146
  rotateGap?: number
147
+ arrowStep?: number // 方向键移动步长,默认为1
148
+ arrowFastStep?: number // 按住 shift 键的移动步长,默认为10
145
149
  lockRatio?: boolean | 'corner'
146
150
  dragLimitAnimate?: boolean | number // 限制拖动范围的元素,可在拖拽结束时进行动画归位,默认采用 app.config.pointer.dragLimitAnimate 的值
147
151
  ignorePixelSnap?: boolean
@@ -179,6 +183,8 @@ export interface IEditorConfig extends IObject {
179
183
  beforeRotate?: IEditorBeforeRotate
180
184
  beforeSkew?: IEditorBeforeSkew
181
185
 
186
+ onCopy?: IEditorOnCopy
187
+
182
188
  preventEditInner?: boolean // 仅阻止交互事件触发内部编辑
183
189
 
184
190
  textEditor?: IObject
@@ -244,6 +250,10 @@ export interface IEditorBeforeSkew {
244
250
  (data: IEditorSkewData): ISkewData | boolean | void
245
251
  }
246
252
 
253
+ export interface IEditorOnCopy {
254
+ (): boolean | void
255
+ }
256
+
247
257
 
248
258
  export interface IEditPointInputData extends IBoxInputData {
249
259
  direction?: number
package/src/index.ts CHANGED
@@ -22,6 +22,11 @@ export {
22
22
  IVideo, IVideoInputData, IVideoData,
23
23
  IRobot, IRobotInputData, IRobotData, IRobotActions, IRobotActionName, IRobotKeyframe, IRobotComputedKeyframe, IRobotAnimation,
24
24
  IBox, IBoxInputData, IBoxData,
25
+ IEllipseBox, IEllipseBoxInputData, IEllipseBoxData,
26
+ IPolygonBox, IPolygonBoxInputData, IPolygonBoxData,
27
+ IStarBox, IStarBoxInputData, IStarBoxData,
28
+ IPathBox, IPathBoxInputData, IPathBoxData,
29
+ IImageBox, IImageBoxInputData, IImageBoxData,
25
30
  IGroup, IGroupInputData, IGroupData,
26
31
  ILeaferInputData, ILeaferData,
27
32
  IAppInputData, IAppData,
@@ -52,4 +57,4 @@ export { IEffectModule } from './module/IEffect'
52
57
  export { IFilterModule, IFilterProcessor, IFilterFunction } from './module/IFilter'
53
58
  export { ICachedShape } from './ICachedShape'
54
59
 
55
- export { IEditorBase, IEditorConfig, ITransformTool, IEditBoxBase, IEditPoint, IEditPointInputData, IEditPointType, IEditorDragStartData, IEditToolFunction, IEditorConfigFunction, IEditorBeforeSelect, IEditorBeforeEditOuter, IEditorBeforeEditInner, IEditorBeforeMove, IEditorBeforeScale, IEditorBeforeRotate, IEditorBeforeSkew, IEditorSelectData, IEditorEditOuterData, IEditorEditInnerData, IEditorMoveData, IEditorScaleData, IEditorRotationData, IEditorSkewData } from './editor/IEditor'
60
+ export { IEditorBase, IEditorConfig, ITransformTool, IEditBoxBase, IEditPoint, IEditPointInputData, IEditPointType, IEditorDragStartData, IEditToolFunction, IEditorConfigFunction, IEditorBeforeSelect, IEditorBeforeEditOuter, IEditorBeforeEditInner, IEditorBeforeMove, IEditorBeforeScale, IEditorBeforeRotate, IEditorBeforeSkew, IEditorOnCopy, IEditorSelectData, IEditorEditOuterData, IEditorEditInnerData, IEditorMoveData, IEditorScaleData, IEditorRotationData, IEditorSkewData } from './editor/IEditor'
package/types/index.d.ts CHANGED
@@ -447,6 +447,7 @@ interface IEditorBase extends IGroup$1, ISelectorProxy, ITransformTool {
447
447
  editTool?: IObject$1;
448
448
  innerEditor?: IObject$1;
449
449
  editMask: IUI$1;
450
+ hasDimOthers?: boolean;
450
451
  readonly targetLeafer: ILeafer$1;
451
452
  select(target: IUI$1 | IUI$1[]): void;
452
453
  cancel(): void;
@@ -523,6 +524,8 @@ interface IEditorConfig extends IObject$1 {
523
524
  around?: IAlign$1 | IUnitPointData$1;
524
525
  rotateAround?: IAlign$1 | IUnitPointData$1;
525
526
  rotateGap?: number;
527
+ arrowStep?: number;
528
+ arrowFastStep?: number;
526
529
  lockRatio?: boolean | 'corner';
527
530
  dragLimitAnimate?: boolean | number;
528
531
  ignorePixelSnap?: boolean;
@@ -553,6 +556,7 @@ interface IEditorConfig extends IObject$1 {
553
556
  beforeScale?: IEditorBeforeScale;
554
557
  beforeRotate?: IEditorBeforeRotate;
555
558
  beforeSkew?: IEditorBeforeSkew;
559
+ onCopy?: IEditorOnCopy;
556
560
  preventEditInner?: boolean;
557
561
  textEditor?: IObject$1;
558
562
  pathEditor?: IObject$1;
@@ -602,6 +606,9 @@ interface IEditorBeforeRotate {
602
606
  interface IEditorBeforeSkew {
603
607
  (data: IEditorSkewData): ISkewData | boolean | void;
604
608
  }
609
+ interface IEditorOnCopy {
610
+ (): boolean | void;
611
+ }
605
612
  interface IEditPointInputData extends IBoxInputData$1 {
606
613
  direction?: number;
607
614
  pointType?: IEditPointType;
@@ -722,7 +729,9 @@ interface ILinker extends ILine {
722
729
  endNode: IUI;
723
730
  startData: ILinkerComputedPointData;
724
731
  endData: ILinkerComputedPointData;
725
- createLinkerPoint(worldPoint: IPointData, node: IUI, options?: ILinkerPointOptions): ILinkerPointData;
732
+ createStartPoint(worldPoint: IPointData, node?: IUI, options?: ILinkerPointOptions): ILinkerPointData;
733
+ createEndPoint(worldPoint: IPointData, node?: IUI, options?: ILinkerPointOptions): ILinkerPointData;
734
+ createLinkerPoint(worldPoint: IPointData, node?: IUI, options?: ILinkerPointOptions): ILinkerPointData;
726
735
  }
727
736
  interface ILinkerPointData {
728
737
  id?: string | IUI;
@@ -1012,6 +1021,45 @@ interface IBoxData extends IBoxAttrData, IGroupData {
1012
1021
  }
1013
1022
  interface IBoxInputData extends IBoxAttrData, IGroupInputData {
1014
1023
  }
1024
+ interface IEllipseBox extends IEllipseAttrData, IBox {
1025
+ __: IEllipseBoxData;
1026
+ }
1027
+ interface IEllipseBoxData extends IEllipseAttrData, IBoxData {
1028
+ }
1029
+ interface IEllipseBoxInputData extends IEllipseAttrData, IBoxInputData {
1030
+ }
1031
+ interface IPolygonBox extends IPolygonAttrData, IBox {
1032
+ __: IPolygonBoxData;
1033
+ }
1034
+ interface IPolygonBoxData extends IPolygonAttrData, IBoxData {
1035
+ }
1036
+ interface IPolygonBoxInputData extends IPolygonAttrData, IBoxInputData {
1037
+ }
1038
+ interface IStarBox extends IStarAttrData, IBox {
1039
+ __: IStarBoxData;
1040
+ }
1041
+ interface IStarBoxData extends IStarAttrData, IBoxData {
1042
+ }
1043
+ interface IStarBoxInputData extends IStarAttrData, IBoxInputData {
1044
+ }
1045
+ interface IPathBox extends IBox {
1046
+ __: IPathBoxData;
1047
+ }
1048
+ interface IPathBoxData extends IBoxData {
1049
+ }
1050
+ interface IPathBoxInputData extends IBoxInputData {
1051
+ }
1052
+ interface IImageBox extends IImageAttrData, IBox {
1053
+ __: IImageBoxData;
1054
+ readonly ready: boolean;
1055
+ readonly image?: ILeaferImage;
1056
+ }
1057
+ interface IImageBoxData extends IImageAttrData, IBoxData {
1058
+ readonly __urlType: IMultimediaType;
1059
+ __setImageFill(value: string): void;
1060
+ }
1061
+ interface IImageBoxInputData extends IImageAttrData, IBoxInputData {
1062
+ }
1015
1063
  interface IGroup extends IUI {
1016
1064
  __: IGroupData;
1017
1065
  children: IUI[];
@@ -1137,7 +1185,7 @@ interface IUIComputedData extends IUIAttrData, IFillComputedData, IBorderCompute
1137
1185
  interface IUIBaseInputData extends IUIAttrData, IFillInputData, IStrokeInputData, ITextStyleInputData, ICornerRadiusInputData, IEffectInputData, ILeafInputData {
1138
1186
  children?: IUIInputData[];
1139
1187
  }
1140
- type IUITag = 'App' | 'Leafer' | 'Rect' | 'Ellipse' | 'Polygon' | 'Star' | 'Line' | 'Path' | 'Pen' | 'Text' | 'Image' | 'Canvas' | 'Group' | 'Frame' | 'Box' | 'Arrow' | 'Robot' | 'Film' | 'Video' | (string & {});
1188
+ type IUITag = 'App' | 'Leafer' | 'Rect' | 'Ellipse' | 'Polygon' | 'Star' | 'Line' | 'Path' | 'Pen' | 'Text' | 'Image' | 'Canvas' | 'Group' | 'Frame' | 'Box' | 'Arrow' | 'Robot' | 'Film' | 'Video' | (string & {}) | 'EllipseBox' | 'PolygonBox' | 'StarBox' | 'LineBox' | 'PathBox' | 'ImageBox' | 'CanvasBox';
1141
1189
  interface IUIInputData extends IRectInputData, IEllipseInputData, IPolygonInputData, IStarInputData, ILineInputData, IPathInputData, ITextInputData, IImageInputData, IGroupInputData, IBoxInputData, IFrameInputData, IFlowInputData, IArrowInputData, IVideoInputData, IRobotInputData, IUIBaseInputData, IObject {
1142
1190
  children?: IUIInputData[];
1143
1191
  }
@@ -1339,4 +1387,4 @@ interface IFilterFunction {
1339
1387
  (filter: IFilter, ui: IUI, bounds: IMatrixWithBoundsScaleData, currentCanvas: ILeaferCanvas, originCanvas: ILeaferCanvas, shape: ICachedShape): void;
1340
1388
  }
1341
1389
 
1342
- export type { IAnimate, IAnimateKeyframe, IAnimateList, IAnimateType, IAnimation, IApp, IAppConfig, IAppData, IAppForEachFunction, IAppInputData, IArrow, IArrowData, IArrowInputData, IArrowStyle, IArrowType, IArrowTypeData, IBackgroundBoxStyle, IBlurEffect, IBox, IBoxData, IBoxInputData, ICachedShape, ICanvas, ICanvasData, ICanvasInputData, IColor, IColorConvertModule, IColorStop, IColorString, IComputedKeyframe, ICornerRadiusString, IDashPatternString, IEditBoxBase, IEditPoint, IEditPointInputData, IEditPointType, IEditToolFunction, IEditorBase, IEditorBeforeEditInner, IEditorBeforeEditOuter, IEditorBeforeMove, IEditorBeforeRotate, IEditorBeforeScale, IEditorBeforeSelect, IEditorBeforeSkew, IEditorConfig, IEditorConfigFunction, IEditorDragStartData, IEditorEditInnerData, IEditorEditOuterData, IEditorMoveData, IEditorRotationData, IEditorScaleData, IEditorSelectData, IEditorSkewData, IEffect, IEffectAttrData, IEffectComputedData, IEffectInputData, IEffectModule, IEllipse, IEllipseData, IEllipseInputData, IExportModule, IFill, IFilm, IFilmData, IFilmInputData, IFilterFunction, IFilterModule, IFilterProcessor, IFindUIMethod, IFlow, IFlowData, IFlowInputData, IFontWeight, IFontWeightNumer, IFontWeightString, IFrame, IFrameData, IFrameInputData, IFrameRenderModule, IGradientPaint, IGradientType, IGrayscaleEffect, IGroup, IGroupData, IGroupInputData, IGroupRenderModule, IImage, IImageData, IImageFilter, IImageFilterType, IImageFilters, IImageInputData, IImagePaint, IImagePaintMode, IImageRenderModule, IKeyframe, IKeyframeId, IKeyframesAnimation, ILeafFill, ILeafPaint, ILeafPaintColor, ILeafPaintPatternData, ILeafShadowEffect, ILeafStrokePaint, ILeafer, ILeaferData, ILeaferInputData, ILine, ILineData, ILineInputData, ILinker, ILinkerComputedPointData, ILinkerData, ILinkerInputData, ILinkerPointData, ILinkerPointOptions, ILinkerPointType, IOverflow, IPaint, IPaintAttr, IPaintBase, IPaintGradientModule, IPaintImageModule, IPaintModule, IPaintString, IPaintType, IPath, IPathArrowModule, IPathData, IPathDataArrow, IPathDataArrowMap, IPathDataArrowOffset, IPathInputData, IPen, IPenData, IPenInputData, IPercent, IPolygon, IPolygonData, IPolygonInputData, IRGB, IRGBA, IRect, IRectData, IRectInputData, IRectRenderModule, IRepeat, IRobot, IRobotActionName, IRobotActions, IRobotAnimation, IRobotComputedKeyframe, IRobotData, IRobotInputData, IRobotKeyframe, IScrollConfig, IScrollTheme, IScroller, IShadowEffect, IShadowString, ISolidPaint, IStar, IStarData, IStarInputData, IStateModule, IStateName, IStateStyle, IStates, IStroke, IStrokeAlign, IStrokeAttrData, IStrokeCap, IStrokeComputedData, IStrokeComputedStyle, IStrokeGradientPaint, IStrokeImagePaint, IStrokeInputData, IStrokeJoin, IStrokePaint, IStrokeSolidPaint, IStrokeStyle, IStrokeWidthString, IStyleAnimation, IText, ITextAlign, ITextCase, ITextCharData, ITextConvertModule, ITextData, ITextDecoration, ITextDecorationData, ITextDecorationType, ITextDrawData, ITextInputData, ITextOverflow, ITextRenderModule, ITextRowData, ITextStyleAttrData, ITextStyleComputedData, ITextStyleInputData, ITextWordData, ITextWrap, ITransformTool, ITransitionFunction, ITransitionMap, ITransitionModule, IUI, IUIBaseInputData, IUIBoundsModule, IUIData, IUIHitModule, IUIInputData, IUIJSONData, IUIRenderModule, IUITag, IVectorPath, IVerticalAlign, IVideo, IVideoData, IVideoInputData, IWritingMode };
1390
+ export type { IAnimate, IAnimateKeyframe, IAnimateList, IAnimateType, IAnimation, IApp, IAppConfig, IAppData, IAppForEachFunction, IAppInputData, IArrow, IArrowData, IArrowInputData, IArrowStyle, IArrowType, IArrowTypeData, IBackgroundBoxStyle, IBlurEffect, IBox, IBoxData, IBoxInputData, ICachedShape, ICanvas, ICanvasData, ICanvasInputData, IColor, IColorConvertModule, IColorStop, IColorString, IComputedKeyframe, ICornerRadiusString, IDashPatternString, IEditBoxBase, IEditPoint, IEditPointInputData, IEditPointType, IEditToolFunction, IEditorBase, IEditorBeforeEditInner, IEditorBeforeEditOuter, IEditorBeforeMove, IEditorBeforeRotate, IEditorBeforeScale, IEditorBeforeSelect, IEditorBeforeSkew, IEditorConfig, IEditorConfigFunction, IEditorDragStartData, IEditorEditInnerData, IEditorEditOuterData, IEditorMoveData, IEditorOnCopy, IEditorRotationData, IEditorScaleData, IEditorSelectData, IEditorSkewData, IEffect, IEffectAttrData, IEffectComputedData, IEffectInputData, IEffectModule, IEllipse, IEllipseBox, IEllipseBoxData, IEllipseBoxInputData, IEllipseData, IEllipseInputData, IExportModule, IFill, IFilm, IFilmData, IFilmInputData, IFilterFunction, IFilterModule, IFilterProcessor, IFindUIMethod, IFlow, IFlowData, IFlowInputData, IFontWeight, IFontWeightNumer, IFontWeightString, IFrame, IFrameData, IFrameInputData, IFrameRenderModule, IGradientPaint, IGradientType, IGrayscaleEffect, IGroup, IGroupData, IGroupInputData, IGroupRenderModule, IImage, IImageBox, IImageBoxData, IImageBoxInputData, IImageData, IImageFilter, IImageFilterType, IImageFilters, IImageInputData, IImagePaint, IImagePaintMode, IImageRenderModule, IKeyframe, IKeyframeId, IKeyframesAnimation, ILeafFill, ILeafPaint, ILeafPaintColor, ILeafPaintPatternData, ILeafShadowEffect, ILeafStrokePaint, ILeafer, ILeaferData, ILeaferInputData, ILine, ILineData, ILineInputData, ILinker, ILinkerComputedPointData, ILinkerData, ILinkerInputData, ILinkerPointData, ILinkerPointOptions, ILinkerPointType, IOverflow, IPaint, IPaintAttr, IPaintBase, IPaintGradientModule, IPaintImageModule, IPaintModule, IPaintString, IPaintType, IPath, IPathArrowModule, IPathBox, IPathBoxData, IPathBoxInputData, IPathData, IPathDataArrow, IPathDataArrowMap, IPathDataArrowOffset, IPathInputData, IPen, IPenData, IPenInputData, IPercent, IPolygon, IPolygonBox, IPolygonBoxData, IPolygonBoxInputData, IPolygonData, IPolygonInputData, IRGB, IRGBA, IRect, IRectData, IRectInputData, IRectRenderModule, IRepeat, IRobot, IRobotActionName, IRobotActions, IRobotAnimation, IRobotComputedKeyframe, IRobotData, IRobotInputData, IRobotKeyframe, IScrollConfig, IScrollTheme, IScroller, IShadowEffect, IShadowString, ISolidPaint, IStar, IStarBox, IStarBoxData, IStarBoxInputData, IStarData, IStarInputData, IStateModule, IStateName, IStateStyle, IStates, IStroke, IStrokeAlign, IStrokeAttrData, IStrokeCap, IStrokeComputedData, IStrokeComputedStyle, IStrokeGradientPaint, IStrokeImagePaint, IStrokeInputData, IStrokeJoin, IStrokePaint, IStrokeSolidPaint, IStrokeStyle, IStrokeWidthString, IStyleAnimation, IText, ITextAlign, ITextCase, ITextCharData, ITextConvertModule, ITextData, ITextDecoration, ITextDecorationData, ITextDecorationType, ITextDrawData, ITextInputData, ITextOverflow, ITextRenderModule, ITextRowData, ITextStyleAttrData, ITextStyleComputedData, ITextStyleInputData, ITextWordData, ITextWrap, ITransformTool, ITransitionFunction, ITransitionMap, ITransitionModule, IUI, IUIBaseInputData, IUIBoundsModule, IUIData, IUIHitModule, IUIInputData, IUIJSONData, IUIRenderModule, IUITag, IVectorPath, IVerticalAlign, IVideo, IVideoData, IVideoInputData, IWritingMode };