@netless/appliance-plugin 1.0.0-beta.3 → 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/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 -8598
- 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 +7 -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/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 +1 -1
- 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
|
@@ -20,9 +20,10 @@ export declare class ArrowShape 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;
|
|
@@ -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;
|
|
@@ -46,11 +46,11 @@ export declare abstract class BaseShapeTool {
|
|
|
46
46
|
isFullWork?: boolean;
|
|
47
47
|
isClearAll?: boolean;
|
|
48
48
|
isSubWorker?: boolean;
|
|
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: {
|
|
@@ -20,9 +20,10 @@ export declare class EllipseShape 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;
|
|
@@ -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;
|
|
@@ -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,10 @@ export declare class StarShape 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;
|
|
@@ -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;
|
|
@@ -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
|
@@ -179,6 +179,7 @@ export interface IMainMessage extends INormalPushMsg {
|
|
|
179
179
|
isLocked?: boolean;
|
|
180
180
|
shapeOpt?: ShapeOptType;
|
|
181
181
|
toolsTypes?: EToolsKey[];
|
|
182
|
+
waitWorker?: boolean;
|
|
182
183
|
}
|
|
183
184
|
export interface IMainMessageRenderData {
|
|
184
185
|
viewId: string;
|
|
@@ -191,7 +192,6 @@ export interface IMainMessageRenderData {
|
|
|
191
192
|
clearCanvas?: ECanvasShowType;
|
|
192
193
|
/** 是否需要销毁imageBitmap */
|
|
193
194
|
isUnClose?: boolean;
|
|
194
|
-
isFullWork?: boolean;
|
|
195
195
|
workerType?: EDataType.Local | EDataType.Service;
|
|
196
196
|
offset?: {
|
|
197
197
|
x: number;
|
|
@@ -263,6 +263,16 @@ export type IServiceWorkItem = {
|
|
|
263
263
|
totalRect?: IRectType;
|
|
264
264
|
isDiff?: boolean;
|
|
265
265
|
};
|
|
266
|
+
export type ILocalWorkItem = {
|
|
267
|
+
toolsType: EToolsKey;
|
|
268
|
+
node: BaseShapeTool;
|
|
269
|
+
data?: IWorkerMessage;
|
|
270
|
+
result?: IMainMessage;
|
|
271
|
+
totalRect?: IRectType;
|
|
272
|
+
workState: EvevtWorkState;
|
|
273
|
+
isDel?: boolean;
|
|
274
|
+
willRefresh?: boolean;
|
|
275
|
+
};
|
|
266
276
|
export type BaseNodeMapItem = {
|
|
267
277
|
name: string;
|
|
268
278
|
rect: IRectType;
|
|
@@ -272,6 +282,8 @@ export type BaseNodeMapItem = {
|
|
|
272
282
|
toolsType: EToolsKey;
|
|
273
283
|
canRotate: boolean;
|
|
274
284
|
scaleType: EScaleType;
|
|
285
|
+
/** 是否被框选中,框选中的元素不能被其它人操作 */
|
|
286
|
+
isSelected: 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;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Group, Scene } from "spritejs";
|
|
2
|
-
import { IActiveToolsDataType, IActiveWorkDataType, IBatchMainMessage, ICameraOpt, ILayerOptionType,
|
|
2
|
+
import { IActiveToolsDataType, IActiveWorkDataType, IBatchMainMessage, ICameraOpt, ILayerOptionType, IOffscreenCanvasOptionType, IRectType, IWorkerMessage, IworkId } from "../types";
|
|
3
3
|
import { VNodeManager } from "./vNodeManager";
|
|
4
|
-
import {
|
|
4
|
+
import { ECanvasShowType, EDataType } from "../enum";
|
|
5
5
|
import { ShapeStateInfo } from "../tools/utils";
|
|
6
6
|
import { BaseShapeOptions, BaseShapeTool } from "../tools/base";
|
|
7
7
|
import { ServiceWorkForFullWorker } from "./fullWorkerService";
|
|
@@ -18,26 +18,26 @@ export interface ISubWorkerInitOption {
|
|
|
18
18
|
viewId: string;
|
|
19
19
|
vNodes: VNodeManager;
|
|
20
20
|
fullLayer: Group;
|
|
21
|
+
topLayer?: Group;
|
|
21
22
|
drawLayer?: Group;
|
|
22
|
-
post: (msg: IBatchMainMessage) => Promise<void>;
|
|
23
23
|
}
|
|
24
24
|
export declare abstract class WorkThreadEngineBase {
|
|
25
25
|
readonly viewId: string;
|
|
26
26
|
readonly fullLayer: Group;
|
|
27
27
|
readonly vNodes: VNodeManager;
|
|
28
28
|
readonly dpr: number;
|
|
29
|
-
readonly abstract drawLayer?: Group;
|
|
30
|
-
readonly abstract snapshotFullLayer?: Group;
|
|
31
29
|
protected opt: IWorkerInitOption;
|
|
32
30
|
protected cameraOpt?: ICameraOpt;
|
|
33
31
|
protected scene: Scene;
|
|
34
32
|
abstract localWork: LocalWorkForFullWorker | LocalWorkForSubWorker;
|
|
35
33
|
abstract serviceWork?: ServiceWorkForFullWorker;
|
|
36
34
|
protected isSafari: boolean;
|
|
37
|
-
protected abstract _post: (msg: IBatchMainMessage
|
|
35
|
+
protected abstract _post: (msg: IBatchMainMessage) => void;
|
|
36
|
+
combinePostMsg: Set<IBatchMainMessage>;
|
|
37
|
+
protected workerTaskId?: number | undefined;
|
|
38
38
|
constructor(viewId: string, opt: IWorkerInitOption);
|
|
39
39
|
setIsSafari(isSafari: boolean): void;
|
|
40
|
-
on(msg: IWorkerMessage): void
|
|
40
|
+
on(msg: IWorkerMessage, workerTasksqueueCount?: number): Promise<void>;
|
|
41
41
|
protected updateScene(offscreenCanvasOpt: IOffscreenCanvasOptionType): void;
|
|
42
42
|
protected updateLayer(layerOpt: ILayerOptionType): void;
|
|
43
43
|
protected createScene(opt: IOffscreenCanvasOptionType): Scene;
|
|
@@ -46,9 +46,14 @@ export declare abstract class WorkThreadEngineBase {
|
|
|
46
46
|
protected setToolsOpt(opt: IActiveToolsDataType): void;
|
|
47
47
|
protected setWorkOpt(opt: Partial<IActiveWorkDataType>): void;
|
|
48
48
|
protected destroy(): void;
|
|
49
|
+
post(msg: IBatchMainMessage): void;
|
|
50
|
+
private runBatchPostData;
|
|
51
|
+
protected combinePostData(): IBatchMainMessage;
|
|
52
|
+
protected safariFixRect(rect: IRectType): IRectType | undefined;
|
|
53
|
+
protected getSceneRect(): IRectType;
|
|
54
|
+
abstract combinePost(): Promise<void>;
|
|
55
|
+
protected abstract getLayer(workLayer: ECanvasShowType): Group | undefined;
|
|
49
56
|
abstract setCameraOpt(cameraOpt: ICameraOpt): void;
|
|
50
|
-
abstract getOffscreen(isFullWork: boolean): OffscreenCanvas;
|
|
51
|
-
abstract post(msg: IBatchMainMessage): Promise<void>;
|
|
52
57
|
abstract consumeDraw(type: EDataType, data: IWorkerMessage): void;
|
|
53
58
|
abstract consumeDrawAll(type: EDataType, data: IWorkerMessage): void;
|
|
54
59
|
}
|
|
@@ -58,7 +63,7 @@ export declare abstract class LocalWork {
|
|
|
58
63
|
readonly thread: WorkThreadEngineForFullWorker | WorkThreadEngineForSubWorker;
|
|
59
64
|
fullLayer: Group;
|
|
60
65
|
drawLayer?: Group;
|
|
61
|
-
readonly _post: (msg: IBatchMainMessage) =>
|
|
66
|
+
readonly _post: (msg: IBatchMainMessage) => void;
|
|
62
67
|
protected tmpWorkShapeNode?: BaseShapeTool;
|
|
63
68
|
protected tmpOpt?: IActiveToolsDataType;
|
|
64
69
|
workShapes: Map<IworkId, BaseShapeTool>;
|
|
@@ -70,34 +75,12 @@ export declare abstract class LocalWork {
|
|
|
70
75
|
getWorkShape(workId: IworkId): BaseShapeTool | undefined;
|
|
71
76
|
getTmpWorkShapeNode(): BaseShapeTool | undefined;
|
|
72
77
|
setTmpWorkId(workId: IworkId | undefined): void;
|
|
73
|
-
setTmpWorkOptions(opt: BaseShapeOptions): void;
|
|
74
78
|
setWorkOptions(workId: IworkId, opt: BaseShapeOptions): void;
|
|
75
79
|
createWorkShapeNode(opt: IActiveToolsDataType & {
|
|
76
80
|
workId?: IworkId;
|
|
77
|
-
}): import("../tools").
|
|
81
|
+
}): 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
82
|
setToolsOpt(opt: IActiveToolsDataType): void;
|
|
79
83
|
clearWorkShapeNodeCache(workId: IworkId): void;
|
|
80
84
|
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;
|
|
85
|
+
setFullWork(data: Pick<IWorkerMessage, 'workId' | 'opt' | 'toolsType'>): BaseShapeTool | import("../tools/text").TextShape | import("../tools").LaserPenShape | undefined;
|
|
103
86
|
}
|
|
@@ -13,7 +13,7 @@ export declare class LocalWorkForFullWorker extends LocalWork {
|
|
|
13
13
|
consumeDraw(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): IMainMessage | undefined;
|
|
14
14
|
consumeDrawAll(data: IWorkerMessage, serviceWork: ServiceWorkForFullWorker): IMainMessage | undefined;
|
|
15
15
|
consumeFull(data: IWorkerMessage, scene?: Scene): Promise<void>;
|
|
16
|
-
removeWork(data: IWorkerMessage):
|
|
16
|
+
removeWork(data: IWorkerMessage): void;
|
|
17
17
|
removeNode(key: string): IRectType | undefined;
|
|
18
18
|
checkTextActive(data: IWorkerMessage): Promise<void>;
|
|
19
19
|
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,13 @@ 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
8
|
runFullWork(data: IWorkerMessage, isDrawLabel?: boolean): Promise<IRectType | undefined>;
|
|
13
9
|
runSelectWork(data: IWorkerMessage): undefined;
|
|
14
10
|
consumeDraw(data: IWorkerMessage): IMainMessage | undefined;
|
|
15
11
|
consumeDrawAll(data: IWorkerMessage): undefined;
|
|
16
12
|
updateLabels(labelGroup: Group, value: BaseCollectorReducerAction): void;
|
|
17
|
-
private runLaserPenAnimation;
|
|
18
13
|
private drawPencil;
|
|
19
14
|
private drawArrow;
|
|
20
15
|
}
|
|
@@ -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, IworkId } 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<IworkId, ILocalWorkItem>;
|
|
22
|
+
protected tmpOpt?: IActiveToolsDataType;
|
|
23
|
+
protected tmpWorkShapeNode?: BaseShapeTool;
|
|
24
|
+
protected animationId?: number | undefined;
|
|
25
|
+
constructor(opt: ISubWorkerInitOption);
|
|
26
|
+
getWorkShape(workId: IworkId): ILocalWorkItem | undefined;
|
|
27
|
+
getTmpWorkShapeNode(): BaseShapeTool | undefined;
|
|
28
|
+
setTmpWorkId(workId: IworkId | undefined): void;
|
|
29
|
+
setWorkOptions(workId: IworkId, opt: BaseShapeOptions): void;
|
|
30
|
+
createWorkShapeNode(opt: IActiveToolsDataType & {
|
|
31
|
+
workId?: IworkId;
|
|
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;
|