@netless/appliance-plugin 1.0.0-beta.2 → 1.0.0-beta.4
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 +19 -2
- package/cdn/cdn.js +1 -1
- package/cdn/fullWorker-wE6a5h.js +566 -0
- package/cdn/subWorker-C2CJhY.js +566 -0
- package/dist/appliance-plugin.js +1 -1
- package/dist/appliance-plugin.mjs +22 -8620
- package/dist/component/textEditor/types.d.ts +1 -0
- package/dist/component/textEditor/view.d.ts +9 -7
- package/dist/core/enum.d.ts +7 -7
- package/dist/core/mainEngine.d.ts +8 -5
- 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 +40 -0
- package/dist/core/mainThread/subLocalThread.d.ts +101 -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 +32 -0
- package/dist/core/msgEvent/baseForMainThread.d.ts +13 -0
- package/dist/core/msgEvent/copyNode/forMainThread.d.ts +8 -0
- package/dist/core/msgEvent/deleteNode/forMainThread.d.ts +13 -0
- package/dist/core/msgEvent/forMainThread.d.ts +14 -0
- package/dist/core/msgEvent/rotateNode/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/scaleNode/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setColor/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setFont/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setLock/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setPoint/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setShape/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setZIndex/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/translateNode/forMain.d.ts +0 -1
- package/dist/core/msgEvent/translateNode/forMainThread.d.ts +9 -0
- package/dist/core/tools/arrow.d.ts +4 -3
- package/dist/core/tools/base.d.ts +3 -3
- package/dist/core/tools/ellipse.d.ts +4 -3
- package/dist/core/tools/eraser.d.ts +3 -3
- package/dist/core/tools/image.d.ts +1 -0
- package/dist/core/tools/pencil.d.ts +1 -0
- 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 +4 -3
- package/dist/core/tools/straight.d.ts +4 -3
- package/dist/core/tools/utils.d.ts +7 -3
- package/dist/core/types.d.ts +13 -1
- package/dist/core/utils/index.d.ts +1 -1
- package/dist/core/worker/base.d.ts +17 -34
- package/dist/core/worker/fullWorkerLocal.d.ts +1 -1
- package/dist/core/worker/fullWorkerService.d.ts +23 -7
- package/dist/core/worker/subWorkerLocal.d.ts +0 -5
- package/dist/core/worker/subWorkerTopLayer.d.ts +43 -0
- package/dist/core/worker/vNodeManager.d.ts +3 -2
- package/dist/core/worker/workerManager.d.ts +16 -15
- package/dist/displayer/floatBar/dragBox/index.d.ts +4 -0
- package/dist/displayer/floatBar/index.d.ts +1 -5
- package/dist/fullWorker.js +10 -10
- package/dist/index-0-ebfVjb.mjs +8732 -0
- package/dist/index-CQlnAm5S.mjs +5405 -0
- package/dist/index-DMJjpzvq.js +1 -0
- package/dist/index-h_PU7sdS.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/plugin/baseApplianceManager.d.ts +3 -3
- package/dist/plugin/baseViewContainerManager.d.ts +6 -3
- package/dist/plugin/const.d.ts +13 -0
- package/dist/plugin/displayerView.d.ts +4 -11
- package/dist/plugin/multi/applianceMultiManager.d.ts +1 -1
- package/dist/plugin/multi/containerManager.d.ts +1 -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/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 +1 -2
- package/dist/style.css +1 -1
- package/dist/subWorker.js +10 -10
- package/package.json +3 -3
- package/cdn/fullWorker-O4uzWn.js +0 -566
- package/cdn/subWorker-CvBoLi.js +0 -566
- 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
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import React, { FocusEventHandler, KeyboardEventHandler } from "react";
|
|
2
2
|
import { TextEditorInfo, TextOptions } from "./types";
|
|
3
|
-
import { ApplianceViewManagerLike } from "../../plugin/types";
|
|
3
|
+
import { ApplianceViewManagerLike, EmitEventType } from "../../plugin/types";
|
|
4
4
|
export interface TextSelectorManagerProps {
|
|
5
5
|
selectIds: string[];
|
|
6
6
|
className?: string;
|
|
7
7
|
editors?: Map<string, TextEditorInfo>;
|
|
8
8
|
activeTextId?: string;
|
|
9
|
-
|
|
9
|
+
box?: {
|
|
10
10
|
x: number;
|
|
11
11
|
y: number;
|
|
12
|
+
w: number;
|
|
13
|
+
h: number;
|
|
12
14
|
};
|
|
13
|
-
textRef?: React.RefObject<HTMLDivElement>;
|
|
14
15
|
manager: ApplianceViewManagerLike;
|
|
15
16
|
showFloatBtns?: boolean;
|
|
17
|
+
operationType?: EmitEventType;
|
|
16
18
|
}
|
|
17
19
|
export interface TextViewProps {
|
|
18
20
|
workId: string;
|
|
@@ -22,10 +24,8 @@ export interface TextViewProps {
|
|
|
22
24
|
manager: ApplianceViewManagerLike;
|
|
23
25
|
}
|
|
24
26
|
export interface TextSelectorViewProps extends TextViewProps {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
y: number;
|
|
28
|
-
};
|
|
27
|
+
left: string;
|
|
28
|
+
top: string;
|
|
29
29
|
selectIds?: string[];
|
|
30
30
|
updateOptInfo: (param: {
|
|
31
31
|
activeTextId: string;
|
|
@@ -37,6 +37,7 @@ export interface TextEditorProps extends TextViewProps {
|
|
|
37
37
|
showFloatBtns: boolean;
|
|
38
38
|
handleKeyUp: KeyboardEventHandler<HTMLDivElement>;
|
|
39
39
|
handleFocus: FocusEventHandler<HTMLDivElement>;
|
|
40
|
+
handleBlur: FocusEventHandler<HTMLDivElement>;
|
|
40
41
|
updateOptInfo: (param: {
|
|
41
42
|
activeTextId: string;
|
|
42
43
|
update: Partial<TextOptions>;
|
|
@@ -60,6 +61,7 @@ export declare class TextViewInSelector extends React.Component<TextSelectorMana
|
|
|
60
61
|
render(): React.JSX.Element;
|
|
61
62
|
}
|
|
62
63
|
export declare class TextEditorContainer extends TextViewInSelector {
|
|
64
|
+
ref: React.RefObject<HTMLDivElement> | undefined;
|
|
63
65
|
constructor(props: TextSelectorManagerProps);
|
|
64
66
|
handleKeyUp(e: any): void;
|
|
65
67
|
handleFocus(e: any): void;
|
package/dist/core/enum.d.ts
CHANGED
|
@@ -103,15 +103,15 @@ export declare enum ECanvasContextType {
|
|
|
103
103
|
Canvas2d = "2d"
|
|
104
104
|
}
|
|
105
105
|
export declare enum ECanvasShowType {
|
|
106
|
-
|
|
107
|
-
Float = 1,
|
|
106
|
+
None = 0,
|
|
108
107
|
/** 背景画布 */
|
|
109
|
-
Bg =
|
|
110
|
-
/** 选择框中的画布 */
|
|
111
|
-
Selector = 3,
|
|
108
|
+
Bg = 1,
|
|
112
109
|
/** 服务端前置画布 */
|
|
113
|
-
ServiceFloat =
|
|
114
|
-
|
|
110
|
+
ServiceFloat = 2,
|
|
111
|
+
/** 本地前置画布 */
|
|
112
|
+
Float = 3,
|
|
113
|
+
/** 绝对最顶层 */
|
|
114
|
+
TopFloat = 4
|
|
115
115
|
}
|
|
116
116
|
export declare enum EventMessageType {
|
|
117
117
|
/** cursor事件 */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import EventEmitter2 from "eventemitter2";
|
|
2
2
|
import { BaseCollectorReducerAction, DiffOne } from "../collector";
|
|
3
3
|
import { BaseApplianceManager } from "../plugin/baseApplianceManager";
|
|
4
|
-
import { IActiveToolsDataType, IActiveWorkDataType, ICameraOpt, IRectType, IUpdateNodeOpt, IWorkerMessage, IqueryTask, IworkId, ViewWorkerOptions } from "./types";
|
|
4
|
+
import { IActiveToolsDataType, IActiveWorkDataType, ICameraOpt, IMainMessage, IRectType, IUpdateNodeOpt, IWorkerMessage, IqueryTask, IworkId, ViewWorkerOptions } from "./types";
|
|
5
5
|
import { BaseSubWorkModuleProps } from "../plugin/types";
|
|
6
6
|
import type { ImageInformation } from "../plugin/types";
|
|
7
7
|
import { MethodBuilderMain } from "./msgEvent";
|
|
@@ -108,8 +108,9 @@ export declare class MasterControlForWorker extends MasterController {
|
|
|
108
108
|
private clearAllResolve?;
|
|
109
109
|
private delayWorkStateToDone?;
|
|
110
110
|
private delayWorkStateToDoneResolve?;
|
|
111
|
-
private undoTickerId?;
|
|
112
111
|
private animationId;
|
|
112
|
+
private tmpImageConfigMap;
|
|
113
|
+
private mainThread?;
|
|
113
114
|
constructor(props: BaseSubWorkModuleProps);
|
|
114
115
|
private get viewContainerManager();
|
|
115
116
|
private get collector();
|
|
@@ -118,9 +119,11 @@ export declare class MasterControlForWorker extends MasterController {
|
|
|
118
119
|
private get isUseZIndex();
|
|
119
120
|
private get isCanRecordUndoRedo();
|
|
120
121
|
private get isCanSentCursor();
|
|
121
|
-
init(): void
|
|
122
|
-
on(): void
|
|
123
|
-
|
|
122
|
+
init(): Promise<void>;
|
|
123
|
+
on(): Promise<void>;
|
|
124
|
+
setMaxDrawCount(num: number): void;
|
|
125
|
+
setWorkerTasksqueueCount(num: number): void;
|
|
126
|
+
collectorSyncData(sp: IMainMessage[]): void;
|
|
124
127
|
private collectorAsyncData;
|
|
125
128
|
private onLocalEventEnd;
|
|
126
129
|
private onLocalEventDoing;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Group } from "spritejs";
|
|
2
|
+
import { IBatchMainMessage, ICameraOpt, ILayerOptionType, IMainMessage, IOffscreenCanvasOptionType, IWorkerMessage } from "../types";
|
|
3
|
+
import { VNodeManager } from "./vNodeManager";
|
|
4
|
+
import type { MasterControlForWorker } from '../mainEngine';
|
|
5
|
+
import type { AppViewDisplayerManager, MainViewDisplayerManager } from "../../plugin/baseViewContainerManager";
|
|
6
|
+
import { EDataType } from "../enum";
|
|
7
|
+
import { SubTopThread } from "./subTopThread";
|
|
8
|
+
import { SubLocalThread } from "./subLocalThread";
|
|
9
|
+
import { SubServiceThread } from "./subServiceThread";
|
|
10
|
+
export type ICanvasOptionType = IOffscreenCanvasOptionType;
|
|
11
|
+
export interface IMainThreadInitOption {
|
|
12
|
+
container: HTMLDivElement;
|
|
13
|
+
canvasOpt: ICanvasOptionType;
|
|
14
|
+
layerOpt: ILayerOptionType;
|
|
15
|
+
master: MasterControlForWorker;
|
|
16
|
+
displayer: MainViewDisplayerManager | AppViewDisplayerManager;
|
|
17
|
+
post(sp: Omit<IBatchMainMessage, 'render'>): void;
|
|
18
|
+
}
|
|
19
|
+
export interface ISubThreadInitOption {
|
|
20
|
+
thread: MainThreadEngineImpl;
|
|
21
|
+
vNodes: VNodeManager;
|
|
22
|
+
}
|
|
23
|
+
export interface ISubWorkerInitOption {
|
|
24
|
+
thread: MainThreadEngine;
|
|
25
|
+
viewId: string;
|
|
26
|
+
vNodes: VNodeManager;
|
|
27
|
+
topLayer: Group;
|
|
28
|
+
localLayer: Group;
|
|
29
|
+
serviceLayer: Group;
|
|
30
|
+
fullLayer: Group;
|
|
31
|
+
}
|
|
32
|
+
export interface MainThreadEngine {
|
|
33
|
+
readonly viewId: string;
|
|
34
|
+
readonly fullLayer: Group;
|
|
35
|
+
readonly topLayer: Group;
|
|
36
|
+
readonly localLayer: Group;
|
|
37
|
+
readonly serviceLayer: Group;
|
|
38
|
+
readonly vNodes: VNodeManager;
|
|
39
|
+
readonly master: MasterControlForWorker;
|
|
40
|
+
setCameraOpt(cameraOpt: ICameraOpt): void;
|
|
41
|
+
on(msg: IWorkerMessage, workerTasksqueueCount?: number): Promise<void>;
|
|
42
|
+
post(sp: IMainMessage): void;
|
|
43
|
+
destroy(): void;
|
|
44
|
+
}
|
|
45
|
+
export declare class MainThreadEngineImpl implements MainThreadEngine {
|
|
46
|
+
viewId: string;
|
|
47
|
+
fullLayer: Group;
|
|
48
|
+
topLayer: Group;
|
|
49
|
+
localLayer: Group;
|
|
50
|
+
serviceLayer: Group;
|
|
51
|
+
snapshotFullLayer?: Group;
|
|
52
|
+
vNodes: VNodeManager;
|
|
53
|
+
master: MasterControlForWorker;
|
|
54
|
+
private opt;
|
|
55
|
+
private cameraOpt?;
|
|
56
|
+
private scene;
|
|
57
|
+
localWork: SubLocalThread;
|
|
58
|
+
serviceWork: SubServiceThread;
|
|
59
|
+
topWork: SubTopThread;
|
|
60
|
+
private mainThreadPostId?;
|
|
61
|
+
private combinePostMsg;
|
|
62
|
+
private methodBuilder;
|
|
63
|
+
constructor(viewId: string, opt: IMainThreadInitOption);
|
|
64
|
+
post(msg: Omit<IBatchMainMessage, 'render'>): void;
|
|
65
|
+
on(msg: IWorkerMessage, workerTasksqueueCount?: number | undefined): Promise<void>;
|
|
66
|
+
private removeNode;
|
|
67
|
+
consumeFull(type: EDataType, data: IWorkerMessage): Promise<void>;
|
|
68
|
+
setCameraOpt(cameraOpt: ICameraOpt): void;
|
|
69
|
+
private runBatchPostData;
|
|
70
|
+
private combinePostData;
|
|
71
|
+
combinePost(): void;
|
|
72
|
+
clearAll(): void;
|
|
73
|
+
private consumeDrawAll;
|
|
74
|
+
private consumeDraw;
|
|
75
|
+
private updateCamera;
|
|
76
|
+
private createScene;
|
|
77
|
+
private createLayer;
|
|
78
|
+
private updateScene;
|
|
79
|
+
private updateLayer;
|
|
80
|
+
destroy(): void;
|
|
81
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { MasterControlForWorker } from "../mainEngine";
|
|
2
|
+
import { IBatchMainMessage, IWorkerMessage } from "../types";
|
|
3
|
+
import { IMainThreadInitOption, MainThreadEngineImpl } from "./base";
|
|
4
|
+
import { SnapshotThreadImpl } from "./snapshotThread";
|
|
5
|
+
export interface MainThreadManager {
|
|
6
|
+
master: MasterControlForWorker;
|
|
7
|
+
mainThreadMap: Map<string, MainThreadEngineImpl>;
|
|
8
|
+
createMainThread(viewId: string, opt: IMainThreadInitOption): MainThreadEngineImpl;
|
|
9
|
+
consume(msg: Set<IWorkerMessage>): void;
|
|
10
|
+
post(sp: Omit<IBatchMainMessage, 'render'>): void;
|
|
11
|
+
destroy(): void;
|
|
12
|
+
}
|
|
13
|
+
export declare class MainThreadManagerImpl implements MainThreadManager {
|
|
14
|
+
mainThreadMap: Map<string, MainThreadEngineImpl>;
|
|
15
|
+
private snapshotThread?;
|
|
16
|
+
master: MasterControlForWorker;
|
|
17
|
+
constructor(master: MasterControlForWorker);
|
|
18
|
+
post(msg: Omit<IBatchMainMessage, 'render'>): void;
|
|
19
|
+
destroy(): void;
|
|
20
|
+
createMainThread(viewId: string, opt: IMainThreadInitOption): MainThreadEngineImpl;
|
|
21
|
+
createSnapshotThread(viewId: string, opt: IMainThreadInitOption): SnapshotThreadImpl;
|
|
22
|
+
consume(msg: Set<IWorkerMessage>): void;
|
|
23
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Group } from "spritejs";
|
|
2
|
+
import { IMainThreadInitOption } from "./base";
|
|
3
|
+
import { MasterControlForWorker } from "../mainEngine";
|
|
4
|
+
import { IActiveToolsDataType, IBatchMainMessage, ICameraOpt, IRectType, IWorkerMessage, IworkId } from "../types";
|
|
5
|
+
import type { BaseShapeTool } from "../tools/base";
|
|
6
|
+
import type { ImageShape } from "../tools/image";
|
|
7
|
+
export declare class SnapshotThreadImpl {
|
|
8
|
+
viewId: string;
|
|
9
|
+
fullLayer: Group;
|
|
10
|
+
master: MasterControlForWorker;
|
|
11
|
+
private opt;
|
|
12
|
+
private scene;
|
|
13
|
+
private mainThreadPostId?;
|
|
14
|
+
private combinePostMsg;
|
|
15
|
+
workShapes: Map<IworkId, BaseShapeTool>;
|
|
16
|
+
constructor(viewId: string, opt: IMainThreadInitOption);
|
|
17
|
+
post(msg: Omit<IBatchMainMessage, 'render'>): void;
|
|
18
|
+
on(msg: IWorkerMessage): Promise<void>;
|
|
19
|
+
createWorkShapeNode(opt: IActiveToolsDataType & {
|
|
20
|
+
workId?: IworkId;
|
|
21
|
+
}): 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 | ImageShape | undefined;
|
|
22
|
+
setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): BaseShapeTool | import("../tools/text").TextShape | import("../tools").LaserPenShape | undefined;
|
|
23
|
+
runFullWork(data: IWorkerMessage, isDrawLabel?: boolean): Promise<IRectType | undefined>;
|
|
24
|
+
private getSnapshot;
|
|
25
|
+
private updateLabels;
|
|
26
|
+
private willRenderSpecialLabel;
|
|
27
|
+
private getSceneRect;
|
|
28
|
+
private getRectImageBitmap;
|
|
29
|
+
private getSnapshotRender;
|
|
30
|
+
private getBoundingRect;
|
|
31
|
+
setCameraOpt(cameraOpt: ICameraOpt): void;
|
|
32
|
+
private runBatchPostData;
|
|
33
|
+
private combinePostData;
|
|
34
|
+
combinePost(): void;
|
|
35
|
+
private createScene;
|
|
36
|
+
private createLayer;
|
|
37
|
+
private updateScene;
|
|
38
|
+
private updateLayer;
|
|
39
|
+
destroy(): void;
|
|
40
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { IworkId, IActiveToolsDataType, IWorkerMessage, IMainMessage, IUpdateSelectorPropsType, IBatchMainMessage } from "../types";
|
|
2
|
+
import type { BaseShapeTool, BaseShapeOptions, SelectorShape, ImageShape, ShapeToolsClass, PencilShape } from "../tools";
|
|
3
|
+
import { MainThreadEngineImpl, ISubThreadInitOption } from "./base";
|
|
4
|
+
import { VNodeManager } from "./vNodeManager";
|
|
5
|
+
import { EToolsKey } from "../enum";
|
|
6
|
+
import { Scene } from "spritejs";
|
|
7
|
+
import { SubServiceThread } from "./subServiceThread";
|
|
8
|
+
export interface SubLocalThread {
|
|
9
|
+
readonly vNodes: VNodeManager;
|
|
10
|
+
readonly thread: MainThreadEngineImpl;
|
|
11
|
+
workShapes: Map<IworkId, BaseShapeTool>;
|
|
12
|
+
effectSelectNodeData: Set<IWorkerMessage>;
|
|
13
|
+
destroy(): void;
|
|
14
|
+
clearAll(): void;
|
|
15
|
+
clearWorkShapeNodeCache(workId: IworkId): void;
|
|
16
|
+
setToolsOpt(opt: IActiveToolsDataType): void;
|
|
17
|
+
createWorkShapeNode(opt: IActiveToolsDataType & {
|
|
18
|
+
workId?: IworkId;
|
|
19
|
+
}): void;
|
|
20
|
+
getTmpWorkShapeNode(): BaseShapeTool | undefined;
|
|
21
|
+
setWorkOptions(workId: IworkId, opt: BaseShapeOptions): void;
|
|
22
|
+
consumeDrawAll(data: IWorkerMessage, serviceWork: SubServiceThread): void;
|
|
23
|
+
consumeDraw(data: IWorkerMessage, serviceWork: SubServiceThread): void;
|
|
24
|
+
colloctEffectSelectWork(data: IWorkerMessage): Promise<IWorkerMessage | undefined>;
|
|
25
|
+
reRenderSelector(willSyncService?: boolean): void;
|
|
26
|
+
blurSelector(data?: IWorkerMessage): Promise<void>;
|
|
27
|
+
getWorkShape(workId: IworkId): BaseShapeTool | undefined;
|
|
28
|
+
setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): ShapeToolsClass | undefined;
|
|
29
|
+
consumeFull(data: IWorkerMessage, scene?: Scene): Promise<void>;
|
|
30
|
+
removeWork(data: IWorkerMessage): void;
|
|
31
|
+
updateFullSelectWork(data: IWorkerMessage): void;
|
|
32
|
+
cursorHover(msg: IWorkerMessage): void;
|
|
33
|
+
checkTextActive(data: IWorkerMessage): Promise<void>;
|
|
34
|
+
removeNode(key: string): void;
|
|
35
|
+
updateSelector(params: IUpdateSelectorPropsType & {
|
|
36
|
+
callback?: (props: {
|
|
37
|
+
res?: IMainMessage;
|
|
38
|
+
param: IUpdateSelectorPropsType;
|
|
39
|
+
postData: Pick<IBatchMainMessage, 'sp' | 'render'>;
|
|
40
|
+
workShapeNode: SelectorShape;
|
|
41
|
+
newServiceStore: Map<string, {
|
|
42
|
+
opt: BaseShapeOptions;
|
|
43
|
+
toolsType: EToolsKey;
|
|
44
|
+
ops?: string;
|
|
45
|
+
}>;
|
|
46
|
+
}) => void;
|
|
47
|
+
}): Promise<IMainMessage | undefined>;
|
|
48
|
+
}
|
|
49
|
+
export declare class SubLocalThreadImpl implements SubLocalThread {
|
|
50
|
+
readonly vNodes: VNodeManager;
|
|
51
|
+
readonly thread: MainThreadEngineImpl;
|
|
52
|
+
workShapes: Map<IworkId, BaseShapeTool>;
|
|
53
|
+
effectSelectNodeData: Set<IWorkerMessage>;
|
|
54
|
+
private batchEraserRemoveNodes;
|
|
55
|
+
private batchEraserWorks;
|
|
56
|
+
private tmpOpt?;
|
|
57
|
+
private tmpWorkShapeNode?;
|
|
58
|
+
private drawCount;
|
|
59
|
+
constructor(opt: ISubThreadInitOption);
|
|
60
|
+
updateSelector(params: IUpdateSelectorPropsType & {
|
|
61
|
+
callback?: ((props: {
|
|
62
|
+
res?: IMainMessage | undefined;
|
|
63
|
+
param: IUpdateSelectorPropsType;
|
|
64
|
+
postData: Pick<IBatchMainMessage, "sp">;
|
|
65
|
+
workShapeNode: SelectorShape;
|
|
66
|
+
newServiceStore: Map<string, {
|
|
67
|
+
opt: BaseShapeOptions;
|
|
68
|
+
toolsType: EToolsKey;
|
|
69
|
+
ops?: string | undefined;
|
|
70
|
+
}>;
|
|
71
|
+
}) => void) | undefined;
|
|
72
|
+
}): Promise<IMainMessage | undefined>;
|
|
73
|
+
destroy(): void;
|
|
74
|
+
private clearAllWorkShapesCache;
|
|
75
|
+
clearAll(): void;
|
|
76
|
+
checkTextActive(data: IWorkerMessage): Promise<void>;
|
|
77
|
+
cursorHover(msg: IWorkerMessage): void;
|
|
78
|
+
updateFullSelectWork(data: IWorkerMessage): void;
|
|
79
|
+
removeWork(data: IWorkerMessage): void;
|
|
80
|
+
removeNode(key: string): void;
|
|
81
|
+
setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): BaseShapeTool | import("../tools/text").TextShape | import("../tools").LaserPenShape | undefined;
|
|
82
|
+
consumeFull(data: IWorkerMessage, scene?: Scene): Promise<void>;
|
|
83
|
+
colloctEffectSelectWork(data: IWorkerMessage): Promise<IWorkerMessage | undefined>;
|
|
84
|
+
private runEffectSelectWork;
|
|
85
|
+
reRenderSelector(willSyncService?: boolean): Promise<void> | undefined;
|
|
86
|
+
blurSelector(data?: IWorkerMessage): Promise<void>;
|
|
87
|
+
clearWorkShapeNodeCache(workId: IworkId): void;
|
|
88
|
+
private drawEraser;
|
|
89
|
+
private updateBatchEraserCombineNode;
|
|
90
|
+
private batchEraserCombine;
|
|
91
|
+
getWorkShape(workId: IworkId): BaseShapeTool | undefined;
|
|
92
|
+
consumeDraw(data: IWorkerMessage, serviceWork: SubServiceThread): void;
|
|
93
|
+
consumeDrawAll(data: IWorkerMessage, serviceWork: SubServiceThread): void;
|
|
94
|
+
getTmpWorkShapeNode(): BaseShapeTool | undefined;
|
|
95
|
+
setToolsOpt(opt: IActiveToolsDataType): void;
|
|
96
|
+
setTmpWorkId(workId: IworkId | undefined): void;
|
|
97
|
+
setWorkOptions(workId: IworkId, opt: BaseShapeOptions): void;
|
|
98
|
+
createWorkShapeNode(opt: IActiveToolsDataType & {
|
|
99
|
+
workId?: IworkId;
|
|
100
|
+
}): import("../tools").ArrowShape | 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 | SelectorShape | ImageShape | undefined;
|
|
101
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { IServiceWorkItem, IWorkerMessage } from "../types";
|
|
2
|
+
import { MainThreadEngineImpl, ISubThreadInitOption } from "./base";
|
|
3
|
+
import { VNodeManager } from "./vNodeManager";
|
|
4
|
+
export interface SubServiceThread {
|
|
5
|
+
workShapes: Map<string, IServiceWorkItem>;
|
|
6
|
+
selectorWorkShapes: Map<string, IServiceWorkItem>;
|
|
7
|
+
destroy(): void;
|
|
8
|
+
clearAll(): void;
|
|
9
|
+
consumeDraw(data: IWorkerMessage): void;
|
|
10
|
+
runReverseSelectWork(selectIds: string[]): void;
|
|
11
|
+
consumeFull(data: IWorkerMessage): void;
|
|
12
|
+
removeWork(data: IWorkerMessage): void;
|
|
13
|
+
runSelectWork(data: IWorkerMessage): void;
|
|
14
|
+
}
|
|
15
|
+
export declare class SubServiceThreadImpl implements SubServiceThread {
|
|
16
|
+
readonly vNodes: VNodeManager;
|
|
17
|
+
readonly thread: MainThreadEngineImpl;
|
|
18
|
+
workShapes: Map<string, IServiceWorkItem>;
|
|
19
|
+
selectorWorkShapes: Map<string, IServiceWorkItem>;
|
|
20
|
+
private willRunEffectSelectorIds;
|
|
21
|
+
private runEffectId?;
|
|
22
|
+
private animationId?;
|
|
23
|
+
constructor(opt: ISubThreadInitOption);
|
|
24
|
+
destroy(): void;
|
|
25
|
+
clearAll(): void;
|
|
26
|
+
private runEffect;
|
|
27
|
+
private effectRunSelector;
|
|
28
|
+
runSelectWork(data: IWorkerMessage): void;
|
|
29
|
+
removeWork(data: IWorkerMessage): void;
|
|
30
|
+
consumeFull(data: IWorkerMessage): void;
|
|
31
|
+
runReverseSelectWork(selectIds: string[]): void;
|
|
32
|
+
consumeDraw(data: IWorkerMessage): void;
|
|
33
|
+
private computNextAnimationIndex;
|
|
34
|
+
private animationDraw;
|
|
35
|
+
private runAnimation;
|
|
36
|
+
private hasDiffData;
|
|
37
|
+
private activeWorkShape;
|
|
38
|
+
private removeNode;
|
|
39
|
+
private removeSelectWork;
|
|
40
|
+
private activeSelectorShape;
|
|
41
|
+
private setNodeKey;
|
|
42
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { IServiceWorkItem, IworkId, ILocalWorkItem, IActiveToolsDataType, IWorkerMessage } from "../types";
|
|
2
|
+
import { BaseShapeTool, BaseShapeOptions } from "../tools";
|
|
3
|
+
import { MainThreadEngineImpl, ISubThreadInitOption } from "./base";
|
|
4
|
+
import { VNodeManager } from "./vNodeManager";
|
|
5
|
+
export interface SubTopThread {
|
|
6
|
+
readonly vNodes: VNodeManager;
|
|
7
|
+
readonly thread: MainThreadEngineImpl;
|
|
8
|
+
serviceWorkShapes: Map<string, IServiceWorkItem>;
|
|
9
|
+
localWorkShapes: Map<IworkId, ILocalWorkItem>;
|
|
10
|
+
destroy(): void;
|
|
11
|
+
clearAll(): void;
|
|
12
|
+
setToolsOpt(opt: IActiveToolsDataType): void;
|
|
13
|
+
createWorkShapeNode(opt: IActiveToolsDataType & {
|
|
14
|
+
workId?: IworkId;
|
|
15
|
+
}): BaseShapeTool | undefined;
|
|
16
|
+
getTmpWorkShapeNode(): BaseShapeTool | undefined;
|
|
17
|
+
setWorkOptions(workId: IworkId, opt: BaseShapeOptions): void;
|
|
18
|
+
consumeDrawAll(data: IWorkerMessage): void;
|
|
19
|
+
consumeDraw(data: IWorkerMessage): void;
|
|
20
|
+
}
|
|
21
|
+
export declare class SubTopThreadImpl implements SubTopThread {
|
|
22
|
+
readonly vNodes: VNodeManager;
|
|
23
|
+
readonly thread: MainThreadEngineImpl;
|
|
24
|
+
serviceWorkShapes: Map<string, IServiceWorkItem>;
|
|
25
|
+
localWorkShapes: Map<IworkId, ILocalWorkItem>;
|
|
26
|
+
private tmpOpt?;
|
|
27
|
+
private tmpWorkShapeNode?;
|
|
28
|
+
private animationId?;
|
|
29
|
+
constructor(opt: ISubThreadInitOption);
|
|
30
|
+
destroy(): void;
|
|
31
|
+
clearAll(): void;
|
|
32
|
+
consumeDraw(data: IWorkerMessage): void;
|
|
33
|
+
setToolsOpt(opt: IActiveToolsDataType): void;
|
|
34
|
+
createWorkShapeNode(opt: IActiveToolsDataType & {
|
|
35
|
+
workId?: IworkId | undefined;
|
|
36
|
+
}): BaseShapeTool | undefined;
|
|
37
|
+
getTmpWorkShapeNode(): BaseShapeTool | undefined;
|
|
38
|
+
private setTmpWorkId;
|
|
39
|
+
private setNodeKey;
|
|
40
|
+
private activeServiceWorkShape;
|
|
41
|
+
private computNextAnimationIndex;
|
|
42
|
+
private animationDraw;
|
|
43
|
+
private runAnimation;
|
|
44
|
+
setWorkOptions(workId: IworkId, opt: BaseShapeOptions): void;
|
|
45
|
+
consumeDrawAll(data: IWorkerMessage): void;
|
|
46
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Group, Scene } from "spritejs";
|
|
2
|
+
import { BaseNodeMapItem, IRectType } from "../types";
|
|
3
|
+
export declare class VNodeManager {
|
|
4
|
+
viewId: string;
|
|
5
|
+
scene: Scene;
|
|
6
|
+
fullLayer?: Group;
|
|
7
|
+
curNodeMap: Map<string, BaseNodeMapItem>;
|
|
8
|
+
targetNodeMap: Map<string, BaseNodeMapItem>[];
|
|
9
|
+
constructor(viewId: string, scene: Scene);
|
|
10
|
+
init(fullLayer: Group): void;
|
|
11
|
+
get(name: string): BaseNodeMapItem | undefined;
|
|
12
|
+
hasRenderNodes(): boolean;
|
|
13
|
+
has(name: string): void;
|
|
14
|
+
setInfo(name: string, info: Partial<BaseNodeMapItem>): void;
|
|
15
|
+
selected(name: string): void;
|
|
16
|
+
unSelected(name: string): void;
|
|
17
|
+
delete(name: string): void;
|
|
18
|
+
clear(): void;
|
|
19
|
+
hasRectIntersectRange(rect: IRectType, filterLock?: boolean): boolean;
|
|
20
|
+
getRectIntersectRange(rect: IRectType, filterLock?: boolean): {
|
|
21
|
+
rectRange: IRectType | undefined;
|
|
22
|
+
nodeRange: Map<string, BaseNodeMapItem>;
|
|
23
|
+
};
|
|
24
|
+
getNodeRectFormShape(name: string, value: BaseNodeMapItem): IRectType | undefined;
|
|
25
|
+
updateNodesRect(): void;
|
|
26
|
+
combineIntersectRect(rect: IRectType): IRectType;
|
|
27
|
+
setTarget(): number;
|
|
28
|
+
getLastTarget(): Map<string, BaseNodeMapItem>;
|
|
29
|
+
deleteLastTarget(): void;
|
|
30
|
+
getTarget(i: number): Map<string, BaseNodeMapItem>;
|
|
31
|
+
deleteTarget(i: number): void;
|
|
32
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Scene } from "spritejs";
|
|
2
|
+
import { EmitEventType } from "../../plugin/types";
|
|
3
|
+
import { IWorkerMessage } from "../types";
|
|
4
|
+
import { SubLocalThread } from "../mainThread/subLocalThread";
|
|
5
|
+
import { SubServiceThread } from "../mainThread/subServiceThread";
|
|
6
|
+
export declare abstract class BaseMsgMethodForMainThread {
|
|
7
|
+
abstract readonly emitEventType: EmitEventType;
|
|
8
|
+
localWork?: SubLocalThread;
|
|
9
|
+
serviceWork?: SubServiceThread;
|
|
10
|
+
scene: Scene | undefined;
|
|
11
|
+
registerMainThread(localWork: SubLocalThread, serviceWork?: SubServiceThread, scene?: Scene): this;
|
|
12
|
+
abstract consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EmitEventType } from "../../../plugin/types";
|
|
2
|
+
import { IWorkerMessage } from "../../types";
|
|
3
|
+
import { BaseMsgMethodForMainThread } from "../baseForMainThread";
|
|
4
|
+
export declare class CopyNodeMethodForMainThread extends BaseMsgMethodForMainThread {
|
|
5
|
+
readonly emitEventType: EmitEventType;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
7
|
+
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EmitEventType } from "../../../plugin/types";
|
|
2
|
+
import { BaseMsgMethodForMainThread } from "../baseForMainThread";
|
|
3
|
+
import { IWorkerMessage, IworkId } from "../../types";
|
|
4
|
+
export type DeleteNodeEmtData = {
|
|
5
|
+
workIds: IworkId[];
|
|
6
|
+
};
|
|
7
|
+
export declare class DeleteNodeMethodForMainThread extends BaseMsgMethodForMainThread {
|
|
8
|
+
readonly emitEventType: EmitEventType;
|
|
9
|
+
consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
10
|
+
consumeForLocalWorker(data: IWorkerMessage): void;
|
|
11
|
+
consumeForServiceWorker(data: IWorkerMessage): void;
|
|
12
|
+
private commandDeleteText;
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EmitEventType } from '../../plugin/types';
|
|
2
|
+
import { BaseMsgMethodForMainThread } from './baseForMainThread';
|
|
3
|
+
import { IWorkerMessage } from '../types';
|
|
4
|
+
import type { Scene } from 'spritejs';
|
|
5
|
+
import type { SubLocalThread } from '../mainThread/subLocalThread';
|
|
6
|
+
import type { SubServiceThread } from '../mainThread/subServiceThread';
|
|
7
|
+
export type MsgMethodForMainThread<T extends BaseMsgMethodForMainThread> = T;
|
|
8
|
+
export declare class MethodBuilderWorker {
|
|
9
|
+
builders: Map<EmitEventType, MsgMethodForMainThread<BaseMsgMethodForMainThread> | undefined>;
|
|
10
|
+
constructor(emitTypes: EmitEventType[]);
|
|
11
|
+
build(type: EmitEventType): MsgMethodForMainThread<BaseMsgMethodForMainThread> | undefined;
|
|
12
|
+
registerForMainThread(localWork: SubLocalThread, serviceWork?: SubServiceThread, scene?: Scene): this;
|
|
13
|
+
consumeForMainThread(data: IWorkerMessage): Promise<boolean>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EmitEventType } from "../../../plugin/types";
|
|
2
|
+
import { BaseMsgMethodForMainThread } from "../baseForMainThread";
|
|
3
|
+
import { IWorkerMessage } from "../../types";
|
|
4
|
+
export declare class RotateNodeMethodForMainThread extends BaseMsgMethodForMainThread {
|
|
5
|
+
readonly emitEventType: EmitEventType;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
7
|
+
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
|
+
private updateSelectorCallback;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EmitEventType } from "../../../plugin/types";
|
|
2
|
+
import { BaseMsgMethodForMainThread } from "../baseForMainThread";
|
|
3
|
+
import { IWorkerMessage } from "../../types";
|
|
4
|
+
export declare class ScaleNodeMethodForMainThread extends BaseMsgMethodForMainThread {
|
|
5
|
+
readonly emitEventType: EmitEventType;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
7
|
+
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
|
+
private updateSelectorCallback;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EmitEventType } from "../../../plugin/types";
|
|
2
|
+
import { BaseMsgMethodForMainThread } from "../baseForMainThread";
|
|
3
|
+
import { IWorkerMessage } from "../../types";
|
|
4
|
+
export declare class SetColorNodeMethodForMainThread extends BaseMsgMethodForMainThread {
|
|
5
|
+
readonly emitEventType: EmitEventType;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
7
|
+
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
|
+
private updateSelectorCallback;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EmitEventType } from "../../../plugin/types";
|
|
2
|
+
import { BaseMsgMethodForMainThread } from "../baseForMainThread";
|
|
3
|
+
import { IWorkerMessage } from "../../types";
|
|
4
|
+
export declare class SetFontStyleMethodForMainThread extends BaseMsgMethodForMainThread {
|
|
5
|
+
readonly emitEventType: EmitEventType;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
7
|
+
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
|
+
private updateSelectorCallback;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EmitEventType } from "../../../plugin/types";
|
|
2
|
+
import { BaseMsgMethodForMainThread } from "../baseForMainThread";
|
|
3
|
+
import { IWorkerMessage } from "../../types";
|
|
4
|
+
export declare class SetLockMethodForMainThread extends BaseMsgMethodForMainThread {
|
|
5
|
+
readonly emitEventType: EmitEventType;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
7
|
+
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
|
+
private updateSelectorCallback;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EmitEventType } from "../../../plugin/types";
|
|
2
|
+
import { BaseMsgMethodForMainThread } from "../baseForMainThread";
|
|
3
|
+
import { IWorkerMessage } from "../../types";
|
|
4
|
+
export declare class SetPointMethodForMainThread extends BaseMsgMethodForMainThread {
|
|
5
|
+
readonly emitEventType: EmitEventType;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
7
|
+
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
|
+
private updateSelectorCallback;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EmitEventType } from "../../../plugin/types";
|
|
2
|
+
import { BaseMsgMethodForMainThread } from "../baseForMainThread";
|
|
3
|
+
import { IWorkerMessage } from "../../types";
|
|
4
|
+
export declare class SetShapeOptMethodForMainThread extends BaseMsgMethodForMainThread {
|
|
5
|
+
readonly emitEventType: EmitEventType;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
7
|
+
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
|
+
private updateSelectorCallback;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EmitEventType } from "../../../plugin/types";
|
|
2
|
+
import { BaseMsgMethodForMainThread } from "../baseForMainThread";
|
|
3
|
+
import { IWorkerMessage } from "../../types";
|
|
4
|
+
export declare class ZIndexNodeMethodForMainThread extends BaseMsgMethodForMainThread {
|
|
5
|
+
readonly emitEventType: EmitEventType;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
7
|
+
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
|
+
private updateSelectorCallback;
|
|
9
|
+
}
|
|
@@ -14,7 +14,6 @@ export type TranslateNodeEmtData = {
|
|
|
14
14
|
export declare class TranslateNodeMethod extends BaseMsgMethod {
|
|
15
15
|
readonly emitEventType: EmitEventType;
|
|
16
16
|
private undoTickerId?;
|
|
17
|
-
private oldRect;
|
|
18
17
|
private cachePosition;
|
|
19
18
|
collect(data: TranslateNodeEmtData): void;
|
|
20
19
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EmitEventType } from "../../../plugin/types";
|
|
2
|
+
import { BaseMsgMethodForMainThread } from "../baseForMainThread";
|
|
3
|
+
import { IWorkerMessage } from "../../types";
|
|
4
|
+
export declare class TranslateNodeMethodForMainThread extends BaseMsgMethodForMainThread {
|
|
5
|
+
readonly emitEventType: EmitEventType;
|
|
6
|
+
consume(data: IWorkerMessage): Promise<boolean | undefined>;
|
|
7
|
+
consumeForLocalWorker(data: IWorkerMessage): Promise<void>;
|
|
8
|
+
private updateSelectorCallback;
|
|
9
|
+
}
|