@vvfx/sdk 0.1.19-alpha.8 → 0.2.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/LICENSE +22 -0
- package/dist/index.js +96633 -14
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +96736 -0
- package/dist/index.mjs.map +1 -0
- package/dist/src/config.d.ts +855 -0
- package/dist/src/exporter/config.d.ts +18 -0
- package/dist/src/exporter/const.d.ts +71 -0
- package/dist/src/exporter/export-media.d.ts +68 -0
- package/dist/src/exporter/exporter.d.ts +22 -0
- package/dist/src/exporter/index.d.ts +2 -0
- package/dist/src/exporter/types.d.ts +194 -0
- package/dist/src/exporter/utils.d.ts +22 -0
- package/dist/src/exporter/wav-audio.d.ts +27 -0
- package/dist/src/gesture-handler/gizmo/adsorption-gizmo.d.ts +68 -0
- package/dist/src/gesture-handler/gizmo/control-gizmo.d.ts +67 -0
- package/dist/src/gesture-handler/gizmo/gizmo.d.ts +59 -0
- package/dist/src/gesture-handler/gizmo/icon-gizmo.d.ts +44 -0
- package/dist/src/gesture-handler/gizmo/index.d.ts +6 -0
- package/dist/src/gesture-handler/gizmo/item-create-gizmo.d.ts +43 -0
- package/dist/src/gesture-handler/gizmo/loading-gizmo.d.ts +48 -0
- package/dist/src/gesture-handler/gizmo/mask-gizmo.d.ts +113 -0
- package/dist/src/gesture-handler/gizmo/picture-cut-gizmo.d.ts +94 -0
- package/dist/src/gesture-handler/gizmo/picture-expand-gizmo.d.ts +57 -0
- package/dist/src/gesture-handler/gizmo/preference-gizmo.d.ts +32 -0
- package/dist/src/gesture-handler/gizmo/selector-gizmo.d.ts +101 -0
- package/dist/src/gesture-handler/gizmo/sprite-text-edit-gizmo.d.ts +36 -0
- package/dist/src/gesture-handler/gizmo/text-gizmo.d.ts +128 -0
- package/dist/src/gesture-handler/gizmo/transform-gizmo.d.ts +233 -0
- package/dist/src/gesture-handler/gizmo/type.d.ts +402 -0
- package/dist/src/gesture-handler/index.d.ts +3 -0
- package/dist/src/gesture-handler/src/gesture-handler.d.ts +143 -0
- package/dist/src/gesture-handler/src/icons.d.ts +7 -0
- package/dist/src/gesture-handler/utils.d.ts +2 -0
- package/dist/src/html-overlay/auto-height-runtime.d.ts +13 -0
- package/dist/src/html-overlay/document-runtime.d.ts +4 -0
- package/dist/src/html-overlay/document-transform.d.ts +7 -0
- package/dist/src/html-overlay/dom-order.d.ts +1 -0
- package/dist/src/html-overlay/host-message-runtime.d.ts +3 -0
- package/dist/src/html-overlay/html-viewport-style.d.ts +1 -0
- package/dist/src/html-overlay/index.d.ts +1 -0
- package/dist/src/html-overlay/manager.d.ts +77 -0
- package/dist/src/html-overlay/mime-utils.d.ts +2 -0
- package/dist/src/html-overlay/overlay-transform.d.ts +13 -0
- package/dist/src/html-overlay/path-utils.d.ts +8 -0
- package/dist/src/html-overlay/shell-runtime.d.ts +6 -0
- package/dist/src/index.d.ts +14 -0
- package/dist/src/math/box2.d.ts +166 -0
- package/dist/src/math/circle.d.ts +82 -0
- package/dist/src/math/euler.d.ts +20 -0
- package/dist/src/math/index.d.ts +13 -0
- package/dist/src/math/line2.d.ts +93 -0
- package/dist/src/math/line3.d.ts +17 -0
- package/dist/src/math/matrix4.d.ts +28 -0
- package/dist/src/math/plane.d.ts +14 -0
- package/dist/src/math/quaternion.d.ts +3 -0
- package/dist/src/math/ray-caster.d.ts +10 -0
- package/dist/src/math/ray.d.ts +18 -0
- package/dist/src/math/type.d.ts +32 -0
- package/dist/src/math/utils.d.ts +19 -0
- package/dist/src/math/vector2.d.ts +30 -0
- package/dist/src/math/vector3.d.ts +29 -0
- package/dist/src/screen-shot/index.d.ts +1 -0
- package/dist/src/screen-shot/screen-shot.d.ts +35 -0
- package/dist/src/sdk-item/base-item.d.ts +126 -0
- package/dist/src/sdk-item/card-item.d.ts +67 -0
- package/dist/src/sdk-item/effects-item.d.ts +70 -0
- package/dist/src/sdk-item/frame-item.d.ts +112 -0
- package/dist/src/sdk-item/generator-item.d.ts +86 -0
- package/dist/src/sdk-item/group-item.d.ts +57 -0
- package/dist/src/sdk-item/index.d.ts +36 -0
- package/dist/src/sdk-item/sprite-item.d.ts +67 -0
- package/dist/src/sdk-item/text-item.d.ts +107 -0
- package/dist/src/sdk-item/types.d.ts +153 -0
- package/dist/src/sdk-item/video-item.d.ts +87 -0
- package/dist/src/sdk.d.ts +589 -0
- package/dist/src/service/UndoRedo.d.ts +48 -0
- package/dist/src/shared/index.d.ts +1 -0
- package/dist/src/shared/player.d.ts +9 -0
- package/dist/src/size-adapte/index.d.ts +1 -0
- package/dist/src/size-adapte/size-adapt.d.ts +28 -0
- package/dist/src/types.d.ts +1298 -0
- package/dist/src/utils/background-manager.d.ts +72 -0
- package/dist/src/utils/common-utils.d.ts +28 -0
- package/dist/src/utils/index.d.ts +8 -0
- package/dist/src/utils/interaction-utils.d.ts +60 -0
- package/dist/src/utils/json-data-utils.d.ts +165 -0
- package/dist/src/utils/layout-utils.d.ts +219 -0
- package/dist/src/utils/page-data-utils.d.ts +372 -0
- package/dist/src/utils/player-data-utils.d.ts +11 -0
- package/dist/src/utils/types.d.ts +114 -0
- package/dist/src/wireframe/common/box.d.ts +1 -0
- package/dist/src/wireframe/common/dashed-line.d.ts +1 -0
- package/dist/src/wireframe/common/line.d.ts +1 -0
- package/dist/src/wireframe/common/pixi-ext.d.ts +11 -0
- package/dist/src/wireframe/common/pixi.d.ts +18 -0
- package/dist/src/wireframe/index.d.ts +4 -0
- package/package.json +42 -22
- package/dist/index.cjs +0 -14
- package/dist/index.d.cts +0 -3485
- package/dist/index.d.ts +0 -3485
- package/dist/index.global.js +0 -333
|
@@ -0,0 +1,589 @@
|
|
|
1
|
+
import { Player, spec } from './shared';
|
|
2
|
+
import type { SDKInputParam, PageConfig, PageData, SetItemPropertyParam, ViewProperty, ViewParam, ExportParam, SDKBackgroundType, SpriteCreateInfo, GroupCreateInfo, ItemCreateInfo, TextCreateInfo, ViewportFitShiftParam, SceneCreaetInfo, VideoCreateInfo, GeneratorCreateInfo, GeneratorResource, VideoGeneratorResource, SpriteGeneratorResource, EffectsCreateInfo, FrameCreateInfo, CardCreateInfo, CardItemTransformInfo, PageAutoLayoutParam } from './types';
|
|
3
|
+
import { SDKItemType } from './sdk-item/types';
|
|
4
|
+
import type { CardTypeConfig } from './config';
|
|
5
|
+
import { ItemOrderAction } from './types';
|
|
6
|
+
import type { ExportItemParams, ExportParams, ExportMediaItemDownloadInfo, FileBuffer, Buffers, Extras } from './exporter';
|
|
7
|
+
import { BackgroundManager } from './utils';
|
|
8
|
+
import { SDKConfig, ExportConfig, SDKMode, MaskGizmoConfig } from './config';
|
|
9
|
+
import { Box2, Vector2 } from './math';
|
|
10
|
+
import { GizmoOperation, Operation, UndoRedo } from './service/UndoRedo';
|
|
11
|
+
import { GestureHandlerInteractType, GizmoType, ItemCreateType, SpriteTextInitParam } from './gesture-handler/gizmo';
|
|
12
|
+
import { AlignType, DistributeType } from './utils/types';
|
|
13
|
+
import { SDKItem } from './sdk-item';
|
|
14
|
+
import type { LoadingGizmoItemOptions, LoadingGizmoTip } from './gesture-handler/gizmo/loading-gizmo';
|
|
15
|
+
import type { MaskUndoRedoData } from './gesture-handler/gizmo/mask-gizmo';
|
|
16
|
+
import type { PictureCutUndoRedoData } from './gesture-handler/gizmo/picture-cut-gizmo';
|
|
17
|
+
export type SDKEvents = {
|
|
18
|
+
'loadingItemChange': [id: string[]];
|
|
19
|
+
'selectedItemChange': [id: string[]];
|
|
20
|
+
'preSelectedItemChange': [id: string | undefined];
|
|
21
|
+
'selectedViewChange': [id: number];
|
|
22
|
+
'pageDataChange': [pageData: PageData];
|
|
23
|
+
'zoomChange': [zoom: number];
|
|
24
|
+
'progress': [{
|
|
25
|
+
duration: number;
|
|
26
|
+
time: number;
|
|
27
|
+
end: boolean;
|
|
28
|
+
paused: boolean;
|
|
29
|
+
}];
|
|
30
|
+
'itemPropertyChange': [{
|
|
31
|
+
id: string;
|
|
32
|
+
propertyKeys: string[];
|
|
33
|
+
}];
|
|
34
|
+
'exportProgress': [progress?: number];
|
|
35
|
+
'exportDone': [item: ExportItemParams | undefined, success: boolean, buffer?: FileBuffer];
|
|
36
|
+
'exportComplete': [success: boolean, taskInfos: ExportParams, buffers: Buffers, extras: Extras];
|
|
37
|
+
'sdkConfigChange': [preSDKConfig: SDKConfig, curSDKConfig: SDKConfig];
|
|
38
|
+
'cutBoxChange': [box: Box2];
|
|
39
|
+
'expandBoxChange': [box: Box2];
|
|
40
|
+
'textInput': [{
|
|
41
|
+
itemId: string;
|
|
42
|
+
text: string;
|
|
43
|
+
fontFamily: string;
|
|
44
|
+
}];
|
|
45
|
+
'undoRedoChange': [Operation];
|
|
46
|
+
'maskGizmoUndoRedoChange': [GizmoOperation<MaskUndoRedoData>];
|
|
47
|
+
'pictureCutGizmoUndoRedoChange': [GizmoOperation<PictureCutUndoRedoData>];
|
|
48
|
+
'viewportTransform': [{
|
|
49
|
+
zoom: number;
|
|
50
|
+
translation: [number, number];
|
|
51
|
+
}];
|
|
52
|
+
'itemOnDragStart': [type: GizmoType];
|
|
53
|
+
'itemOnDrag': [type: GizmoType];
|
|
54
|
+
'itemOnDragEnd': [type: GizmoType];
|
|
55
|
+
'spriteTextClick': [{
|
|
56
|
+
id: string;
|
|
57
|
+
index: number;
|
|
58
|
+
text: string;
|
|
59
|
+
} | undefined];
|
|
60
|
+
'videoPlay': [{
|
|
61
|
+
id: string;
|
|
62
|
+
time: number;
|
|
63
|
+
}];
|
|
64
|
+
'itemCreate': [{
|
|
65
|
+
type: ItemCreateType;
|
|
66
|
+
position: spec.vec2;
|
|
67
|
+
id: string;
|
|
68
|
+
}];
|
|
69
|
+
'cardItemTransformChange': [CardItemTransformInfo[]];
|
|
70
|
+
'viewLost': [];
|
|
71
|
+
'viewRebuildFinish': [];
|
|
72
|
+
};
|
|
73
|
+
export declare class SDK {
|
|
74
|
+
static config: SDKConfig;
|
|
75
|
+
private _eventEmitter;
|
|
76
|
+
private _pageData;
|
|
77
|
+
private _screenShot;
|
|
78
|
+
private _exporter?;
|
|
79
|
+
private _htmlOverlayManager?;
|
|
80
|
+
private _pageDataUtils;
|
|
81
|
+
private _sizeAdapt;
|
|
82
|
+
private _gestureHandler;
|
|
83
|
+
private disposables;
|
|
84
|
+
private _isSwitchScene;
|
|
85
|
+
private _undoRedo;
|
|
86
|
+
private _backgroundManager;
|
|
87
|
+
player: Player;
|
|
88
|
+
_container: HTMLElement;
|
|
89
|
+
private _playerContainer;
|
|
90
|
+
constructor(container: HTMLElement, mode?: SDKMode);
|
|
91
|
+
get backgroundManager(): BackgroundManager;
|
|
92
|
+
get container(): HTMLElement;
|
|
93
|
+
get pageData(): PageData | undefined;
|
|
94
|
+
private get initExporterEnabled();
|
|
95
|
+
get exportStatus(): string | undefined;
|
|
96
|
+
get undoRedo(): UndoRedo;
|
|
97
|
+
private get exportOptions();
|
|
98
|
+
dispose(): void;
|
|
99
|
+
on: <E extends "progress" | "loadingItemChange" | "selectedItemChange" | "preSelectedItemChange" | "selectedViewChange" | "pageDataChange" | "zoomChange" | "itemPropertyChange" | "exportProgress" | "exportDone" | "exportComplete" | "sdkConfigChange" | "cutBoxChange" | "expandBoxChange" | "textInput" | "undoRedoChange" | "maskGizmoUndoRedoChange" | "pictureCutGizmoUndoRedoChange" | "viewportTransform" | "itemOnDragStart" | "itemOnDrag" | "itemOnDragEnd" | "spriteTextClick" | "videoPlay" | "itemCreate" | "cardItemTransformChange" | "viewLost" | "viewRebuildFinish">(eventName: E, listener: import("@galacean/effects").EventEmitterListener<SDKEvents[E]>, options?: import("@galacean/effects").EventEmitterOptions) => () => void;
|
|
100
|
+
initPlayer(mode: SDKMode): void;
|
|
101
|
+
setSDKMode(mode: SDKMode): void;
|
|
102
|
+
private getInitParam;
|
|
103
|
+
private initExporter;
|
|
104
|
+
private initSDK;
|
|
105
|
+
run(param: SDKInputParam): Promise<void>;
|
|
106
|
+
getActiveItems(): string[];
|
|
107
|
+
setPreSelectedItem(id: string): void;
|
|
108
|
+
getPreSelectedItem(): string;
|
|
109
|
+
setSelectedItems(itemIds: string[]): void;
|
|
110
|
+
/**
|
|
111
|
+
* @description 设置元素属性(支持单个元素的单/多属性设置)
|
|
112
|
+
* @param param 设置参数,支持两种场景:
|
|
113
|
+
* 1. 单个元素单个属性: { itemId, type, propertyName, propertyValue }
|
|
114
|
+
* 2. 单个元素多个属性: { itemId, type, property }
|
|
115
|
+
*/
|
|
116
|
+
setItemProperty<T extends SDKItemType>(param: SetItemPropertyParam<T>): Promise<void>;
|
|
117
|
+
generateScreenShot(id: number, size?: [number, number], tick?: number, backgroundColor?: spec.vec4): Promise<string | undefined>;
|
|
118
|
+
/**
|
|
119
|
+
* @description 切换场景
|
|
120
|
+
* @param index 场景索引
|
|
121
|
+
*/
|
|
122
|
+
switchScene(index: number): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* @description 获取页面的 safeAreaPreview、zoom、adsorption、translation 值
|
|
125
|
+
* @returns 页面的 safeAreaPreview、zoom、adsorption、translation 值
|
|
126
|
+
*/
|
|
127
|
+
getPageConfig(): PageConfig;
|
|
128
|
+
/**
|
|
129
|
+
* 设置页面的 safeAreaPreview、zoom、adsorption 值
|
|
130
|
+
* @param pageProperty 设置
|
|
131
|
+
*/
|
|
132
|
+
setPageConfig(pageConfig: PageConfig): void;
|
|
133
|
+
/**
|
|
134
|
+
* @description 设置播放进度
|
|
135
|
+
* @param progress 播放进度 0-100
|
|
136
|
+
*/
|
|
137
|
+
setPlayProgress(progress: number): Promise<void>;
|
|
138
|
+
/**
|
|
139
|
+
* @description 获取元素
|
|
140
|
+
* @param id 元素ID
|
|
141
|
+
* @returns 元素
|
|
142
|
+
* */
|
|
143
|
+
getSDKItem(id: string): SDKItem | undefined;
|
|
144
|
+
/**
|
|
145
|
+
* @description 获取元素数组
|
|
146
|
+
* @param id 元素ID数组
|
|
147
|
+
* @returns 元素数组
|
|
148
|
+
* */
|
|
149
|
+
getSDKItems(ids?: string[]): SDKItem[];
|
|
150
|
+
setPlayState(playState: 'play' | 'pause'): Promise<void>;
|
|
151
|
+
/**
|
|
152
|
+
* @description 获取场景预览图
|
|
153
|
+
* @returns 视图预览图
|
|
154
|
+
*/
|
|
155
|
+
getViewThumbnail(): Promise<{
|
|
156
|
+
id: number;
|
|
157
|
+
thumbnail: string | undefined;
|
|
158
|
+
}>[];
|
|
159
|
+
/**
|
|
160
|
+
* @description 获取视图JSON产物
|
|
161
|
+
* @returns 当前所有视图JSON产物
|
|
162
|
+
*/
|
|
163
|
+
getViewScene(): {
|
|
164
|
+
id: number;
|
|
165
|
+
thumbnail: spec.JSONScene;
|
|
166
|
+
}[];
|
|
167
|
+
private destroyCompositions;
|
|
168
|
+
/**
|
|
169
|
+
* @description 以媒体格式 buffer 下载
|
|
170
|
+
*/
|
|
171
|
+
downloadByMediaBuffersOfExporter(params: ExportMediaItemDownloadInfo[], buffers: Buffers, extras: Extras): void;
|
|
172
|
+
/**
|
|
173
|
+
* @description 导出
|
|
174
|
+
* 支持导出媒体或其他,如MP4,未来支持 JSON 等;
|
|
175
|
+
*/
|
|
176
|
+
onExport(): void;
|
|
177
|
+
/**
|
|
178
|
+
* @description 取消导出
|
|
179
|
+
*/
|
|
180
|
+
cancelExport(): void;
|
|
181
|
+
loadPageData(data: PageData): Promise<void>;
|
|
182
|
+
runByPageData(data: PageData): Promise<void>;
|
|
183
|
+
reloadPageDataByScene(scene: string | spec.JSONScene): Promise<void>;
|
|
184
|
+
/**
|
|
185
|
+
* @description 新增视图数据
|
|
186
|
+
* @param viewParams 视图参数
|
|
187
|
+
* @param scene 场景数据 - 无输入时为默认场景数据
|
|
188
|
+
*/
|
|
189
|
+
addViewParams(viewParams: ViewParam[], scene?: spec.JSONScene): Promise<void>;
|
|
190
|
+
deleteViewParams(ids: number[]): Promise<void>;
|
|
191
|
+
setExportParam(exportParam: Partial<ExportParam>, id?: number): void;
|
|
192
|
+
/**
|
|
193
|
+
* @description 设置视图缩放
|
|
194
|
+
* @param zoom 缩放值
|
|
195
|
+
* @param center 缩放中心
|
|
196
|
+
* @param ignoreClamp 是否忽视约束
|
|
197
|
+
*/
|
|
198
|
+
setPageZoom(zoom: number, center?: Vector2, ignoreClamp?: boolean): void;
|
|
199
|
+
/**
|
|
200
|
+
* @description 设置元素移动
|
|
201
|
+
* @param targetTranslation 目标移动值
|
|
202
|
+
*/
|
|
203
|
+
setPageMove(targetTranslation: Vector2): void;
|
|
204
|
+
/**
|
|
205
|
+
* @description 设置静态预览功能开关
|
|
206
|
+
* @param enabled 功能开关
|
|
207
|
+
*/
|
|
208
|
+
setStaticPreviewEnabled(enabled: boolean): void;
|
|
209
|
+
/**
|
|
210
|
+
* @description 设置静态预览视图名称
|
|
211
|
+
* @param name 视图名称
|
|
212
|
+
*/
|
|
213
|
+
setStaticPreviewName(name: string): void;
|
|
214
|
+
/**
|
|
215
|
+
* @description 设置同步修改功能开关
|
|
216
|
+
* @param enabled 功能开关
|
|
217
|
+
*/
|
|
218
|
+
setAsyncEnabled(enabled: boolean): void;
|
|
219
|
+
/**
|
|
220
|
+
* @description 设置 成组显影 开关
|
|
221
|
+
*/
|
|
222
|
+
setGroupVisibleEnabled(enabled: boolean): void;
|
|
223
|
+
/**
|
|
224
|
+
* @description 新增过滤元素名称
|
|
225
|
+
* @param itemNames 过滤元素名称
|
|
226
|
+
*/
|
|
227
|
+
addFilterItemNames(itemNames: string[] | string): void;
|
|
228
|
+
/**
|
|
229
|
+
* @description 设置预览辅助层颜色
|
|
230
|
+
* @param color 色值
|
|
231
|
+
*/
|
|
232
|
+
setPreferenceBackgroundColor(color: [number, number, number, number]): void;
|
|
233
|
+
/**
|
|
234
|
+
* @description 设置出血区颜色
|
|
235
|
+
* @param color 色值
|
|
236
|
+
*/
|
|
237
|
+
setSafeAreaColor(color: [number, number, number, number]): void;
|
|
238
|
+
/**
|
|
239
|
+
* @description 设置 尺寸自适应拓展 功能开关
|
|
240
|
+
* @param enabled 功能开关
|
|
241
|
+
*/
|
|
242
|
+
setSizeAdaptEnabled(enabled: boolean): void;
|
|
243
|
+
/**
|
|
244
|
+
* @description 设置 截图 功能开关
|
|
245
|
+
* @param enabled 功能开关
|
|
246
|
+
*/
|
|
247
|
+
setScreenShotEnabled(enabled: boolean): void;
|
|
248
|
+
/**
|
|
249
|
+
* @description 设置导出功能初始化配置
|
|
250
|
+
* @param exportConfig
|
|
251
|
+
*/
|
|
252
|
+
setExportConfig(exportConfig: Partial<ExportConfig>): void;
|
|
253
|
+
/**
|
|
254
|
+
* @description 设置预选框参数
|
|
255
|
+
* @param preSelectedColor 预选框颜色
|
|
256
|
+
* @param preSelectedWidth 预选框线框宽度
|
|
257
|
+
*/
|
|
258
|
+
setSelectorGizmoPreSelectConfig(preSelectedColor?: number, preSelectedWidth?: number): void;
|
|
259
|
+
/**
|
|
260
|
+
* @description 设置 变换控制器 交互框参数
|
|
261
|
+
* @param config 参数
|
|
262
|
+
*/
|
|
263
|
+
setTranformGizmoWireframeConfig(config: {
|
|
264
|
+
wireframeColor?: number;
|
|
265
|
+
wireframeAlpha?: number;
|
|
266
|
+
wireframeWidth?: number;
|
|
267
|
+
}): void;
|
|
268
|
+
/**
|
|
269
|
+
* @description 获取 SDK 配置参数
|
|
270
|
+
* @returns SDK 配置参数
|
|
271
|
+
*/
|
|
272
|
+
getSDKConfig(): SDKConfig;
|
|
273
|
+
/**
|
|
274
|
+
* @description 设置 SDK 配置参数
|
|
275
|
+
* @param config SDK 配置参数
|
|
276
|
+
*/
|
|
277
|
+
setSDKConfig(config: SDKConfig): void;
|
|
278
|
+
/**
|
|
279
|
+
* @description 设置SDK背景
|
|
280
|
+
* @param type 背景类型
|
|
281
|
+
* @param value 值
|
|
282
|
+
*/
|
|
283
|
+
setSDKBackground(type: SDKBackgroundType, value?: string): void;
|
|
284
|
+
/**
|
|
285
|
+
* @description 创建图层元素
|
|
286
|
+
* @param spriteInfo 图层元素信息
|
|
287
|
+
*/
|
|
288
|
+
addSpriteItem(spriteInfo: SpriteCreateInfo, scene?: spec.JSONScene): Promise<string>;
|
|
289
|
+
addVideoItem(videoInfo: VideoCreateInfo, scene?: spec.JSONScene): Promise<string>;
|
|
290
|
+
openPictureCutGizmo(): void;
|
|
291
|
+
closePictureCutGizmo(): void;
|
|
292
|
+
getCutInfo(): {
|
|
293
|
+
cutBox: Box2;
|
|
294
|
+
itemBox: Box2;
|
|
295
|
+
} | undefined;
|
|
296
|
+
setCutBox(min: Vector2, max: Vector2): Box2 | undefined;
|
|
297
|
+
openPictureExpandGizmo(): void;
|
|
298
|
+
closePictureExpandGizmo(): void;
|
|
299
|
+
getExpandInfo(): {
|
|
300
|
+
expandBox: Box2;
|
|
301
|
+
itemBox: Box2;
|
|
302
|
+
} | undefined;
|
|
303
|
+
setExpandBox(min: Vector2, max: Vector2): Box2 | undefined;
|
|
304
|
+
openMaskGizmo(brushSize: number): void;
|
|
305
|
+
clearMaskGizmo(): void;
|
|
306
|
+
closeMaskGizmo(): void;
|
|
307
|
+
getMask(): string | null | undefined;
|
|
308
|
+
setMaskGizmoConfig(config: Partial<MaskGizmoConfig>): void;
|
|
309
|
+
/**
|
|
310
|
+
* @description 设置蒙版工具模式
|
|
311
|
+
* @param mode 模式类型:'paint' 表示涂抹,'erase' 表示擦除
|
|
312
|
+
*/
|
|
313
|
+
setMaskGizmoMode(mode: 'paint' | 'erase'): void;
|
|
314
|
+
/**
|
|
315
|
+
* 撤销蒙版操作
|
|
316
|
+
* @returns 是否成功撤销
|
|
317
|
+
*/
|
|
318
|
+
undoMaskGizmo(): boolean;
|
|
319
|
+
/**
|
|
320
|
+
* 重做蒙版操作
|
|
321
|
+
* @returns 是否成功重做
|
|
322
|
+
*/
|
|
323
|
+
redoMaskGizmo(): boolean;
|
|
324
|
+
/**
|
|
325
|
+
* 检查蒙版是否可以撤销
|
|
326
|
+
*/
|
|
327
|
+
get canUndoMaskGizmo(): boolean;
|
|
328
|
+
/**
|
|
329
|
+
* 检查蒙版是否可以重做
|
|
330
|
+
*/
|
|
331
|
+
get canRedoMaskGizmo(): boolean;
|
|
332
|
+
/**
|
|
333
|
+
* 清空蒙版 undoRedo 历史
|
|
334
|
+
*/
|
|
335
|
+
clearMaskGizmoUndoRedo(): void;
|
|
336
|
+
/**
|
|
337
|
+
* 撤销图片裁切操作
|
|
338
|
+
* @returns 是否成功撤销
|
|
339
|
+
*/
|
|
340
|
+
undoPictureCutGizmo(): boolean;
|
|
341
|
+
/**
|
|
342
|
+
* 重做图片裁切操作
|
|
343
|
+
* @returns 是否成功重做
|
|
344
|
+
*/
|
|
345
|
+
redoPictureCutGizmo(): boolean;
|
|
346
|
+
/**
|
|
347
|
+
* 检查图片裁切是否可以撤销
|
|
348
|
+
*/
|
|
349
|
+
get canUndoPictureCutGizmo(): boolean;
|
|
350
|
+
/**
|
|
351
|
+
* 检查图片裁切是否可以重做
|
|
352
|
+
*/
|
|
353
|
+
get canRedoPictureCutGizmo(): boolean;
|
|
354
|
+
/**
|
|
355
|
+
* 清空图片裁切 undoRedo 历史
|
|
356
|
+
*/
|
|
357
|
+
clearPictureCutGizmoUndoRedo(): void;
|
|
358
|
+
openLoadingGizmo(id: string, options?: LoadingGizmoItemOptions): void;
|
|
359
|
+
updateLoadingGizmo(id: string, options: {
|
|
360
|
+
tip?: LoadingGizmoTip;
|
|
361
|
+
}): void;
|
|
362
|
+
closeLoadingGizmo(id: string): void;
|
|
363
|
+
/**
|
|
364
|
+
* @description 元素打组
|
|
365
|
+
* @param children 子元素ID
|
|
366
|
+
*/
|
|
367
|
+
groupItems(groupInfo: GroupCreateInfo, scene?: spec.JSONScene): string | undefined;
|
|
368
|
+
setItemParent(id: string, parentId: string): void;
|
|
369
|
+
deleteItemParent(id: string, parentId: string): void;
|
|
370
|
+
addTextItem(textInfo: TextCreateInfo, scene?: spec.JSONScene): Promise<string | undefined>;
|
|
371
|
+
addItemByCreateInfos(createInfos: ItemCreateInfo[], asyncMode?: boolean): Promise<string[]>;
|
|
372
|
+
deleteItems(idInfo: string | string[]): void;
|
|
373
|
+
getItemCreateInfo(id: string): ItemCreateInfo | undefined;
|
|
374
|
+
getItemCreateInfos(ids?: string[]): ItemCreateInfo[];
|
|
375
|
+
createScreenShotSceneByIds(idInfo: string | string[], time?: number): Promise<string | undefined>;
|
|
376
|
+
createScreenShotByFrame(id: string): Promise<string | undefined>;
|
|
377
|
+
createScreenShotByEffects(id: string): Promise<string | undefined>;
|
|
378
|
+
getChildrenIds(id: string): string[];
|
|
379
|
+
/**
|
|
380
|
+
* @description 更新元素在图层中的顺序
|
|
381
|
+
* @param id 元素ID
|
|
382
|
+
* @param action 排序操作:BringToFront(置于顶层)、SendToBack(置于底层)、BringForward(上移一层)、SendBackward(下移一层)
|
|
383
|
+
*/
|
|
384
|
+
updateItemOrder(id: string, action: ItemOrderAction): void;
|
|
385
|
+
/**
|
|
386
|
+
* @description 导出JSON
|
|
387
|
+
* @param idInfo 视图序号信息
|
|
388
|
+
* @returns JSON数组
|
|
389
|
+
*/
|
|
390
|
+
exportJSON(idInfo?: number | number[]): spec.JSONScene[];
|
|
391
|
+
getViewBoxById(id: string): Box2;
|
|
392
|
+
/**
|
|
393
|
+
* @description 批量设置元素扩展属性
|
|
394
|
+
* @param id 元素ID
|
|
395
|
+
* @param extensions 扩展属性对象(支持同时设置多个)
|
|
396
|
+
* @returns 是否设置成功
|
|
397
|
+
*/
|
|
398
|
+
setItemExtension(id: string, extension: Record<string, any>): boolean;
|
|
399
|
+
/**
|
|
400
|
+
* @description 批量获取元素扩展属性
|
|
401
|
+
* @param id 元素ID
|
|
402
|
+
* @param keys 扩展属性名称列表(不传则返回所有扩展属性)
|
|
403
|
+
* @returns 扩展属性对象
|
|
404
|
+
*/
|
|
405
|
+
getItemExtension(id: string, keys?: string[]): Record<string, any> | undefined;
|
|
406
|
+
/**
|
|
407
|
+
* @description 删除元素扩展属性(支持批量删除)
|
|
408
|
+
* @param id 元素ID
|
|
409
|
+
* @param keys 扩展属性名称列表
|
|
410
|
+
* @returns 是否删除成功
|
|
411
|
+
*/
|
|
412
|
+
deleteItemExtensions(id: string, keys: string[]): boolean;
|
|
413
|
+
/**
|
|
414
|
+
* @description 检查元素是否有指定扩展属性
|
|
415
|
+
* @param id 元素ID
|
|
416
|
+
* @param key 扩展属性名称
|
|
417
|
+
* @returns 是否存在
|
|
418
|
+
*/
|
|
419
|
+
hasItemExtension(id: string, key: string): boolean;
|
|
420
|
+
/**
|
|
421
|
+
* @description 获取元素所有扩展属性的键名列表
|
|
422
|
+
* @param id 元素ID
|
|
423
|
+
* @returns 键名数组
|
|
424
|
+
*/
|
|
425
|
+
getItemExtensionKeys(id: string): string[] | undefined;
|
|
426
|
+
getViewProperty(id: number): ViewProperty | undefined;
|
|
427
|
+
pageMove(shift: [number, number]): void;
|
|
428
|
+
pageZoom(shift: number, center?: [number, number]): void;
|
|
429
|
+
/**
|
|
430
|
+
* @description 设置视图缩放工具锁定缩放比例开关
|
|
431
|
+
* @param state 缩放比例开关
|
|
432
|
+
*/
|
|
433
|
+
setPictureCutGizmoLockScale(state: boolean): void;
|
|
434
|
+
/**
|
|
435
|
+
* @description 设置视图扩展工具锁定缩放比例开关
|
|
436
|
+
* @param state 缩放比例开关
|
|
437
|
+
*/
|
|
438
|
+
setPictureExpandGizmoLockScale(state: boolean): void;
|
|
439
|
+
/**
|
|
440
|
+
* @description 视图缩放函数
|
|
441
|
+
* @param shiftParam 视图偏移值
|
|
442
|
+
*/
|
|
443
|
+
viewportFit(shiftParam?: ViewportFitShiftParam, box?: Box2): void;
|
|
444
|
+
/**
|
|
445
|
+
* @description 获取元素包围盒
|
|
446
|
+
* @param idInfo 元素Id
|
|
447
|
+
* @returns 元素包围盒
|
|
448
|
+
*/
|
|
449
|
+
getItemBoxById(idInfo: string): Box2;
|
|
450
|
+
/**
|
|
451
|
+
* @description 设置元素字体
|
|
452
|
+
* @param id 元素Id
|
|
453
|
+
* @param fontFamilyName 字体名称
|
|
454
|
+
* @param url 字体地址
|
|
455
|
+
*/
|
|
456
|
+
setItemFontFamily(id: string, fontFamilyName: string, url: string): Promise<void>;
|
|
457
|
+
createSceneByCreateInfos(createInfos: ItemCreateInfo[], sceneInfo: SceneCreaetInfo): spec.JSONScene;
|
|
458
|
+
setSpriteSize(id: string, size: spec.vec2): void;
|
|
459
|
+
setItemPropertyByCreateInfo(createInfo: ItemCreateInfo | ItemCreateInfo[]): Promise<void>;
|
|
460
|
+
setTransformGizmoLockScale(state: boolean): void;
|
|
461
|
+
getViewBoxByBox(box: Box2): Box2;
|
|
462
|
+
openSpriteTextEditGizmo(initParam: SpriteTextInitParam[]): void;
|
|
463
|
+
closeSpriteTextEditGizmo(): void;
|
|
464
|
+
setSpriteTextSelectedIndex(id: string, index: number): void;
|
|
465
|
+
setSpriteTextSelectedText(id: string, index: number, text: string): void;
|
|
466
|
+
getBoundingBoxByItemCreateInfo(createInfo: ItemCreateInfo): Box2;
|
|
467
|
+
getBoundingBoxByItemCreateInfos(createInfos: ItemCreateInfo[]): Box2;
|
|
468
|
+
setSpriteTextChangedState(id: string, index: number, hasChanged: boolean): void;
|
|
469
|
+
setSpriteTextEditState(id: string, index: number, isEditing: boolean): void;
|
|
470
|
+
getVideoItemPlayTime(id: string): number;
|
|
471
|
+
setVideoItemPlayTime(id: string, time: number): void;
|
|
472
|
+
getEffectsItemPlayTime(id: string): number | undefined;
|
|
473
|
+
setEffectsItemPlayTime(id: string, time: number): void;
|
|
474
|
+
setEffectsResource(id: string, effects: string): void;
|
|
475
|
+
getPixelPositionByViewPosition(viewPosition: Vector2): Vector2;
|
|
476
|
+
hitTest(x: number, y: number): string[] | undefined;
|
|
477
|
+
setInteractType(type: GestureHandlerInteractType): void;
|
|
478
|
+
getInteractType(): GestureHandlerInteractType;
|
|
479
|
+
makeItemAlign(type: AlignType, ids?: string[]): void;
|
|
480
|
+
makeItemDistribute(type: DistributeType, ids?: string[]): void;
|
|
481
|
+
/**
|
|
482
|
+
* @description 注册新的卡片类型
|
|
483
|
+
* @param cardTypeConfig 卡片类型配置(type、label、iconUrl)
|
|
484
|
+
* @returns 是否注册成功(type 已存在时返回 false)
|
|
485
|
+
*/
|
|
486
|
+
registerCardType(cardTypeConfig: CardTypeConfig): boolean;
|
|
487
|
+
/**
|
|
488
|
+
* @description 批量注册卡片类型
|
|
489
|
+
* @param configs 卡片类型配置数组
|
|
490
|
+
* @returns 成功注册的类型数量
|
|
491
|
+
*/
|
|
492
|
+
registerCardTypes(configs: CardTypeConfig[]): number;
|
|
493
|
+
/**
|
|
494
|
+
* @description 注销卡片类型
|
|
495
|
+
* @param type 卡片类型标识
|
|
496
|
+
* @returns 是否注销成功(type 不存在时返回 false)
|
|
497
|
+
*/
|
|
498
|
+
unregisterCardType(type: string): boolean;
|
|
499
|
+
/**
|
|
500
|
+
* @description 获取所有已注册的卡片类型
|
|
501
|
+
* @returns 卡片类型配置数组(只读副本)
|
|
502
|
+
*/
|
|
503
|
+
getRegisteredCardTypes(): CardTypeConfig[];
|
|
504
|
+
/**
|
|
505
|
+
* @description 判断卡片类型是否已注册
|
|
506
|
+
* @param type 卡片类型标识
|
|
507
|
+
* @returns 是否已注册
|
|
508
|
+
*/
|
|
509
|
+
isCardTypeRegistered(type: string): boolean;
|
|
510
|
+
/**
|
|
511
|
+
* @description 创建卡片元素
|
|
512
|
+
* @description 底层以透明 SpriteItem 形式渲染,支持 cardType 属性
|
|
513
|
+
* @param createInfo 卡片创建信息
|
|
514
|
+
* @returns 卡片元素ID
|
|
515
|
+
*/
|
|
516
|
+
addCardItem(createInfo: CardCreateInfo): string | undefined;
|
|
517
|
+
/**
|
|
518
|
+
* @description 创建生成器元素
|
|
519
|
+
* @param createInfo 生成器创建信息
|
|
520
|
+
* @returns 生成器元素ID
|
|
521
|
+
*/
|
|
522
|
+
addGeneratorItem(createInfo: GeneratorCreateInfo): string;
|
|
523
|
+
/**
|
|
524
|
+
* @description 创建动效元素
|
|
525
|
+
* @param effectsInfo 动效创建信息
|
|
526
|
+
*/
|
|
527
|
+
addEffectsItem(effectsInfo: EffectsCreateInfo): Promise<string | undefined>;
|
|
528
|
+
/**
|
|
529
|
+
* @description 创建画板元素
|
|
530
|
+
* @param createInfo 画板创建信息
|
|
531
|
+
* @returns 画板元素ID
|
|
532
|
+
*/
|
|
533
|
+
addFrameItem(createInfo: FrameCreateInfo): Promise<string>;
|
|
534
|
+
/**
|
|
535
|
+
* @description 将元素移动到 Frame 中
|
|
536
|
+
* @param itemIds 要移动的元素ID列表
|
|
537
|
+
* @param frameId 目标 Frame ID
|
|
538
|
+
*/
|
|
539
|
+
moveItemsToFrame(itemIds: string[], frameId: string): void;
|
|
540
|
+
/**
|
|
541
|
+
* @description 将元素从 Frame 中移出到主场景
|
|
542
|
+
* @param itemIds 要移动的元素ID列表
|
|
543
|
+
* @param frameId 源 Frame ID(可选,如果不传则从元素的 parentId 推断)
|
|
544
|
+
*/
|
|
545
|
+
moveItemsOutOfFrame(itemIds: string[]): void;
|
|
546
|
+
/**
|
|
547
|
+
* @description 设置生成器资源,将生成器转换为对应的元素
|
|
548
|
+
* @param id 生成器元素ID
|
|
549
|
+
* @param resourceUrl 资源地址
|
|
550
|
+
* @returns 新的元素ID
|
|
551
|
+
*/
|
|
552
|
+
setGeneratorResource(id: string, resourceUrl: string): Promise<string>;
|
|
553
|
+
/**
|
|
554
|
+
* @description 设置生成器资源(使用 GeneratorResource 对象)
|
|
555
|
+
* @param resource 生成器资源信息
|
|
556
|
+
*/
|
|
557
|
+
setGeneratorResourceFromObject(resource: GeneratorResource): void;
|
|
558
|
+
/**
|
|
559
|
+
* @description 设置视频生成器资源
|
|
560
|
+
* @param resource 视频生成器资源信息
|
|
561
|
+
*/
|
|
562
|
+
setVideoGeneratorResource(resource: VideoGeneratorResource): Promise<string>;
|
|
563
|
+
/**
|
|
564
|
+
* @description 设置图层生成器资源
|
|
565
|
+
* @param resource 图层生成器资源信息
|
|
566
|
+
*/
|
|
567
|
+
setSpriteGeneratorResource(resource: SpriteGeneratorResource): Promise<string>;
|
|
568
|
+
setItemLockState(id: string, state: boolean): void;
|
|
569
|
+
getItemLockState(id: string): boolean;
|
|
570
|
+
openItemCreateGizmo(type: ItemCreateType): void;
|
|
571
|
+
closeItemCreateGizmo(): void;
|
|
572
|
+
openTextGizmo(textItemId?: string, mode?: 'select' | 'focus'): void;
|
|
573
|
+
closeTextGizmo(): void;
|
|
574
|
+
setItemName(id: string, name: string): void;
|
|
575
|
+
setSafeAreaPreviewVisible(id: number, type: 'url' | 'color', visible: boolean): void;
|
|
576
|
+
/**
|
|
577
|
+
* @description 修改画板元素大小
|
|
578
|
+
* @param id 元素id
|
|
579
|
+
* @param size 目标大小 [width, height]
|
|
580
|
+
* @param translation 位置偏移补偿(可选,用于保持拖拽角点固定)
|
|
581
|
+
*/
|
|
582
|
+
resizeFrameItem(id: string, size: [number, number], translation?: [number, number]): void;
|
|
583
|
+
/**
|
|
584
|
+
* @description 对 FrameItem 执行自动布局(当 layoutMode 为 AUTO 时使用)
|
|
585
|
+
* @param frameId Frame 元素 ID
|
|
586
|
+
*/
|
|
587
|
+
applyFrameAutoLayout(frameId: string): void;
|
|
588
|
+
autoLayoutPage(param?: PageAutoLayoutParam): Promise<void>;
|
|
589
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ItemCreateInfo } from '../types';
|
|
2
|
+
export type CreateOperation = {
|
|
3
|
+
type: 'create';
|
|
4
|
+
newData: ItemCreateInfo[];
|
|
5
|
+
};
|
|
6
|
+
export type DeleteOperation = {
|
|
7
|
+
type: 'delete';
|
|
8
|
+
oldData: ItemCreateInfo[];
|
|
9
|
+
};
|
|
10
|
+
export type UpdateOperation = {
|
|
11
|
+
type: 'update';
|
|
12
|
+
newData: ItemCreateInfo[];
|
|
13
|
+
oldData: ItemCreateInfo[];
|
|
14
|
+
};
|
|
15
|
+
export type Operation = CreateOperation | UpdateOperation | DeleteOperation;
|
|
16
|
+
export type UndoRedoEvents = Record<string, [Operation]>;
|
|
17
|
+
/**
|
|
18
|
+
* 通用撤销重做操作类型
|
|
19
|
+
*/
|
|
20
|
+
export type GizmoOperation<T> = {
|
|
21
|
+
type: 'update';
|
|
22
|
+
newData: T;
|
|
23
|
+
oldData: T;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* 通用撤销重做类,支持任意数据类型
|
|
27
|
+
*/
|
|
28
|
+
export declare class GizmoUndoRedo<T> {
|
|
29
|
+
private index;
|
|
30
|
+
private operations;
|
|
31
|
+
get canUndo(): boolean;
|
|
32
|
+
get canRedo(): boolean;
|
|
33
|
+
push(operation: GizmoOperation<T>): void;
|
|
34
|
+
undo(): GizmoOperation<T> | undefined;
|
|
35
|
+
redo(): GizmoOperation<T> | undefined;
|
|
36
|
+
clear(): void;
|
|
37
|
+
}
|
|
38
|
+
export declare class UndoRedo {
|
|
39
|
+
private index;
|
|
40
|
+
private operations;
|
|
41
|
+
get canUndo(): boolean;
|
|
42
|
+
get canRedo(): boolean;
|
|
43
|
+
oldData?: ItemCreateInfo[];
|
|
44
|
+
push(operation: Operation): void;
|
|
45
|
+
undo(): Operation | undefined;
|
|
46
|
+
redo(): Operation | undefined;
|
|
47
|
+
clear(): void;
|
|
48
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './player';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import '@galacean/effects';
|
|
2
|
+
export { spec, VFXItem, Player, math, Composition, type Region, EventEmitter, assertExist, SpriteComponent, TextComponent, Texture, generateGUID, version as PlayerVersion } from '@galacean/effects';
|
|
3
|
+
import '@galacean/effects-plugin-rich-text';
|
|
4
|
+
export { RichTextComponent } from '@galacean/effects-plugin-rich-text';
|
|
5
|
+
import '@galacean/effects-plugin-model';
|
|
6
|
+
import '@galacean/effects-plugin-multimedia';
|
|
7
|
+
export { VideoComponent } from '@galacean/effects-plugin-multimedia';
|
|
8
|
+
import '@galacean/effects-plugin-spine';
|
|
9
|
+
import '@galacean/effects-plugin-ffd';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './size-adapt';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Box2, Vector2, Vector3 } from '../math';
|
|
2
|
+
import { Composition, spec, VFXItem } from '../shared';
|
|
3
|
+
export type SizeAdaptDirection = 'x' | 'y';
|
|
4
|
+
/**
|
|
5
|
+
* @description 尺寸适配工具
|
|
6
|
+
*/
|
|
7
|
+
export declare class SizeAdapt {
|
|
8
|
+
/**
|
|
9
|
+
* @description 尺寸适配播放器
|
|
10
|
+
*/
|
|
11
|
+
private _player;
|
|
12
|
+
/**
|
|
13
|
+
* @description 尺寸播放器容器
|
|
14
|
+
*/
|
|
15
|
+
private _container;
|
|
16
|
+
/**
|
|
17
|
+
* @description 视图大小
|
|
18
|
+
*/
|
|
19
|
+
size: spec.vec2;
|
|
20
|
+
constructor();
|
|
21
|
+
adjustment(scene: spec.JSONScene, tick: number, originSize: spec.vec2, viewSize: spec.vec2, safeArea?: spec.vec4, direction?: SizeAdaptDirection): Promise<spec.JSONScene>;
|
|
22
|
+
keepDistribute(scene: spec.JSONScene, composition: Composition, ratio: number, viewSize: spec.vec2): void;
|
|
23
|
+
keepAdsorption(type: 'centerAdsorption' | 'topAdsorption' | 'bottomAdsorption' | 'leftAdsorption' | 'rightAdsorption', scene: spec.JSONScene, composition: Composition, translation: spec.vec2, originViewBox: Box2, resultViewBox: Box2, adsorptionDirection: SizeAdaptDirection): void;
|
|
24
|
+
keepDoubleAdsorption(type: 'bottomCenterAdsorption', scene: spec.JSONScene, composition: Composition, translation: spec.vec2, originViewBox: Box2, resultViewBox: Box2, adsorptionDirection: SizeAdaptDirection): void;
|
|
25
|
+
getViewBoxByHeadlessPlayerItem(targetItem: VFXItem, childrenItem: VFXItem[], projectPoint: (point: Vector3) => Vector2): Box2;
|
|
26
|
+
transformSceneItem(scene: spec.JSONScene, itemId: string, propertyName: string, propertyValue: any): void;
|
|
27
|
+
dispose(): void;
|
|
28
|
+
}
|