@netless/appliance-plugin 1.0.0-beta.0 → 1.0.0-beta.10
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-DkNRgu.js +468 -0
- package/cdn/subWorker-BvxT1L.js +468 -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 +8 -9
- package/dist/core/mainEngine.d.ts +37 -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 +102 -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/forMain.d.ts +2 -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/forMain.d.ts +0 -1
- package/dist/core/msgEvent/rotateNode/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/scaleNode/forMain.d.ts +2 -1
- package/dist/core/msgEvent/scaleNode/forMainThread.d.ts +9 -0
- package/dist/core/msgEvent/setColor/forMain.d.ts +2 -1
- 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 +3 -3
- package/dist/core/tools/base.d.ts +5 -5
- 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 -4
- package/dist/core/tools/utils.d.ts +7 -3
- package/dist/core/types.d.ts +16 -4
- 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 +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 +1 -6
- 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 -16
- package/dist/displayer/floatBar/dragBox/index.d.ts +4 -0
- package/dist/displayer/floatBar/index.d.ts +1 -5
- package/dist/fullWorker.js +468 -0
- package/dist/index-B3tcgIQd.js +1 -0
- package/dist/index-BFpq0pIU.mjs +8844 -0
- package/dist/index-CP5_CnSG.mjs +5419 -0
- package/dist/index-ChX1QimR.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/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 +9 -3
- package/dist/style.css +1 -1
- package/dist/subWorker.js +468 -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
|
@@ -24,6 +24,7 @@ export declare class CopyNodeMethod extends BaseMsgMethod {
|
|
|
24
24
|
store: BaseCollectorReducerAction;
|
|
25
25
|
bgCenter?: [number, number];
|
|
26
26
|
textCenter?: [number, number];
|
|
27
|
+
undoTickerId?: number;
|
|
27
28
|
}): void;
|
|
28
29
|
copySelector(param: {
|
|
29
30
|
viewId: string;
|
|
@@ -43,5 +44,6 @@ export declare class CopyNodeMethod extends BaseMsgMethod {
|
|
|
43
44
|
offset: Point;
|
|
44
45
|
cameraOpt: Pick<ICameraOpt, 'centerX' | 'centerY' | 'scale'>;
|
|
45
46
|
};
|
|
47
|
+
undoTickerId?: number;
|
|
46
48
|
}): void;
|
|
47
49
|
}
|
|
@@ -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
|
+
}
|
|
@@ -9,10 +9,11 @@ export type ScaleNodeEmtData = {
|
|
|
9
9
|
box: IRectType;
|
|
10
10
|
viewId: string;
|
|
11
11
|
dir?: Direction;
|
|
12
|
+
reverseY?: boolean;
|
|
13
|
+
reverseX?: boolean;
|
|
12
14
|
};
|
|
13
15
|
export declare class ScaleNodeMethod extends BaseMsgMethod {
|
|
14
16
|
readonly emitEventType: EmitEventType;
|
|
15
|
-
private undoTickerId?;
|
|
16
17
|
private targetBox;
|
|
17
18
|
private targetText;
|
|
18
19
|
private cacheTextInfo;
|
|
@@ -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
|
+
}
|
|
@@ -8,11 +8,12 @@ export type SetColorNodeEmtData = {
|
|
|
8
8
|
fillColor?: string;
|
|
9
9
|
fontColor?: string;
|
|
10
10
|
fontBgColor?: string;
|
|
11
|
-
workState
|
|
11
|
+
workState: EvevtWorkState;
|
|
12
12
|
viewId: string;
|
|
13
13
|
};
|
|
14
14
|
export declare class SetColorNodeMethod extends BaseMsgMethod {
|
|
15
15
|
readonly emitEventType: EmitEventType;
|
|
16
|
+
private undoTickerId?;
|
|
16
17
|
private setTextColor;
|
|
17
18
|
collect(data: SetColorNodeEmtData): void;
|
|
18
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 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
|
+
}
|
|
@@ -20,9 +20,9 @@ export declare class ArrowShape extends BaseShapeTool {
|
|
|
20
20
|
constructor(props: BaseShapeToolProps);
|
|
21
21
|
consume(props: {
|
|
22
22
|
data: IWorkerMessage;
|
|
23
|
-
isFullWork?: boolean
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
isFullWork?: boolean;
|
|
24
|
+
isSubWorker?: boolean;
|
|
25
|
+
isMainThread?: boolean;
|
|
26
26
|
}): IMainMessage;
|
|
27
27
|
consumeAll(props: {
|
|
28
28
|
data?: IWorkerMessage | undefined;
|
|
@@ -22,7 +22,7 @@ export interface BaseShapeOptions {
|
|
|
22
22
|
translate?: [number, number];
|
|
23
23
|
}
|
|
24
24
|
export interface BaseShapeToolProps {
|
|
25
|
-
vNodes
|
|
25
|
+
vNodes?: VNodeManager;
|
|
26
26
|
toolsOpt: ShapeOptions;
|
|
27
27
|
fullLayer: Group;
|
|
28
28
|
drawLayer?: Group;
|
|
@@ -34,7 +34,7 @@ export declare abstract class BaseShapeTool {
|
|
|
34
34
|
readonly abstract canRotate: boolean;
|
|
35
35
|
readonly abstract scaleType: EScaleType;
|
|
36
36
|
syncUnitTime: number;
|
|
37
|
-
vNodes
|
|
37
|
+
vNodes?: VNodeManager;
|
|
38
38
|
protected drawLayer?: Group;
|
|
39
39
|
protected fullLayer: Group;
|
|
40
40
|
protected workId: number | string | undefined;
|
|
@@ -44,20 +44,19 @@ export declare abstract class BaseShapeTool {
|
|
|
44
44
|
abstract consume(props: {
|
|
45
45
|
data: IWorkerMessage;
|
|
46
46
|
isFullWork?: boolean;
|
|
47
|
-
isClearAll?: boolean;
|
|
48
47
|
isSubWorker?: boolean;
|
|
48
|
+
drawCount?: number;
|
|
49
|
+
isMainThread?: boolean;
|
|
49
50
|
}): IMainMessage;
|
|
50
51
|
/** 消费本地完整数据,返回绘制结果 */
|
|
51
52
|
abstract consumeAll(props: {
|
|
52
53
|
data?: IWorkerMessage;
|
|
53
|
-
hoverId?: string;
|
|
54
54
|
}): IMainMessage;
|
|
55
55
|
/** 消费服务端数据,返回绘制结果 */
|
|
56
56
|
abstract consumeService(props: {
|
|
57
57
|
op: number[];
|
|
58
58
|
isFullWork: boolean;
|
|
59
59
|
replaceId?: string;
|
|
60
|
-
isClearAll?: boolean;
|
|
61
60
|
}): IRectType | undefined;
|
|
62
61
|
/** 清除临时数据 */
|
|
63
62
|
abstract clearTmpPoints(): void;
|
|
@@ -70,6 +69,7 @@ export declare abstract class BaseShapeTool {
|
|
|
70
69
|
setWorkOptions(workOptions: BaseShapeOptions): void;
|
|
71
70
|
/** 更新服务端同步配置,返回绘制结果 */
|
|
72
71
|
updataOptService(opt?: IUpdateNodeOpt): IRectType | undefined;
|
|
72
|
+
replace(layer: Group, replaceId: string, newNode: ShapeNodes): void;
|
|
73
73
|
static updateNodeOpt(param: {
|
|
74
74
|
node: ShapeNodes;
|
|
75
75
|
opt: IUpdateNodeOpt;
|
|
@@ -20,9 +20,9 @@ export declare class EllipseShape extends BaseShapeTool {
|
|
|
20
20
|
constructor(props: BaseShapeToolProps);
|
|
21
21
|
consume(props: {
|
|
22
22
|
data: IWorkerMessage;
|
|
23
|
-
isFullWork?: boolean
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
isFullWork?: boolean;
|
|
24
|
+
isSubWorker?: boolean;
|
|
25
|
+
isMainThread?: boolean;
|
|
26
26
|
}): IMainMessage;
|
|
27
27
|
consumeAll(props: {
|
|
28
28
|
data?: IWorkerMessage | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
|
|
2
2
|
import { EScaleType, EToolsKey } from "../enum";
|
|
3
3
|
import { IWorkerMessage, IMainMessage, IRectType } from "../types";
|
|
4
|
-
import type {
|
|
4
|
+
import type { ServiceThreadSubWork } from "./utils";
|
|
5
5
|
export interface EraserOptions extends BaseShapeOptions {
|
|
6
6
|
thickness: number;
|
|
7
7
|
isLine: boolean;
|
|
@@ -10,7 +10,7 @@ export declare class EraserShape extends BaseShapeTool {
|
|
|
10
10
|
readonly canRotate: boolean;
|
|
11
11
|
readonly scaleType: EScaleType;
|
|
12
12
|
readonly toolsType: EToolsKey;
|
|
13
|
-
readonly serviceWork?:
|
|
13
|
+
readonly serviceWork?: ServiceThreadSubWork;
|
|
14
14
|
private static readonly eraserSizes;
|
|
15
15
|
protected tmpPoints: Array<number>;
|
|
16
16
|
protected workOptions: EraserOptions;
|
|
@@ -18,7 +18,7 @@ export declare class EraserShape extends BaseShapeTool {
|
|
|
18
18
|
worldScaling: [number, number];
|
|
19
19
|
eraserRect: IRectType | undefined;
|
|
20
20
|
eraserPolyline?: [number, number, number, number];
|
|
21
|
-
constructor(props: BaseShapeToolProps, serviceWork?:
|
|
21
|
+
constructor(props: BaseShapeToolProps, serviceWork?: ServiceThreadSubWork);
|
|
22
22
|
combineConsume(): undefined;
|
|
23
23
|
consumeService(): IRectType | undefined;
|
|
24
24
|
setWorkOptions(setWorkOptions: EraserOptions): void;
|
|
@@ -41,8 +41,10 @@ export declare class ImageShape extends BaseShapeTool {
|
|
|
41
41
|
isFullWork: boolean;
|
|
42
42
|
scene: Scene;
|
|
43
43
|
replaceId?: string;
|
|
44
|
+
isMainThread?: boolean;
|
|
44
45
|
}): Promise<IRectType | undefined>;
|
|
45
46
|
clearTmpPoints(): void;
|
|
47
|
+
static getScaleType(opt: ImageOptions): EScaleType.all | EScaleType.proportional;
|
|
46
48
|
static updateNodeOpt(param: {
|
|
47
49
|
node: ShapeNodes;
|
|
48
50
|
opt: IUpdateNodeOpt;
|
|
@@ -29,8 +29,10 @@ export declare class PencilShape extends BaseShapeTool {
|
|
|
29
29
|
consume(props: {
|
|
30
30
|
data: IWorkerMessage;
|
|
31
31
|
isFullWork?: boolean;
|
|
32
|
-
isClearAll?: boolean;
|
|
33
32
|
isSubWorker?: boolean;
|
|
33
|
+
drawCount?: number;
|
|
34
|
+
isMainThread?: boolean;
|
|
35
|
+
replaceId?: string;
|
|
34
36
|
}): IMainMessage;
|
|
35
37
|
consumeAll(props: {
|
|
36
38
|
data?: IWorkerMessage;
|
|
@@ -40,7 +42,6 @@ export declare class PencilShape extends BaseShapeTool {
|
|
|
40
42
|
op: number[];
|
|
41
43
|
isFullWork?: boolean;
|
|
42
44
|
replaceId?: string;
|
|
43
|
-
isClearAll?: boolean;
|
|
44
45
|
}): IRectType | undefined;
|
|
45
46
|
private transformDataAll;
|
|
46
47
|
private draw;
|
|
@@ -21,9 +21,10 @@ export declare class PolygonShape extends BaseShapeTool {
|
|
|
21
21
|
constructor(props: BaseShapeToolProps);
|
|
22
22
|
consume(props: {
|
|
23
23
|
data: IWorkerMessage;
|
|
24
|
-
isFullWork?: boolean
|
|
25
|
-
isClearAll?: boolean
|
|
26
|
-
isSubWorker?: boolean
|
|
24
|
+
isFullWork?: boolean;
|
|
25
|
+
isClearAll?: boolean;
|
|
26
|
+
isSubWorker?: boolean;
|
|
27
|
+
isMainThread?: boolean;
|
|
27
28
|
}): IMainMessage;
|
|
28
29
|
consumeAll(props: {
|
|
29
30
|
data?: IWorkerMessage | undefined;
|
|
@@ -22,9 +22,10 @@ export declare class RectangleShape extends BaseShapeTool {
|
|
|
22
22
|
private computDrawPoints;
|
|
23
23
|
consume(props: {
|
|
24
24
|
data: IWorkerMessage;
|
|
25
|
-
isFullWork?: boolean
|
|
26
|
-
isClearAll?: boolean
|
|
27
|
-
isSubWorker?: boolean
|
|
25
|
+
isFullWork?: boolean;
|
|
26
|
+
isClearAll?: boolean;
|
|
27
|
+
isSubWorker?: boolean;
|
|
28
|
+
isMainThread?: boolean;
|
|
28
29
|
}): IMainMessage;
|
|
29
30
|
consumeAll(props: {
|
|
30
31
|
data?: IWorkerMessage | undefined;
|
|
@@ -3,10 +3,11 @@ import { BaseShapeOptions, BaseShapeTool, BaseShapeToolProps } from "./base";
|
|
|
3
3
|
import { EDataType, EPostMessageType, EScaleType, EToolsKey } from "../enum";
|
|
4
4
|
import { IWorkerMessage, IMainMessage, IRectType, IUpdateNodeOpt, IServiceWorkItem } from "../types";
|
|
5
5
|
import { Point2d } from "../utils/primitives/Point2d";
|
|
6
|
-
import { VNodeManager } from "../worker/vNodeManager";
|
|
6
|
+
import type { VNodeManager } from "../worker/vNodeManager";
|
|
7
7
|
import { TextOptions } from "../../component/textEditor/types";
|
|
8
8
|
import { LocalWorkForFullWorker } from "../worker/fullWorkerLocal";
|
|
9
9
|
import { ShapeOptType } from "../../displayer/types";
|
|
10
|
+
import type { SubLocalThread } from "../mainThread/subLocalThread";
|
|
10
11
|
export interface SelectorOptions extends BaseShapeOptions {
|
|
11
12
|
}
|
|
12
13
|
export declare class SelectorShape extends BaseShapeTool {
|
|
@@ -15,6 +16,7 @@ export declare class SelectorShape extends BaseShapeTool {
|
|
|
15
16
|
static selectorBorderId: string;
|
|
16
17
|
protected tmpPoints: Array<Point2d>;
|
|
17
18
|
protected workOptions: BaseShapeOptions;
|
|
19
|
+
vNodes: VNodeManager;
|
|
18
20
|
selectIds?: string[];
|
|
19
21
|
selectorColor?: string;
|
|
20
22
|
strokeColor?: string;
|
|
@@ -28,7 +30,7 @@ export declare class SelectorShape extends BaseShapeTool {
|
|
|
28
30
|
shapeOpt?: ShapeOptType;
|
|
29
31
|
textOpt?: TextOptions;
|
|
30
32
|
isLocked?: boolean;
|
|
31
|
-
constructor(props: BaseShapeToolProps);
|
|
33
|
+
constructor(props: Required<BaseShapeToolProps>);
|
|
32
34
|
private computSelector;
|
|
33
35
|
private updateTempPoints;
|
|
34
36
|
private drawSelector;
|
|
@@ -38,15 +40,14 @@ export declare class SelectorShape extends BaseShapeTool {
|
|
|
38
40
|
consume(props: {
|
|
39
41
|
data: IWorkerMessage;
|
|
40
42
|
}): IMainMessage;
|
|
41
|
-
consumeAll(
|
|
42
|
-
hoverId?: string;
|
|
43
|
-
}): IMainMessage;
|
|
43
|
+
consumeAll(): IMainMessage;
|
|
44
44
|
consumeService(): undefined;
|
|
45
45
|
clearTmpPoints(): void;
|
|
46
46
|
clearSelectData(): void;
|
|
47
47
|
private selectSingleTool;
|
|
48
|
-
private
|
|
49
|
-
private
|
|
48
|
+
private unSelectedAllIds;
|
|
49
|
+
private unSelectedByIds;
|
|
50
|
+
private selectedByIds;
|
|
50
51
|
private getSelectorRect;
|
|
51
52
|
isCanFillColor(toolsType?: EToolsKey): boolean;
|
|
52
53
|
updateSelector(param: {
|
|
@@ -54,9 +55,10 @@ export declare class SelectorShape extends BaseShapeTool {
|
|
|
54
55
|
vNodes: VNodeManager;
|
|
55
56
|
selectIds?: string[];
|
|
56
57
|
willSerializeData?: boolean;
|
|
57
|
-
worker?: LocalWorkForFullWorker;
|
|
58
|
+
worker?: LocalWorkForFullWorker | SubLocalThread;
|
|
58
59
|
offset?: [number, number];
|
|
59
60
|
scene?: Scene;
|
|
61
|
+
isMainThread?: boolean;
|
|
60
62
|
}): Promise<IMainMessage | undefined>;
|
|
61
63
|
blurSelector(): {
|
|
62
64
|
type: EPostMessageType;
|
|
@@ -65,7 +67,7 @@ export declare class SelectorShape extends BaseShapeTool {
|
|
|
65
67
|
selectIds: never[];
|
|
66
68
|
willSyncService: boolean;
|
|
67
69
|
};
|
|
68
|
-
|
|
70
|
+
getRightServiceId(serviceWorkId: string): string;
|
|
69
71
|
selectServiceNode(workId: string, workItem: Pick<IServiceWorkItem, 'selectIds'>, isService: boolean): IRectType | undefined;
|
|
70
72
|
reRenderSelector(): IRectType | undefined;
|
|
71
73
|
updateSelectIds(nextSelectIds: string[]): {
|
|
@@ -23,9 +23,10 @@ export declare class SpeechBalloonShape extends BaseShapeTool {
|
|
|
23
23
|
constructor(props: BaseShapeToolProps);
|
|
24
24
|
consume(props: {
|
|
25
25
|
data: IWorkerMessage;
|
|
26
|
-
isFullWork?: boolean
|
|
27
|
-
isClearAll?: boolean
|
|
28
|
-
isSubWorker?: boolean
|
|
26
|
+
isFullWork?: boolean;
|
|
27
|
+
isClearAll?: boolean;
|
|
28
|
+
isSubWorker?: boolean;
|
|
29
|
+
isMainThread?: boolean;
|
|
29
30
|
}): IMainMessage;
|
|
30
31
|
consumeAll(props: {
|
|
31
32
|
data?: IWorkerMessage | undefined;
|
|
@@ -23,9 +23,9 @@ export declare class StarShape extends BaseShapeTool {
|
|
|
23
23
|
constructor(props: BaseShapeToolProps);
|
|
24
24
|
consume(props: {
|
|
25
25
|
data: IWorkerMessage;
|
|
26
|
-
isFullWork?: boolean
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
isFullWork?: boolean;
|
|
27
|
+
isSubWorker?: boolean;
|
|
28
|
+
isMainThread?: boolean;
|
|
29
29
|
}): IMainMessage;
|
|
30
30
|
consumeAll(props: {
|
|
31
31
|
data?: IWorkerMessage | undefined;
|
|
@@ -20,9 +20,10 @@ export declare class StraightShape extends BaseShapeTool {
|
|
|
20
20
|
constructor(props: BaseShapeToolProps);
|
|
21
21
|
consume(props: {
|
|
22
22
|
data: IWorkerMessage;
|
|
23
|
-
isFullWork?: boolean
|
|
24
|
-
isClearAll?: boolean
|
|
25
|
-
isSubWorker?: boolean
|
|
23
|
+
isFullWork?: boolean;
|
|
24
|
+
isClearAll?: boolean;
|
|
25
|
+
isSubWorker?: boolean;
|
|
26
|
+
isMainThread?: boolean;
|
|
26
27
|
}): IMainMessage;
|
|
27
28
|
consumeAll(props: {
|
|
28
29
|
data?: IWorkerMessage | undefined;
|
|
@@ -16,13 +16,16 @@ 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
|
-
|
|
24
|
+
isDrawLabel?: true;
|
|
25
|
+
}): Promise<IRectType | undefined>;
|
|
26
|
+
updateLabelsWidth(node: Group): void;
|
|
27
|
+
updataOptService(): IRectType | undefined;
|
|
28
|
+
updataOptServiceAsync(updateNodeOpt: IUpdateNodeOpt): Promise<IRectType | undefined>;
|
|
26
29
|
clearTmpPoints(): void;
|
|
27
30
|
static getFontWidth(param: {
|
|
28
31
|
text: string;
|
|
@@ -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
|
@@ -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;
|