@netless/appliance-plugin 1.0.0-beta.0 → 1.0.0-beta.11
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/README.md +54 -15
- package/cdn/cdn.js +1 -0
- package/cdn/fullWorker-BPqPUZ.js +467 -0
- package/cdn/subWorker-BQgE8H.js +467 -0
- package/dist/appliance-plugin.js +1 -1
- package/dist/appliance-plugin.mjs +22 -8637
- package/dist/cdn.d.ts +3 -0
- package/dist/collector/types.d.ts +0 -1
- package/dist/component/textEditor/manager.d.ts +2 -5
- package/dist/component/textEditor/types.d.ts +1 -0
- package/dist/component/textEditor/view.d.ts +9 -7
- package/dist/core/enum.d.ts +16 -10
- package/dist/core/mainEngine.d.ts +40 -15
- package/dist/core/mainThread/base.d.ts +81 -0
- package/dist/core/mainThread/index.d.ts +23 -0
- package/dist/core/mainThread/snapshotThread.d.ts +39 -0
- package/dist/core/mainThread/subLocalThread.d.ts +106 -0
- package/dist/core/mainThread/subServiceThread.d.ts +42 -0
- package/dist/core/mainThread/subTopThread.d.ts +46 -0
- package/dist/core/mainThread/vNodeManager.d.ts +33 -0
- package/dist/core/msgEvent/base.d.ts +6 -2
- package/dist/core/msgEvent/baseForMainThread.d.ts +13 -0
- package/dist/core/msgEvent/copyNode/forMain.d.ts +3 -0
- package/dist/core/msgEvent/copyNode/forMainThread.d.ts +8 -0
- package/dist/core/msgEvent/deleteNode/forMain.d.ts +1 -0
- package/dist/core/msgEvent/deleteNode/forMainThread.d.ts +10 -0
- package/dist/core/msgEvent/deleteNode/forWorker.d.ts +1 -4
- package/dist/core/msgEvent/forMainThread.d.ts +14 -0
- package/dist/core/msgEvent/index.d.ts +4 -0
- package/dist/core/msgEvent/rotateNode/forMain.d.ts +2 -2
- package/dist/core/msgEvent/rotateNode/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/scaleNode/forMain.d.ts +4 -2
- package/dist/core/msgEvent/scaleNode/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setColor/forMain.d.ts +3 -1
- package/dist/core/msgEvent/setColor/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setFont/forMain.d.ts +1 -0
- package/dist/core/msgEvent/setFont/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setLock/forMain.d.ts +1 -0
- package/dist/core/msgEvent/setLock/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setPoint/forMain.d.ts +1 -0
- package/dist/core/msgEvent/setPoint/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setShape/forMain.d.ts +1 -0
- package/dist/core/msgEvent/setShape/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setZIndex/forMain.d.ts +1 -0
- package/dist/core/msgEvent/setZIndex/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/translateNode/forMain.d.ts +2 -2
- package/dist/core/msgEvent/translateNode/forMainThread.d.ts +9 -0
- package/dist/core/tools/arrow.d.ts +3 -3
- package/dist/core/tools/base.d.ts +6 -6
- package/dist/core/tools/ellipse.d.ts +3 -3
- package/dist/core/tools/eraser.d.ts +3 -3
- package/dist/core/tools/image.d.ts +2 -0
- package/dist/core/tools/pencil.d.ts +3 -2
- package/dist/core/tools/polygon.d.ts +4 -3
- package/dist/core/tools/rectangle.d.ts +4 -3
- package/dist/core/tools/selector.d.ts +11 -9
- package/dist/core/tools/speechBalloon.d.ts +4 -3
- package/dist/core/tools/star.d.ts +3 -3
- package/dist/core/tools/straight.d.ts +4 -3
- package/dist/core/tools/text.d.ts +7 -11
- package/dist/core/tools/utils.d.ts +7 -3
- package/dist/core/types.d.ts +17 -5
- package/dist/core/utils/index.d.ts +1 -1
- package/dist/core/utils/math.d.ts +3 -0
- package/dist/core/utils/spriteNode.d.ts +2 -2
- package/dist/core/worker/base.d.ts +32 -42
- package/dist/core/worker/fullWorkerLocal.d.ts +2 -1
- package/dist/core/worker/fullWorkerService.d.ts +23 -7
- package/dist/core/worker/subWorkerLocal.d.ts +4 -6
- package/dist/core/worker/subWorkerTopLayer.d.ts +43 -0
- package/dist/core/worker/vNodeManager.d.ts +4 -2
- package/dist/core/worker/workerManager.d.ts +17 -16
- package/dist/displayer/floatBar/dragBox/index.d.ts +4 -0
- package/dist/displayer/floatBar/index.d.ts +1 -5
- package/dist/fullWorker.js +467 -0
- package/dist/index-BFSMbeSf.mjs +5460 -0
- package/dist/index-Cmeli2Rl.js +1 -0
- package/dist/index-CoeOpY3D.mjs +9125 -0
- package/dist/index-DWgB0sHh.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/plugin/applianceMultiPlugin.d.ts +1 -1
- package/dist/plugin/applianceSinglePlugin.d.ts +1 -1
- package/dist/plugin/baseApplianceManager.d.ts +5 -5
- package/dist/plugin/baseViewContainerManager.d.ts +6 -4
- package/dist/plugin/const.d.ts +13 -0
- package/dist/plugin/displayerView.d.ts +4 -11
- package/dist/plugin/index.d.ts +2 -3
- package/dist/plugin/multi/applianceMultiManager.d.ts +1 -1
- package/dist/plugin/multi/containerManager.d.ts +3 -1
- package/dist/plugin/multi/displayer/appViewDisplayerManager.d.ts +2 -1
- package/dist/plugin/multi/displayer/mainViewDisplayerManager.d.ts +3 -1
- package/dist/plugin/single/applianceDisplayer.d.ts +0 -1
- package/dist/plugin/single/applianceSingleManager.d.ts +1 -1
- package/dist/plugin/single/containerManager.d.ts +1 -1
- package/dist/plugin/single/displayer/mainViewDisplayerManager.d.ts +3 -1
- package/dist/plugin/types.d.ts +15 -17
- package/dist/style.css +1 -1
- package/dist/subWorker.js +467 -0
- package/dist/undo/index.d.ts +1 -2
- package/package.json +15 -17
- package/cdn/appliance-plugin.js +0 -1
- package/cdn/appliance-plugin.mjs +0 -8639
- package/cdn/style.css +0 -1
- package/dist/core/msgEvent/activeZIndex/forMain.d.ts +0 -12
- package/dist/core/msgEvent/activeZIndex/forWorker.d.ts +0 -8
- /package/dist/displayer/{highlightBox → floatBar/highlightBox}/index.d.ts +0 -0
- /package/dist/displayer/{resizable → floatBar/resizable}/index.d.ts +0 -0
- /package/dist/displayer/{rotate → floatBar/rotate}/index.d.ts +0 -0
|
@@ -16,21 +16,17 @@ export declare class TextShape extends BaseShapeTool {
|
|
|
16
16
|
constructor(props: BaseShapeToolProps);
|
|
17
17
|
consume(): IMainMessage;
|
|
18
18
|
consumeAll(): IMainMessage;
|
|
19
|
+
consumeService(): IRectType | undefined;
|
|
19
20
|
private draw;
|
|
20
|
-
|
|
21
|
+
consumeServiceAsync(props: {
|
|
21
22
|
isFullWork: boolean;
|
|
22
23
|
replaceId?: string;
|
|
23
|
-
isDrawLabel?:
|
|
24
|
-
}): IRectType | undefined
|
|
25
|
-
updataOptService(
|
|
24
|
+
isDrawLabel?: true;
|
|
25
|
+
}): Promise<IRectType | undefined>;
|
|
26
|
+
updataOptService(): IRectType | undefined;
|
|
27
|
+
updataOptServiceAsync(updateNodeOpt: IUpdateNodeOpt): Promise<IRectType | undefined>;
|
|
26
28
|
clearTmpPoints(): void;
|
|
27
|
-
static
|
|
28
|
-
text: string;
|
|
29
|
-
ctx: OffscreenCanvasRenderingContext2D;
|
|
30
|
-
opt: TextOptions;
|
|
31
|
-
worldScaling: number[];
|
|
32
|
-
}): number;
|
|
33
|
-
static createLabels(textOpt: TextOptions, layer: Group): (Polyline | Label)[];
|
|
29
|
+
static createLabels(textOpt: TextOptions, group: Group): Promise<(Polyline | Label)[]>;
|
|
34
30
|
static updateNodeOpt(param: {
|
|
35
31
|
node: ShapeNodes;
|
|
36
32
|
opt: IUpdateNodeOpt;
|
|
@@ -17,9 +17,13 @@ import { TextShape } from "./text";
|
|
|
17
17
|
import { TextOptions } from "../../component/textEditor";
|
|
18
18
|
import { ImageOptions, ImageShape } from "./image";
|
|
19
19
|
import type { ServiceWorkForFullWorker } from "../worker/fullWorkerService";
|
|
20
|
+
import type { SubServiceThread } from "../mainThread/subServiceThread";
|
|
21
|
+
import { BaseShapeTool } from "./base";
|
|
20
22
|
export type ShapeTools = typeof PencilShape | typeof LaserPenShape | typeof EraserShape | typeof StarShape | typeof SelectorShape | typeof ArrowShape | typeof EllipseShape | typeof RectangleShape | typeof StarShape | typeof PolygonShape | typeof TextShape | typeof SpeechBalloonShape | typeof ImageShape;
|
|
23
|
+
export type ShapeToolsClass = BaseShapeTool | PencilShape | LaserPenShape | EraserShape | StarShape | SelectorShape | ArrowShape | EllipseShape | RectangleShape | StarShape | PolygonShape | TextShape | SpeechBalloonShape | ImageShape;
|
|
21
24
|
export type ShapeOptions = PencilOptions | LaserPenOptions | EraserOptions | StarOptions | SelectorOptions | ArrowOptions | EllipseOptions | RectangleOptions | StarOptions | PolygonOptions | StraightOptions | TextOptions | SpeechBalloonOptions | ImageOptions;
|
|
22
25
|
export type ShapeNodes = Group | Path | Polyline | Rect | Ellipse | Sprite;
|
|
26
|
+
export type ServiceThreadSubWork = SubServiceThread | ServiceWorkForFullWorker;
|
|
23
27
|
export interface CombineConsumeResult {
|
|
24
28
|
type: EPostMessageType;
|
|
25
29
|
rect: IRectType | undefined;
|
|
@@ -28,12 +32,12 @@ export interface CombineConsumeResult {
|
|
|
28
32
|
export interface ShapeStateInfo {
|
|
29
33
|
willClear: boolean;
|
|
30
34
|
}
|
|
31
|
-
export declare function getShapeTools(toolsType: EToolsKey): typeof
|
|
35
|
+
export declare function getShapeTools(toolsType: EToolsKey): typeof ArrowShape | typeof PencilShape | typeof StraightShape | typeof EllipseShape | typeof PolygonShape | typeof StarShape | typeof RectangleShape | typeof SpeechBalloonShape | typeof TextShape | typeof LaserPenShape | typeof EraserShape | typeof SelectorShape | typeof ImageShape | undefined;
|
|
32
36
|
export declare function getShapeInstance(param: {
|
|
33
37
|
toolsType: EToolsKey;
|
|
34
38
|
toolsOpt: ShapeOptions;
|
|
35
|
-
vNodes
|
|
39
|
+
vNodes?: VNodeManager;
|
|
36
40
|
fullLayer: Group;
|
|
37
41
|
drawLayer?: Group;
|
|
38
|
-
}, serviceWork?:
|
|
42
|
+
}, serviceWork?: ServiceThreadSubWork): ArrowShape | PencilShape | StraightShape | EllipseShape | PolygonShape | StarShape | RectangleShape | SpeechBalloonShape | TextShape | LaserPenShape | EraserShape | SelectorShape | ImageShape | undefined;
|
|
39
43
|
export declare function findShapeBody(nodes: ShapeNodes[]): ShapeNodes[];
|
package/dist/core/types.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export interface IOffscreenCanvasOptionType {
|
|
|
30
30
|
width: number;
|
|
31
31
|
/** offscreenCanvas 高度 */
|
|
32
32
|
height: number;
|
|
33
|
-
/**
|
|
33
|
+
/** 上下文类型 */
|
|
34
34
|
contextType?: ECanvasContextType;
|
|
35
35
|
/** 是否自动渲染,默认自动渲染 */
|
|
36
36
|
autoRender?: boolean;
|
|
@@ -120,7 +120,6 @@ export type IWorkerMessage = Omit<Partial<BaseCollectorReducerAction>, 'op'> & {
|
|
|
120
120
|
}>;
|
|
121
121
|
willSerializeData?: boolean;
|
|
122
122
|
isRunSubWork?: boolean;
|
|
123
|
-
undoTickerId?: number;
|
|
124
123
|
scenes?: ISerializableStorageData;
|
|
125
124
|
textType?: ETextEditorType;
|
|
126
125
|
mainTasksqueueCount?: number;
|
|
@@ -162,7 +161,6 @@ export interface IMainMessage extends INormalPushMsg {
|
|
|
162
161
|
workId: IworkId;
|
|
163
162
|
toolsType: EToolsKey;
|
|
164
163
|
}>;
|
|
165
|
-
undoTickerId?: number;
|
|
166
164
|
scenePath?: string;
|
|
167
165
|
canvasWidth?: number;
|
|
168
166
|
canvasHeight?: number;
|
|
@@ -179,6 +177,7 @@ export interface IMainMessage extends INormalPushMsg {
|
|
|
179
177
|
isLocked?: boolean;
|
|
180
178
|
shapeOpt?: ShapeOptType;
|
|
181
179
|
toolsTypes?: EToolsKey[];
|
|
180
|
+
waitWorker?: boolean;
|
|
182
181
|
}
|
|
183
182
|
export interface IMainMessageRenderData {
|
|
184
183
|
viewId: string;
|
|
@@ -191,13 +190,13 @@ export interface IMainMessageRenderData {
|
|
|
191
190
|
clearCanvas?: ECanvasShowType;
|
|
192
191
|
/** 是否需要销毁imageBitmap */
|
|
193
192
|
isUnClose?: boolean;
|
|
194
|
-
isFullWork?: boolean;
|
|
195
193
|
workerType?: EDataType.Local | EDataType.Service;
|
|
196
194
|
offset?: {
|
|
197
195
|
x: number;
|
|
198
196
|
y: number;
|
|
199
197
|
};
|
|
200
198
|
translate?: [number, number];
|
|
199
|
+
workId?: string;
|
|
201
200
|
}
|
|
202
201
|
export interface IBatchMainMessage {
|
|
203
202
|
/** 绘制数据 */
|
|
@@ -206,6 +205,7 @@ export interface IBatchMainMessage {
|
|
|
206
205
|
sp?: Array<IMainMessage>;
|
|
207
206
|
drawCount?: number;
|
|
208
207
|
workerTasksqueueCount?: number;
|
|
208
|
+
workIds?: Set<string>;
|
|
209
209
|
}
|
|
210
210
|
export interface ICameraOpt {
|
|
211
211
|
centerX: number;
|
|
@@ -244,7 +244,6 @@ export interface IActiveWorkDataType {
|
|
|
244
244
|
toolsOpt?: ShapeOptions;
|
|
245
245
|
viewId?: string;
|
|
246
246
|
workId?: IworkId;
|
|
247
|
-
undoTickerId?: number;
|
|
248
247
|
}
|
|
249
248
|
export type IServiceWorkItem = {
|
|
250
249
|
toolsType: EToolsKey;
|
|
@@ -263,6 +262,16 @@ export type IServiceWorkItem = {
|
|
|
263
262
|
totalRect?: IRectType;
|
|
264
263
|
isDiff?: boolean;
|
|
265
264
|
};
|
|
265
|
+
export type ILocalWorkItem = {
|
|
266
|
+
toolsType: EToolsKey;
|
|
267
|
+
node: BaseShapeTool;
|
|
268
|
+
data?: IWorkerMessage;
|
|
269
|
+
result?: IMainMessage;
|
|
270
|
+
totalRect?: IRectType;
|
|
271
|
+
workState: EvevtWorkState;
|
|
272
|
+
isDel?: boolean;
|
|
273
|
+
willRefresh?: boolean;
|
|
274
|
+
};
|
|
266
275
|
export type BaseNodeMapItem = {
|
|
267
276
|
name: string;
|
|
268
277
|
rect: IRectType;
|
|
@@ -272,6 +281,9 @@ export type BaseNodeMapItem = {
|
|
|
272
281
|
toolsType: EToolsKey;
|
|
273
282
|
canRotate: boolean;
|
|
274
283
|
scaleType: EScaleType;
|
|
284
|
+
/** 是否被框选中,框选中的元素不能被其它人操作 */
|
|
285
|
+
isSelected: boolean;
|
|
286
|
+
isHid?: boolean;
|
|
275
287
|
};
|
|
276
288
|
export type Size = {
|
|
277
289
|
/**
|
|
@@ -361,4 +361,4 @@ export declare function toFixed(v: number): number;
|
|
|
361
361
|
*/
|
|
362
362
|
export declare const isSafeFloat: (n: number) => boolean;
|
|
363
363
|
export declare const requestAsyncCallBack: (callBack: () => void, timeout: number) => Promise<void>;
|
|
364
|
-
export declare const getRatioWithContext: (context
|
|
364
|
+
export declare const getRatioWithContext: (context?: CanvasRenderingContext2D) => number;
|
|
@@ -37,6 +37,7 @@ export declare function getRectTranslated(rect: IRectType, translate: [number, n
|
|
|
37
37
|
w: number;
|
|
38
38
|
h: number;
|
|
39
39
|
};
|
|
40
|
+
export declare function getRectRotatedPoints(rect: IRectType, angle: number): Vec2d[];
|
|
40
41
|
export declare function getRectRotated(rect: IRectType, angle: number): {
|
|
41
42
|
x: number;
|
|
42
43
|
y: number;
|
|
@@ -49,6 +50,8 @@ export declare function getRectScaleed(rect: IRectType, scale: [number, number])
|
|
|
49
50
|
w: number;
|
|
50
51
|
h: number;
|
|
51
52
|
};
|
|
53
|
+
export declare function getScalePoints(points: Vec2d[], originPos: Vec2d, scale: [number, number]): Vec2d[];
|
|
54
|
+
export declare function getRotatePoints(points: Vec2d[], originPos: Vec2d, angle: number): Vec2d[];
|
|
52
55
|
export declare function rotatePoints(points: number[], originPos: [number, number], angle: number): void;
|
|
53
56
|
export declare function scalePoints(points: number[], originPos: [number, number], scale: [number, number]): void;
|
|
54
57
|
export declare function getNodeRect(key: string, layer?: Group, safeBorderPadding?: number): IRectType | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Group, Node, Path } from "spritejs";
|
|
2
|
-
import {
|
|
2
|
+
import { BaseNodeMapItem } from "../types";
|
|
3
3
|
export declare const isSealedGroup: (group: Group | Path | Node) => boolean;
|
|
4
|
-
export declare const isRenderNode: (
|
|
4
|
+
export declare const isRenderNode: (param: Pick<BaseNodeMapItem, 'isHid'>) => boolean;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Group, Scene } from "spritejs";
|
|
2
|
-
import { IActiveToolsDataType, IActiveWorkDataType, IBatchMainMessage, ICameraOpt, ILayerOptionType,
|
|
2
|
+
import { IActiveToolsDataType, IActiveWorkDataType, IBatchMainMessage, ICameraOpt, ILayerOptionType, IOffscreenCanvasOptionType, IRectType, IWorkerMessage } from "../types";
|
|
3
3
|
import { VNodeManager } from "./vNodeManager";
|
|
4
|
-
import { EDataType,
|
|
4
|
+
import { ECanvasShowType, EDataType, EvevtWorkState } from "../enum";
|
|
5
5
|
import { ShapeStateInfo } from "../tools/utils";
|
|
6
6
|
import { BaseShapeOptions, BaseShapeTool } from "../tools/base";
|
|
7
7
|
import { ServiceWorkForFullWorker } from "./fullWorkerService";
|
|
8
8
|
import { LocalWorkForFullWorker } from "./fullWorkerLocal";
|
|
9
9
|
import { LocalWorkForSubWorker } from "./subWorkerLocal";
|
|
10
10
|
import type { WorkThreadEngineForFullWorker, WorkThreadEngineForSubWorker } from "./workerManager";
|
|
11
|
+
import { EmitEventType } from "../../plugin/types";
|
|
11
12
|
export interface IWorkerInitOption {
|
|
12
13
|
dpr: number;
|
|
13
14
|
offscreenCanvasOpt: IOffscreenCanvasOptionType;
|
|
@@ -18,37 +19,48 @@ export interface ISubWorkerInitOption {
|
|
|
18
19
|
viewId: string;
|
|
19
20
|
vNodes: VNodeManager;
|
|
20
21
|
fullLayer: Group;
|
|
22
|
+
topLayer?: Group;
|
|
21
23
|
drawLayer?: Group;
|
|
22
|
-
post: (msg: IBatchMainMessage) => Promise<void>;
|
|
23
24
|
}
|
|
24
25
|
export declare abstract class WorkThreadEngineBase {
|
|
25
26
|
readonly viewId: string;
|
|
26
27
|
readonly fullLayer: Group;
|
|
27
28
|
readonly vNodes: VNodeManager;
|
|
28
29
|
readonly dpr: number;
|
|
29
|
-
readonly abstract drawLayer?: Group;
|
|
30
|
-
readonly abstract snapshotFullLayer?: Group;
|
|
31
30
|
protected opt: IWorkerInitOption;
|
|
32
31
|
protected cameraOpt?: ICameraOpt;
|
|
33
32
|
protected scene: Scene;
|
|
34
33
|
abstract localWork: LocalWorkForFullWorker | LocalWorkForSubWorker;
|
|
35
34
|
abstract serviceWork?: ServiceWorkForFullWorker;
|
|
36
35
|
protected isSafari: boolean;
|
|
37
|
-
protected abstract _post: (msg: IBatchMainMessage
|
|
36
|
+
protected abstract _post: (msg: IBatchMainMessage) => void;
|
|
37
|
+
combinePostMsg: Set<IBatchMainMessage>;
|
|
38
|
+
protected workerTaskId?: number | undefined;
|
|
39
|
+
protected protectedTask?: {
|
|
40
|
+
isProtected: boolean;
|
|
41
|
+
workName: EmitEventType;
|
|
42
|
+
workState: EvevtWorkState;
|
|
43
|
+
};
|
|
38
44
|
constructor(viewId: string, opt: IWorkerInitOption);
|
|
39
45
|
setIsSafari(isSafari: boolean): void;
|
|
40
|
-
on(msg: IWorkerMessage): void
|
|
46
|
+
on(msg: IWorkerMessage, workerTasksqueueCount?: number): Promise<void>;
|
|
41
47
|
protected updateScene(offscreenCanvasOpt: IOffscreenCanvasOptionType): void;
|
|
42
48
|
protected updateLayer(layerOpt: ILayerOptionType): void;
|
|
49
|
+
private getSupportContextType;
|
|
43
50
|
protected createScene(opt: IOffscreenCanvasOptionType): Scene;
|
|
44
51
|
protected createLayer(name: string, scene: Scene, opt: ILayerOptionType): Group;
|
|
45
52
|
protected clearAll(): void;
|
|
46
53
|
protected setToolsOpt(opt: IActiveToolsDataType): void;
|
|
47
54
|
protected setWorkOpt(opt: Partial<IActiveWorkDataType>): void;
|
|
48
55
|
protected destroy(): void;
|
|
56
|
+
post(msg: IBatchMainMessage): void;
|
|
57
|
+
private runBatchPostData;
|
|
58
|
+
protected combinePostData(): IBatchMainMessage;
|
|
59
|
+
protected safariFixRect(rect: IRectType): IRectType | undefined;
|
|
60
|
+
protected getSceneRect(): IRectType;
|
|
61
|
+
abstract combinePost(): Promise<void>;
|
|
62
|
+
protected abstract getLayer(workLayer: ECanvasShowType): Group | undefined;
|
|
49
63
|
abstract setCameraOpt(cameraOpt: ICameraOpt): void;
|
|
50
|
-
abstract getOffscreen(isFullWork: boolean): OffscreenCanvas;
|
|
51
|
-
abstract post(msg: IBatchMainMessage): Promise<void>;
|
|
52
64
|
abstract consumeDraw(type: EDataType, data: IWorkerMessage): void;
|
|
53
65
|
abstract consumeDrawAll(type: EDataType, data: IWorkerMessage): void;
|
|
54
66
|
}
|
|
@@ -58,46 +70,24 @@ export declare abstract class LocalWork {
|
|
|
58
70
|
readonly thread: WorkThreadEngineForFullWorker | WorkThreadEngineForSubWorker;
|
|
59
71
|
fullLayer: Group;
|
|
60
72
|
drawLayer?: Group;
|
|
61
|
-
readonly _post: (msg: IBatchMainMessage) =>
|
|
73
|
+
readonly _post: (msg: IBatchMainMessage) => void;
|
|
62
74
|
protected tmpWorkShapeNode?: BaseShapeTool;
|
|
63
75
|
protected tmpOpt?: IActiveToolsDataType;
|
|
64
|
-
workShapes: Map<
|
|
65
|
-
workShapeState: Map<
|
|
66
|
-
protected effectWorkId?: number;
|
|
76
|
+
workShapes: Map<string, BaseShapeTool>;
|
|
77
|
+
workShapeState: Map<string, ShapeStateInfo>;
|
|
67
78
|
protected drawCount: number;
|
|
68
79
|
constructor(opt: ISubWorkerInitOption);
|
|
69
80
|
destroy(): void;
|
|
70
|
-
|
|
81
|
+
getWorkShapes(): Map<string, BaseShapeTool>;
|
|
82
|
+
getWorkShape(workId: string): BaseShapeTool | undefined;
|
|
71
83
|
getTmpWorkShapeNode(): BaseShapeTool | undefined;
|
|
72
|
-
setTmpWorkId(workId:
|
|
73
|
-
|
|
74
|
-
setWorkOptions(workId: IworkId, opt: BaseShapeOptions): void;
|
|
84
|
+
setTmpWorkId(workId: string | undefined): void;
|
|
85
|
+
setWorkOptions(workId: string, opt: BaseShapeOptions): void;
|
|
75
86
|
createWorkShapeNode(opt: IActiveToolsDataType & {
|
|
76
|
-
workId?:
|
|
77
|
-
}): import("../tools").
|
|
87
|
+
workId?: string;
|
|
88
|
+
}): import("../tools").ArrowShape | import("../tools").PencilShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").StarShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | import("../tools/text").TextShape | import("../tools").LaserPenShape | import("../tools").EraserShape | import("../tools").SelectorShape | import("../tools").ImageShape | undefined;
|
|
78
89
|
setToolsOpt(opt: IActiveToolsDataType): void;
|
|
79
|
-
clearWorkShapeNodeCache(workId:
|
|
90
|
+
clearWorkShapeNodeCache(workId: string): void;
|
|
80
91
|
clearAllWorkShapesCache(): void;
|
|
81
|
-
setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): BaseShapeTool | import("../tools").
|
|
82
|
-
abstract consumeDraw(data: IWorkerMessage, serviceWork?: ServiceWork): IMainMessage | undefined;
|
|
83
|
-
abstract consumeDrawAll(data: IWorkerMessage, serviceWork?: ServiceWork): IMainMessage | undefined;
|
|
84
|
-
}
|
|
85
|
-
export interface ServiceWork {
|
|
86
|
-
readonly viewId: string;
|
|
87
|
-
readonly vNodes: VNodeManager;
|
|
88
|
-
readonly fullLayer: Group;
|
|
89
|
-
readonly drawLayer: Group;
|
|
90
|
-
readonly post: (msg: IBatchMainMessage) => Promise<void>;
|
|
91
|
-
selectorWorkShapes: Map<string, IServiceWorkItem>;
|
|
92
|
-
clearAllWorkShapesCache(): void;
|
|
93
|
-
runSelectWork(data: IWorkerMessage): void;
|
|
94
|
-
consumeDraw(data: IWorkerMessage): void;
|
|
95
|
-
setNodeKey(workShape: IServiceWorkItem, tools: EToolsKey, opt: BaseShapeOptions): IServiceWorkItem;
|
|
96
|
-
runReverseSelectWork(selectIds: string[]): void;
|
|
97
|
-
removeWork(data: IWorkerMessage): void;
|
|
98
|
-
removeSelectWork(data: IWorkerMessage): void;
|
|
99
|
-
runSelectWork(data: IWorkerMessage): void;
|
|
100
|
-
consumeFull(data: IWorkerMessage): void;
|
|
101
|
-
consumeDraw(data: IWorkerMessage): void;
|
|
102
|
-
destroy(): void;
|
|
92
|
+
setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): BaseShapeTool | import("../tools/straight").StraightShape | import("../tools").PolygonShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | import("../tools").LaserPenShape | undefined;
|
|
103
93
|
}
|
|
@@ -12,8 +12,9 @@ export declare class LocalWorkForFullWorker extends LocalWork {
|
|
|
12
12
|
constructor(opt: ISubWorkerInitOption);
|
|
13
13
|
consumeDraw(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): IMainMessage | undefined;
|
|
14
14
|
consumeDrawAll(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): IMainMessage | undefined;
|
|
15
|
+
workShapesDone(scenePath: string, serviceWork: ServiceWorkForFullWorker): void;
|
|
15
16
|
consumeFull(data: IWorkerMessage, scene?: Scene): Promise<void>;
|
|
16
|
-
removeWork(data: IWorkerMessage):
|
|
17
|
+
removeWork(data: IWorkerMessage): void;
|
|
17
18
|
removeNode(key: string): IRectType | undefined;
|
|
18
19
|
checkTextActive(data: IWorkerMessage): Promise<void>;
|
|
19
20
|
colloctEffectSelectWork(data: IWorkerMessage): Promise<IWorkerMessage | undefined>;
|
|
@@ -1,25 +1,41 @@
|
|
|
1
1
|
import { Group } from "spritejs";
|
|
2
|
-
import { ISubWorkerInitOption
|
|
2
|
+
import { ISubWorkerInitOption } from "./base";
|
|
3
3
|
import { VNodeManager } from "./vNodeManager";
|
|
4
4
|
import { IBatchMainMessage, IServiceWorkItem, IWorkerMessage } from "../types";
|
|
5
5
|
import { EToolsKey } from "../enum";
|
|
6
6
|
import { BaseShapeOptions } from "../tools";
|
|
7
|
+
export interface ServiceWork {
|
|
8
|
+
readonly viewId: string;
|
|
9
|
+
readonly vNodes: VNodeManager;
|
|
10
|
+
readonly fullLayer: Group;
|
|
11
|
+
readonly drawLayer: Group;
|
|
12
|
+
readonly post: (msg: IBatchMainMessage) => void;
|
|
13
|
+
selectorWorkShapes: Map<string, IServiceWorkItem>;
|
|
14
|
+
clearAllWorkShapesCache(): void;
|
|
15
|
+
runSelectWork(data: IWorkerMessage): void;
|
|
16
|
+
consumeDraw(data: IWorkerMessage): void;
|
|
17
|
+
setNodeKey(workShape: IServiceWorkItem, tools: EToolsKey, opt: BaseShapeOptions): IServiceWorkItem;
|
|
18
|
+
runReverseSelectWork(selectIds: string[]): void;
|
|
19
|
+
removeWork(data: IWorkerMessage): void;
|
|
20
|
+
removeSelectWork(data: IWorkerMessage): void;
|
|
21
|
+
runSelectWork(data: IWorkerMessage): void;
|
|
22
|
+
consumeFull(data: IWorkerMessage): void;
|
|
23
|
+
consumeDraw(data: IWorkerMessage): void;
|
|
24
|
+
destroy(): void;
|
|
25
|
+
}
|
|
7
26
|
export declare class ServiceWorkForFullWorker implements ServiceWork {
|
|
8
27
|
viewId: string;
|
|
9
28
|
vNodes: VNodeManager;
|
|
10
29
|
fullLayer: Group;
|
|
11
30
|
drawLayer: Group;
|
|
12
|
-
serviceDrawLayer: Group;
|
|
13
31
|
workShapes: Map<string, IServiceWorkItem>;
|
|
14
32
|
selectorWorkShapes: Map<string, IServiceWorkItem>;
|
|
15
33
|
protected animationId?: number | undefined;
|
|
16
34
|
private willRunEffectSelectorIds;
|
|
17
35
|
private runEffectId?;
|
|
18
36
|
private noAnimationRect;
|
|
19
|
-
post: (msg: IBatchMainMessage
|
|
20
|
-
constructor(opt: ISubWorkerInitOption
|
|
21
|
-
serviceDrawLayer: Group;
|
|
22
|
-
});
|
|
37
|
+
post: (msg: IBatchMainMessage) => void;
|
|
38
|
+
constructor(opt: ISubWorkerInitOption);
|
|
23
39
|
destroy(): void;
|
|
24
40
|
consumeDraw(data: IWorkerMessage): void;
|
|
25
41
|
consumeFull(data: IWorkerMessage): void;
|
|
@@ -27,7 +43,7 @@ export declare class ServiceWorkForFullWorker implements ServiceWork {
|
|
|
27
43
|
runSelectWork(data: IWorkerMessage): void;
|
|
28
44
|
setNodeKey(workShape: IServiceWorkItem, tools: EToolsKey, opt: BaseShapeOptions): IServiceWorkItem;
|
|
29
45
|
runReverseSelectWork(selectIds: string[]): void;
|
|
30
|
-
removeWork(data: IWorkerMessage):
|
|
46
|
+
removeWork(data: IWorkerMessage): void;
|
|
31
47
|
removeSelectWork(data: IWorkerMessage): void;
|
|
32
48
|
private removeNode;
|
|
33
49
|
private activeWorkShape;
|
|
@@ -3,18 +3,16 @@ import { IWorkerMessage, IRectType, IMainMessage } from "..";
|
|
|
3
3
|
import { BaseCollectorReducerAction } from "../../collector/types";
|
|
4
4
|
import { LocalWork, ISubWorkerInitOption } from "./base";
|
|
5
5
|
export declare class LocalWorkForSubWorker extends LocalWork {
|
|
6
|
-
private animationWorkRects?;
|
|
7
6
|
protected combineDrawTimer?: number;
|
|
8
|
-
private animationId?;
|
|
9
|
-
private closeAnimationTime;
|
|
10
|
-
private runLaserPenStep;
|
|
11
7
|
constructor(opt: ISubWorkerInitOption);
|
|
12
|
-
runFullWork(data: IWorkerMessage
|
|
8
|
+
runFullWork(data: IWorkerMessage): Promise<IRectType | undefined>;
|
|
13
9
|
runSelectWork(data: IWorkerMessage): undefined;
|
|
10
|
+
workShapesDone(): void;
|
|
14
11
|
consumeDraw(data: IWorkerMessage): IMainMessage | undefined;
|
|
15
12
|
consumeDrawAll(data: IWorkerMessage): undefined;
|
|
16
13
|
updateLabels(labelGroup: Group, value: BaseCollectorReducerAction): void;
|
|
17
|
-
|
|
14
|
+
removeWork(data: IWorkerMessage): void;
|
|
15
|
+
private removeNode;
|
|
18
16
|
private drawPencil;
|
|
19
17
|
private drawArrow;
|
|
20
18
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Group } from "spritejs";
|
|
2
|
+
import { BaseShapeOptions, BaseShapeTool } from "../tools";
|
|
3
|
+
import { ISubWorkerInitOption } from "./base";
|
|
4
|
+
import { VNodeManager } from "./vNodeManager";
|
|
5
|
+
import { IActiveToolsDataType, IBatchMainMessage, ILocalWorkItem, IServiceWorkItem, IWorkerMessage } from "../types";
|
|
6
|
+
export interface TopLayerWork {
|
|
7
|
+
readonly viewId: string;
|
|
8
|
+
readonly vNodes: VNodeManager;
|
|
9
|
+
readonly topLayer: Group;
|
|
10
|
+
readonly post: (msg: IBatchMainMessage) => void;
|
|
11
|
+
consumeDraw(data: IWorkerMessage): void;
|
|
12
|
+
consumeDrawAll(data: IWorkerMessage): void;
|
|
13
|
+
destroy(): void;
|
|
14
|
+
}
|
|
15
|
+
export declare class TopLayerWorkForSubWorker implements TopLayerWork {
|
|
16
|
+
viewId: string;
|
|
17
|
+
vNodes: VNodeManager;
|
|
18
|
+
topLayer: Group;
|
|
19
|
+
post: (msg: IBatchMainMessage) => void;
|
|
20
|
+
serviceWorkShapes: Map<string, IServiceWorkItem>;
|
|
21
|
+
localWorkShapes: Map<string, ILocalWorkItem>;
|
|
22
|
+
protected tmpOpt?: IActiveToolsDataType;
|
|
23
|
+
protected tmpWorkShapeNode?: BaseShapeTool;
|
|
24
|
+
protected animationId?: number | undefined;
|
|
25
|
+
constructor(opt: ISubWorkerInitOption);
|
|
26
|
+
getWorkShape(workId: string): ILocalWorkItem | undefined;
|
|
27
|
+
getTmpWorkShapeNode(): BaseShapeTool | undefined;
|
|
28
|
+
setTmpWorkId(workId: string | undefined): void;
|
|
29
|
+
setWorkOptions(workId: string, opt: BaseShapeOptions): void;
|
|
30
|
+
createWorkShapeNode(opt: IActiveToolsDataType & {
|
|
31
|
+
workId?: string;
|
|
32
|
+
}): import("../tools").ArrowShape | import("../tools").PencilShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").StarShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | import("../tools/text").TextShape | import("../tools").LaserPenShape | import("../tools").EraserShape | import("../tools").SelectorShape | import("../tools").ImageShape | undefined;
|
|
33
|
+
clearAllWorkShapesCache(): void;
|
|
34
|
+
setToolsOpt(opt: IActiveToolsDataType): void;
|
|
35
|
+
consumeDraw(data: IWorkerMessage): void;
|
|
36
|
+
consumeDrawAll(data: IWorkerMessage): void;
|
|
37
|
+
destroy(): void;
|
|
38
|
+
private setNodeKey;
|
|
39
|
+
private activeServiceWorkShape;
|
|
40
|
+
private computNextAnimationIndex;
|
|
41
|
+
private animationDraw;
|
|
42
|
+
private runAnimation;
|
|
43
|
+
}
|
|
@@ -4,16 +4,17 @@ export declare class VNodeManager {
|
|
|
4
4
|
viewId: string;
|
|
5
5
|
scene: Scene;
|
|
6
6
|
scenePath?: string;
|
|
7
|
-
drawLayer?: Group;
|
|
8
7
|
fullLayer?: Group;
|
|
9
8
|
curNodeMap: Map<string, BaseNodeMapItem>;
|
|
10
9
|
targetNodeMap: Map<string, BaseNodeMapItem>[];
|
|
11
10
|
constructor(viewId: string, scene: Scene);
|
|
12
|
-
init(fullLayer: Group
|
|
11
|
+
init(fullLayer: Group): void;
|
|
13
12
|
get(name: string): BaseNodeMapItem | undefined;
|
|
14
13
|
hasRenderNodes(): boolean;
|
|
15
14
|
has(name: string): void;
|
|
16
15
|
setInfo(name: string, info: Partial<BaseNodeMapItem>): void;
|
|
16
|
+
selected(name: string): void;
|
|
17
|
+
unSelected(name: string): void;
|
|
17
18
|
delete(name: string): void;
|
|
18
19
|
clear(): void;
|
|
19
20
|
hasRectIntersectRange(rect: IRectType, filterLock?: boolean): boolean;
|
|
@@ -29,4 +30,5 @@ export declare class VNodeManager {
|
|
|
29
30
|
deleteLastTarget(): void;
|
|
30
31
|
getTarget(i: number): Map<string, BaseNodeMapItem>;
|
|
31
32
|
deleteTarget(i: number): void;
|
|
33
|
+
clearTarget(): void;
|
|
32
34
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Group } from "spritejs";
|
|
2
|
-
import { EDataType } from "../enum";
|
|
2
|
+
import { ECanvasShowType, EDataType } from "../enum";
|
|
3
3
|
import { IBatchMainMessage, ICameraOpt, ILayerOptionType, IWorkerMessage } from "../types";
|
|
4
4
|
import { IWorkerInitOption, WorkThreadEngineBase } from "./base";
|
|
5
5
|
import { LocalWorkForFullWorker } from "./fullWorkerLocal";
|
|
6
6
|
import { ServiceWorkForFullWorker } from "./fullWorkerService";
|
|
7
7
|
import { LocalWorkForSubWorker } from "./subWorkerLocal";
|
|
8
|
+
import { TopLayerWorkForSubWorker } from "./subWorkerTopLayer";
|
|
8
9
|
export declare enum EWorkThreadType {
|
|
9
10
|
Full = "full",
|
|
10
11
|
Sub = "sub"
|
|
@@ -21,51 +22,51 @@ export declare class WorkerManager<T extends WorkThreadEngineBase> {
|
|
|
21
22
|
/** full worker */
|
|
22
23
|
export declare class WorkThreadEngineForFullWorker extends WorkThreadEngineBase {
|
|
23
24
|
serviceDrawLayer: Group;
|
|
24
|
-
|
|
25
|
+
localDrawLayer: Group;
|
|
25
26
|
snapshotFullLayer: undefined;
|
|
26
27
|
private methodBuilder;
|
|
27
28
|
localWork: LocalWorkForFullWorker;
|
|
28
29
|
serviceWork: ServiceWorkForFullWorker;
|
|
29
30
|
protected _post: (msg: IBatchMainMessage, transfer?: Transferable[] | undefined) => void;
|
|
30
31
|
constructor(viewId: string, opt: IWorkerInitOption, _post: (msg: IBatchMainMessage, transfer?: Transferable[]) => void);
|
|
31
|
-
|
|
32
|
-
on(msg: IWorkerMessage): void
|
|
32
|
+
combinePost(): Promise<void>;
|
|
33
|
+
on(msg: IWorkerMessage, workerTasksqueueCount?: number): Promise<void>;
|
|
33
34
|
removeNode(data: IWorkerMessage): Promise<void>;
|
|
34
35
|
checkTextActive(data: IWorkerMessage): void;
|
|
35
36
|
clearAll(): void;
|
|
36
37
|
protected updateLayer(layerOpt: ILayerOptionType): void;
|
|
37
38
|
setCameraOpt(cameraOpt: ICameraOpt): void;
|
|
38
|
-
getLayer(
|
|
39
|
-
getOffscreen(
|
|
39
|
+
protected getLayer(drawCanvas: ECanvasShowType): Group | undefined;
|
|
40
|
+
getOffscreen(drawCanvas: ECanvasShowType): OffscreenCanvas;
|
|
40
41
|
consumeFull(type: EDataType, data: IWorkerMessage): Promise<void>;
|
|
41
42
|
consumeDraw(type: EDataType, data: IWorkerMessage): void;
|
|
42
43
|
consumeDrawAll(type: EDataType, data: IWorkerMessage): void;
|
|
43
44
|
private updateCamera;
|
|
44
45
|
private getRectImageBitmap;
|
|
45
|
-
private safariFixRect;
|
|
46
|
-
private getSceneRect;
|
|
47
|
-
private checkRightRectBoundingBox;
|
|
48
46
|
private cursorHover;
|
|
49
47
|
}
|
|
50
48
|
/** sub worker */
|
|
51
49
|
export declare class WorkThreadEngineForSubWorker extends WorkThreadEngineBase {
|
|
52
50
|
protected _post: (msg: IBatchMainMessage, transfer?: Transferable[] | undefined) => void;
|
|
53
|
-
|
|
51
|
+
topLayer: Group;
|
|
54
52
|
snapshotFullLayer: Group | undefined;
|
|
55
53
|
serviceWork: undefined;
|
|
56
54
|
localWork: LocalWorkForSubWorker;
|
|
55
|
+
topLayerWork: TopLayerWorkForSubWorker;
|
|
57
56
|
constructor(viewId: string, opt: IWorkerInitOption, _post: (msg: IBatchMainMessage, transfer?: Transferable[]) => void);
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
combinePost(): Promise<void>;
|
|
58
|
+
getLayer(drawCanvas: ECanvasShowType, isSnapshot?: boolean): Group;
|
|
59
|
+
on(msg: IWorkerMessage): Promise<void>;
|
|
60
|
+
removeNode(data: IWorkerMessage): Promise<void>;
|
|
61
|
+
getOffscreen(drawCanvas: ECanvasShowType, isSnapshot?: boolean): OffscreenCanvas;
|
|
62
|
+
consumeDraw(_type: EDataType, data: IWorkerMessage): void;
|
|
62
63
|
consumeDrawAll(_type: EDataType, data: IWorkerMessage): void;
|
|
64
|
+
clearAll(): void;
|
|
63
65
|
private getRectImageBitmap;
|
|
64
|
-
|
|
66
|
+
protected updateLayer(layerOpt: ILayerOptionType): void;
|
|
65
67
|
private updateCamera;
|
|
66
68
|
setCameraOpt(cameraOpt: ICameraOpt, layer?: Group): void;
|
|
67
69
|
private getSnapshot;
|
|
68
|
-
private willRenderSpecialLabel;
|
|
69
70
|
private getSnapshotRender;
|
|
70
71
|
private getBoundingRect;
|
|
71
72
|
}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { TextEditorInfo } from "../../component/textEditor";
|
|
3
3
|
export declare const FloatBar: React.MemoExoticComponent<React.ForwardRefExoticComponent<{
|
|
4
|
-
className: string;
|
|
5
4
|
editors?: Map<string, TextEditorInfo> | undefined;
|
|
6
5
|
activeTextId?: string | undefined;
|
|
7
|
-
} & React.RefAttributes<
|
|
8
|
-
export declare const FloatBarBtn: (props: {
|
|
9
|
-
className: string;
|
|
10
|
-
}) => React.JSX.Element | null;
|
|
6
|
+
} & React.RefAttributes<HTMLDivElement>>>;
|