@leafer-in/interface 1.0.0-rc.3 → 1.0.0-rc.30
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 +3 -3
- package/src/editor/IEditBox.ts +7 -0
- package/src/editor/IEditSelect.ts +22 -0
- package/src/editor/IEditor.ts +114 -0
- package/src/editor/ISelectArea.ts +6 -0
- package/src/editor/IStroker.ts +6 -0
- package/src/flow/index.ts +36 -0
- package/src/html/IHTMLTextData.ts +9 -0
- package/src/index.ts +18 -1
- package/src/scroll/IScrollBar.ts +15 -0
- package/types/index.d.ts +146 -63
- package/src/IEditor.ts +0 -98
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leafer-in/interface",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.30",
|
|
4
4
|
"description": "@leafer-in/interface",
|
|
5
5
|
"author": "Chao (Leafer) Wan",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"leaferjs"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@leafer-ui/interface": "1.0.0-rc.
|
|
29
|
-
"@leafer/interface": "1.0.0-rc.
|
|
28
|
+
"@leafer-ui/interface": "1.0.0-rc.30",
|
|
29
|
+
"@leafer/interface": "1.0.0-rc.30"
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IGroup, IUI, IBounds, IPointerEvent } from '@leafer-ui/interface'
|
|
2
|
+
|
|
3
|
+
import { IStroker } from './IStroker'
|
|
4
|
+
import { ISelectArea } from './ISelectArea'
|
|
5
|
+
import { IEditor } from './IEditor'
|
|
6
|
+
|
|
7
|
+
export interface IEditSelect extends IGroup {
|
|
8
|
+
editor: IEditor
|
|
9
|
+
|
|
10
|
+
dragging: boolean
|
|
11
|
+
running: boolean
|
|
12
|
+
|
|
13
|
+
hoverStroker: IStroker
|
|
14
|
+
targetStroker: IStroker
|
|
15
|
+
|
|
16
|
+
selectArea: ISelectArea
|
|
17
|
+
bounds: IBounds
|
|
18
|
+
|
|
19
|
+
findUI(e: IPointerEvent): IUI
|
|
20
|
+
findDeepOne(e: IPointerEvent): IUI
|
|
21
|
+
update(): void
|
|
22
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { IUI, IPointData, IAround, IDragEvent, IEvent, IEventListenerId, IMatrixData, IEditorBase, IGroup, IObject } from '@leafer-ui/interface'
|
|
2
|
+
|
|
3
|
+
import { IEditBox } from './IEditBox'
|
|
4
|
+
import { IEditSelect } from './IEditSelect'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export interface IEditor extends IEditorBase {
|
|
8
|
+
simulateTarget: IUI
|
|
9
|
+
|
|
10
|
+
selector: IEditSelect
|
|
11
|
+
editBox: IEditBox
|
|
12
|
+
editTool?: IEditTool
|
|
13
|
+
innerEditor?: IInnerEditor
|
|
14
|
+
|
|
15
|
+
dragStartPoint: IPointData
|
|
16
|
+
targetEventIds: IEventListenerId[]
|
|
17
|
+
|
|
18
|
+
checkOpenedGroups(): void
|
|
19
|
+
|
|
20
|
+
listenTargetEvents(): void
|
|
21
|
+
removeTargetEvents(): void
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface IEditTool extends IInnerEditor {
|
|
25
|
+
// 操作
|
|
26
|
+
onMove(e: IEditorMoveEvent): void
|
|
27
|
+
onScale(e: IEditorScaleEvent): void
|
|
28
|
+
onScaleWithDrag?(e: IEditorScaleEvent): void
|
|
29
|
+
onRotate(e: IEditorRotateEvent): void
|
|
30
|
+
onSkew(e: IEditorSkewEvent): void
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface IInnerEditor {
|
|
34
|
+
tag: string
|
|
35
|
+
editTarget: IUI
|
|
36
|
+
config: IObject
|
|
37
|
+
|
|
38
|
+
editor: IEditor
|
|
39
|
+
editBox: IEditBox
|
|
40
|
+
view: IGroup
|
|
41
|
+
|
|
42
|
+
eventIds: IEventListenerId[]
|
|
43
|
+
|
|
44
|
+
onCreate(): void
|
|
45
|
+
create(): void
|
|
46
|
+
|
|
47
|
+
// 状态
|
|
48
|
+
onLoad(): void
|
|
49
|
+
load(): void
|
|
50
|
+
|
|
51
|
+
onLoad(): void
|
|
52
|
+
unload(): void
|
|
53
|
+
|
|
54
|
+
onUpdate(): void
|
|
55
|
+
update(): void
|
|
56
|
+
|
|
57
|
+
onDestroy(): void
|
|
58
|
+
destroy(): void
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface IEditorEvent extends IEvent {
|
|
62
|
+
readonly target?: IUI
|
|
63
|
+
readonly editor?: IEditor
|
|
64
|
+
|
|
65
|
+
readonly value?: IUI | IUI[]
|
|
66
|
+
readonly oldValue?: IUI | IUI[]
|
|
67
|
+
readonly list?: IUI[]
|
|
68
|
+
readonly oldList?: IUI[]
|
|
69
|
+
|
|
70
|
+
readonly worldOrigin?: IPointData
|
|
71
|
+
readonly origin?: IPointData
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface IInnerEditorEvent extends IEditorEvent {
|
|
75
|
+
editTarget: IUI
|
|
76
|
+
innerEditor: IInnerEditor
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export interface IEditorGroupEvent extends IEditorEvent {
|
|
80
|
+
editTarget: IGroup
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
export interface IEditorMoveEvent extends IEditorEvent {
|
|
85
|
+
readonly moveX: number
|
|
86
|
+
readonly moveY: number
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export interface IEditorScaleEvent extends IEditorEvent {
|
|
90
|
+
// scaleOf(origin, scaleX, scaleY, resize) / transform(transform, resize)
|
|
91
|
+
readonly scaleX?: number
|
|
92
|
+
readonly scaleY?: number
|
|
93
|
+
transform?: IMatrixData
|
|
94
|
+
|
|
95
|
+
readonly direction?: number
|
|
96
|
+
readonly lockRatio?: boolean | 'corner'
|
|
97
|
+
readonly around?: IAround
|
|
98
|
+
|
|
99
|
+
drag?: IDragEvent
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export interface IEditorRotateEvent extends IEditorEvent {
|
|
103
|
+
// rotateOf(origin, rotation)
|
|
104
|
+
transform?: IMatrixData
|
|
105
|
+
readonly rotation?: number
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export interface IEditorSkewEvent extends IEditorEvent {
|
|
109
|
+
// skewOf(origin, skewX, skewY)
|
|
110
|
+
transform?: IMatrixData
|
|
111
|
+
readonly skewX?: number
|
|
112
|
+
readonly skewY?: number
|
|
113
|
+
}
|
|
114
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IBoundsData, IGap, IFlowAlign, IAxisAlign, IFlowWrap } from '@leafer-ui/interface'
|
|
2
|
+
|
|
3
|
+
export interface IFlowWrapDrawData extends IGapBoundsData {
|
|
4
|
+
list: IFlowDrawData[]
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface IFlowDrawData extends IGapBoundsData {
|
|
8
|
+
start: number
|
|
9
|
+
grow: number
|
|
10
|
+
hasRangeSize?: boolean
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface IGapBoundsData extends IBoundsData {
|
|
14
|
+
count: number
|
|
15
|
+
gap: number
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface IFlowAlignToAxisAlignMap {
|
|
19
|
+
[name: string]: IAxisAlign
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface IFlowParseData {
|
|
23
|
+
complex: boolean
|
|
24
|
+
wrap: IFlowWrap
|
|
25
|
+
|
|
26
|
+
xGap: IGap
|
|
27
|
+
yGap: IGap
|
|
28
|
+
isAutoXGap: boolean
|
|
29
|
+
isAutoYGap: boolean
|
|
30
|
+
isFitXGap: boolean
|
|
31
|
+
isFitYGap: boolean
|
|
32
|
+
|
|
33
|
+
contentAlign: IFlowAlign
|
|
34
|
+
rowXAlign: IAxisAlign
|
|
35
|
+
rowYAlign: IAxisAlign
|
|
36
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IImageInputData, IImageData } from '@leafer-ui/interface'
|
|
2
|
+
|
|
3
|
+
interface IHTMLTextAttrData {
|
|
4
|
+
text?: string
|
|
5
|
+
__htmlChanged?: boolean
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface IHTMLTextData extends IHTMLTextAttrData, IImageData { }
|
|
9
|
+
export interface IHTMLTextInputData extends IHTMLTextAttrData, IImageInputData { }
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
1
|
export * from '@leafer-ui/interface'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// editor
|
|
4
|
+
export { IEditor, IEditTool, IInnerEditor, IEditorEvent, IInnerEditorEvent, IEditorGroupEvent, IEditorMoveEvent, IEditorScaleEvent, IEditorRotateEvent, IEditorSkewEvent } from './editor/IEditor'
|
|
5
|
+
export { IStroker } from './editor/IStroker'
|
|
6
|
+
export { IEditBox } from './editor/IEditBox'
|
|
7
|
+
export { ISelectArea } from './editor/ISelectArea'
|
|
8
|
+
export { IEditSelect } from './editor/IEditSelect'
|
|
9
|
+
|
|
10
|
+
// html
|
|
11
|
+
|
|
12
|
+
export { IHTMLTextData, IHTMLTextInputData } from './html/IHTMLTextData'
|
|
13
|
+
|
|
14
|
+
// scroll
|
|
15
|
+
|
|
16
|
+
export { IScrollBar, IScrollBarConfig, IScrollBarTheme } from './scroll/IScrollBar'
|
|
17
|
+
|
|
18
|
+
// flow
|
|
19
|
+
|
|
20
|
+
export { IFlowWrapDrawData, IFlowDrawData, IGapBoundsData, IFlowAlignToAxisAlignMap, IFlowParseData } from './flow'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IBoxInputData, IFourNumber, IGroup } from '@leafer-ui/interface'
|
|
2
|
+
|
|
3
|
+
export interface IScrollBarConfig {
|
|
4
|
+
theme?: IScrollBarTheme
|
|
5
|
+
padding?: IFourNumber
|
|
6
|
+
minSize?: number
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type IScrollBarTheme = 'light' | 'dark' | IBoxInputData
|
|
10
|
+
|
|
11
|
+
export interface IScrollBar extends IGroup {
|
|
12
|
+
config: IScrollBarConfig
|
|
13
|
+
changeTheme(theme: IScrollBarTheme): void
|
|
14
|
+
update(check: boolean): void
|
|
15
|
+
}
|
package/types/index.d.ts
CHANGED
|
@@ -1,76 +1,159 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IEditBoxBase, IUI, IRectInputData, IGroup, IBoundsData, IBounds, IPointerEvent, IEditorBase, IPointData, IEventListenerId, IObject, IEvent, IMatrixData, IAround, IDragEvent, IImageData, IImageInputData, IFourNumber, IBoxInputData, IAxisAlign, IFlowWrap, IGap, IFlowAlign } from '@leafer-ui/interface';
|
|
2
2
|
export * from '@leafer-ui/interface';
|
|
3
3
|
|
|
4
|
-
interface
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
interface IEditBox extends IEditBoxBase {
|
|
5
|
+
editor: IEditor;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
interface IStroker extends IUI {
|
|
9
|
+
target: IUI | IUI[];
|
|
10
|
+
setTarget(target: IUI | IUI[], style: IRectInputData): void;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
interface ISelectArea extends IGroup {
|
|
14
|
+
setStyle(style: IRectInputData, userStyle?: IRectInputData): void;
|
|
15
|
+
setBounds(bounds: IBoundsData): void;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface IEditSelect extends IGroup {
|
|
19
|
+
editor: IEditor;
|
|
20
|
+
dragging: boolean;
|
|
21
|
+
running: boolean;
|
|
22
|
+
hoverStroker: IStroker;
|
|
23
|
+
targetStroker: IStroker;
|
|
24
|
+
selectArea: ISelectArea;
|
|
25
|
+
bounds: IBounds;
|
|
26
|
+
findUI(e: IPointerEvent): IUI;
|
|
27
|
+
findDeepOne(e: IPointerEvent): IUI;
|
|
16
28
|
update(): void;
|
|
17
29
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
30
|
+
|
|
31
|
+
interface IEditor extends IEditorBase {
|
|
32
|
+
simulateTarget: IUI;
|
|
33
|
+
selector: IEditSelect;
|
|
34
|
+
editBox: IEditBox;
|
|
35
|
+
editTool?: IEditTool;
|
|
36
|
+
innerEditor?: IInnerEditor;
|
|
37
|
+
dragStartPoint: IPointData;
|
|
38
|
+
targetEventIds: IEventListenerId[];
|
|
39
|
+
checkOpenedGroups(): void;
|
|
40
|
+
listenTargetEvents(): void;
|
|
41
|
+
removeTargetEvents(): void;
|
|
42
|
+
}
|
|
43
|
+
interface IEditTool extends IInnerEditor {
|
|
44
|
+
onMove(e: IEditorMoveEvent): void;
|
|
45
|
+
onScale(e: IEditorScaleEvent): void;
|
|
46
|
+
onScaleWithDrag?(e: IEditorScaleEvent): void;
|
|
47
|
+
onRotate(e: IEditorRotateEvent): void;
|
|
48
|
+
onSkew(e: IEditorSkewEvent): void;
|
|
49
|
+
}
|
|
50
|
+
interface IInnerEditor {
|
|
51
|
+
tag: string;
|
|
52
|
+
editTarget: IUI;
|
|
53
|
+
config: IObject;
|
|
54
|
+
editor: IEditor;
|
|
55
|
+
editBox: IEditBox;
|
|
56
|
+
view: IGroup;
|
|
57
|
+
eventIds: IEventListenerId[];
|
|
58
|
+
onCreate(): void;
|
|
59
|
+
create(): void;
|
|
60
|
+
onLoad(): void;
|
|
61
|
+
load(): void;
|
|
62
|
+
onLoad(): void;
|
|
63
|
+
unload(): void;
|
|
64
|
+
onUpdate(): void;
|
|
65
|
+
update(): void;
|
|
66
|
+
onDestroy(): void;
|
|
67
|
+
destroy(): void;
|
|
68
|
+
}
|
|
69
|
+
interface IEditorEvent extends IEvent {
|
|
56
70
|
readonly target?: IUI;
|
|
57
71
|
readonly editor?: IEditor;
|
|
58
|
-
readonly
|
|
59
|
-
readonly
|
|
60
|
-
readonly
|
|
61
|
-
readonly
|
|
62
|
-
readonly
|
|
63
|
-
readonly bounds?: IBoundsData;
|
|
64
|
-
readonly old?: IBoundsData;
|
|
72
|
+
readonly value?: IUI | IUI[];
|
|
73
|
+
readonly oldValue?: IUI | IUI[];
|
|
74
|
+
readonly list?: IUI[];
|
|
75
|
+
readonly oldList?: IUI[];
|
|
76
|
+
readonly worldOrigin?: IPointData;
|
|
65
77
|
readonly origin?: IPointData;
|
|
78
|
+
}
|
|
79
|
+
interface IInnerEditorEvent extends IEditorEvent {
|
|
80
|
+
editTarget: IUI;
|
|
81
|
+
innerEditor: IInnerEditor;
|
|
82
|
+
}
|
|
83
|
+
interface IEditorGroupEvent extends IEditorEvent {
|
|
84
|
+
editTarget: IGroup;
|
|
85
|
+
}
|
|
86
|
+
interface IEditorMoveEvent extends IEditorEvent {
|
|
87
|
+
readonly moveX: number;
|
|
88
|
+
readonly moveY: number;
|
|
89
|
+
}
|
|
90
|
+
interface IEditorScaleEvent extends IEditorEvent {
|
|
66
91
|
readonly scaleX?: number;
|
|
67
92
|
readonly scaleY?: number;
|
|
93
|
+
transform?: IMatrixData;
|
|
94
|
+
readonly direction?: number;
|
|
95
|
+
readonly lockRatio?: boolean | 'corner';
|
|
96
|
+
readonly around?: IAround;
|
|
97
|
+
drag?: IDragEvent;
|
|
68
98
|
}
|
|
69
|
-
interface IEditorRotateEvent extends
|
|
70
|
-
|
|
71
|
-
readonly editor?: IEditor;
|
|
72
|
-
readonly origin?: IPointData;
|
|
99
|
+
interface IEditorRotateEvent extends IEditorEvent {
|
|
100
|
+
transform?: IMatrixData;
|
|
73
101
|
readonly rotation?: number;
|
|
74
102
|
}
|
|
103
|
+
interface IEditorSkewEvent extends IEditorEvent {
|
|
104
|
+
transform?: IMatrixData;
|
|
105
|
+
readonly skewX?: number;
|
|
106
|
+
readonly skewY?: number;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
interface IHTMLTextAttrData {
|
|
110
|
+
text?: string;
|
|
111
|
+
__htmlChanged?: boolean;
|
|
112
|
+
}
|
|
113
|
+
interface IHTMLTextData extends IHTMLTextAttrData, IImageData {
|
|
114
|
+
}
|
|
115
|
+
interface IHTMLTextInputData extends IHTMLTextAttrData, IImageInputData {
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
interface IScrollBarConfig {
|
|
119
|
+
theme?: IScrollBarTheme;
|
|
120
|
+
padding?: IFourNumber;
|
|
121
|
+
minSize?: number;
|
|
122
|
+
}
|
|
123
|
+
type IScrollBarTheme = 'light' | 'dark' | IBoxInputData;
|
|
124
|
+
interface IScrollBar extends IGroup {
|
|
125
|
+
config: IScrollBarConfig;
|
|
126
|
+
changeTheme(theme: IScrollBarTheme): void;
|
|
127
|
+
update(check: boolean): void;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
interface IFlowWrapDrawData extends IGapBoundsData {
|
|
131
|
+
list: IFlowDrawData[];
|
|
132
|
+
}
|
|
133
|
+
interface IFlowDrawData extends IGapBoundsData {
|
|
134
|
+
start: number;
|
|
135
|
+
grow: number;
|
|
136
|
+
hasRangeSize?: boolean;
|
|
137
|
+
}
|
|
138
|
+
interface IGapBoundsData extends IBoundsData {
|
|
139
|
+
count: number;
|
|
140
|
+
gap: number;
|
|
141
|
+
}
|
|
142
|
+
interface IFlowAlignToAxisAlignMap {
|
|
143
|
+
[name: string]: IAxisAlign;
|
|
144
|
+
}
|
|
145
|
+
interface IFlowParseData {
|
|
146
|
+
complex: boolean;
|
|
147
|
+
wrap: IFlowWrap;
|
|
148
|
+
xGap: IGap;
|
|
149
|
+
yGap: IGap;
|
|
150
|
+
isAutoXGap: boolean;
|
|
151
|
+
isAutoYGap: boolean;
|
|
152
|
+
isFitXGap: boolean;
|
|
153
|
+
isFitYGap: boolean;
|
|
154
|
+
contentAlign: IFlowAlign;
|
|
155
|
+
rowXAlign: IAxisAlign;
|
|
156
|
+
rowYAlign: IAxisAlign;
|
|
157
|
+
}
|
|
75
158
|
|
|
76
|
-
export {
|
|
159
|
+
export type { IEditBox, IEditSelect, IEditTool, IEditor, IEditorEvent, IEditorGroupEvent, IEditorMoveEvent, IEditorRotateEvent, IEditorScaleEvent, IEditorSkewEvent, IFlowAlignToAxisAlignMap, IFlowDrawData, IFlowParseData, IFlowWrapDrawData, IGapBoundsData, IHTMLTextData, IHTMLTextInputData, IInnerEditor, IInnerEditorEvent, IScrollBar, IScrollBarConfig, IScrollBarTheme, ISelectArea, IStroker };
|
package/src/IEditor.ts
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { IGroup, IUI, IRectInputData, IResizeType, IPolygon, ICursorType, IBoundsData, IPointData, IAround, IDragEvent, IEvent } from '@leafer-ui/interface'
|
|
2
|
-
|
|
3
|
-
export interface IEditor extends IGroup {
|
|
4
|
-
config: IEditorConfig
|
|
5
|
-
|
|
6
|
-
resizePoints: IUI[]
|
|
7
|
-
rotatePoints: IUI[]
|
|
8
|
-
resizeLines: IUI[]
|
|
9
|
-
|
|
10
|
-
circle: IUI
|
|
11
|
-
targetRect: IUI
|
|
12
|
-
rect: IPolygon
|
|
13
|
-
|
|
14
|
-
target: IUI
|
|
15
|
-
|
|
16
|
-
tool: IEditorTool
|
|
17
|
-
|
|
18
|
-
enterPoint: IUI
|
|
19
|
-
|
|
20
|
-
getTool(value: IUI): IEditorTool
|
|
21
|
-
update(): void
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface IEditorTool {
|
|
25
|
-
name: string
|
|
26
|
-
getMirrorData(editor: IEditor): IPointData
|
|
27
|
-
resize(e: IEditorResizeEvent): void
|
|
28
|
-
rotate(e: IEditorRotateEvent): void
|
|
29
|
-
update(editor: IEditor): void
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface IEditorConfig {
|
|
33
|
-
type?: 'pc' | 'mobile'
|
|
34
|
-
resizeType?: 'auto' | IResizeType
|
|
35
|
-
|
|
36
|
-
around?: IAround
|
|
37
|
-
lockRatio?: boolean
|
|
38
|
-
rotateGap?: number
|
|
39
|
-
|
|
40
|
-
stroke?: string
|
|
41
|
-
pointFill?: string
|
|
42
|
-
pointSize?: number
|
|
43
|
-
pointRadius?: number
|
|
44
|
-
|
|
45
|
-
point?: IRectInputData | IRectInputData[]
|
|
46
|
-
rotatePoint?: IRectInputData
|
|
47
|
-
rect?: IRectInputData
|
|
48
|
-
|
|
49
|
-
hideOnMove?: boolean
|
|
50
|
-
|
|
51
|
-
moveCursor?: ICursorType
|
|
52
|
-
resizeCursor?: ICursorType[]
|
|
53
|
-
rotateCursor?: ICursorType[]
|
|
54
|
-
|
|
55
|
-
rotateable?: boolean
|
|
56
|
-
resizeable?: boolean
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export enum IDirection8 {
|
|
60
|
-
topLeft,
|
|
61
|
-
top,
|
|
62
|
-
topRight,
|
|
63
|
-
right,
|
|
64
|
-
bottomRight,
|
|
65
|
-
bottom,
|
|
66
|
-
bottomLeft,
|
|
67
|
-
left
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export interface IEditorResizeEvent extends IEvent {
|
|
71
|
-
readonly target?: IUI
|
|
72
|
-
readonly editor?: IEditor
|
|
73
|
-
|
|
74
|
-
readonly resizeType?: IResizeType
|
|
75
|
-
readonly lockRatio?: boolean
|
|
76
|
-
readonly around?: IAround
|
|
77
|
-
|
|
78
|
-
readonly dragEvent?: IDragEvent
|
|
79
|
-
readonly direction?: IDirection8
|
|
80
|
-
|
|
81
|
-
// from old to bounds
|
|
82
|
-
readonly bounds?: IBoundsData
|
|
83
|
-
readonly old?: IBoundsData
|
|
84
|
-
|
|
85
|
-
// scaleOf(origin, scaleX, scaleY)
|
|
86
|
-
readonly origin?: IPointData
|
|
87
|
-
readonly scaleX?: number
|
|
88
|
-
readonly scaleY?: number
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export interface IEditorRotateEvent extends IEvent {
|
|
92
|
-
readonly target?: IUI
|
|
93
|
-
readonly editor?: IEditor
|
|
94
|
-
|
|
95
|
-
// rotateOf(origin, rotation)
|
|
96
|
-
readonly origin?: IPointData
|
|
97
|
-
readonly rotation?: number
|
|
98
|
-
}
|