camstreamerlib 4.0.0-beta.3 → 4.0.0-beta.31
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 +8 -2
- package/cjs/CamOverlayAPI.d.ts +48 -26
- package/cjs/CamOverlayAPI.js +171 -88
- package/cjs/CamOverlayDrawingAPI.d.ts +2 -47
- package/cjs/CamOverlayDrawingAPI.js +6 -3
- package/cjs/CamOverlayPainter/Frame.d.ts +8 -37
- package/cjs/CamOverlayPainter/Frame.js +33 -0
- package/cjs/CamOverlayPainter/Painter.d.ts +16 -10
- package/cjs/CamOverlayPainter/Painter.js +6 -5
- package/cjs/CamOverlayPainter/ResourceManager.d.ts +3 -2
- package/cjs/CamOverlayPainter/ResourceManager.js +8 -11
- package/cjs/CamScripterAPI.d.ts +34 -16
- package/cjs/CamScripterAPI.js +50 -41
- package/cjs/CamScripterAPICameraEventsGenerator.d.ts +1 -1
- package/cjs/CamScripterAPICameraEventsGenerator.js +6 -3
- package/cjs/CamStreamerAPI.d.ts +17 -14
- package/cjs/CamStreamerAPI.js +32 -32
- package/cjs/CamSwitcherAPI.d.ts +43 -37
- package/cjs/CamSwitcherAPI.js +123 -114
- package/cjs/CamSwitcherEvents.d.ts +1 -1
- package/cjs/PlaneTrackerAPI.d.ts +43 -0
- package/cjs/PlaneTrackerAPI.js +211 -0
- package/cjs/VapixAPI.d.ts +56 -42
- package/cjs/VapixAPI.js +305 -216
- package/cjs/VapixEvents.d.ts +1 -1
- package/cjs/VapixEvents.js +3 -3
- package/cjs/errors/errors.d.ts +3 -0
- package/cjs/errors/errors.js +8 -1
- package/cjs/events/AxisCameraStationEvents.d.ts +7 -4
- package/cjs/events/AxisCameraStationEvents.js +23 -18
- package/cjs/events/GenetecAgent.d.ts +6 -3
- package/cjs/events/GenetecAgent.js +30 -19
- package/cjs/index.d.ts +14 -1
- package/cjs/index.js +23 -2
- package/cjs/internal/Digest.js +6 -6
- package/cjs/internal/ProxyClient.d.ts +8 -9
- package/cjs/internal/ProxyClient.js +25 -29
- package/cjs/internal/types.d.ts +42 -0
- package/cjs/internal/types.js +2 -0
- package/cjs/internal/utils.d.ts +4 -1
- package/cjs/internal/utils.js +22 -3
- package/cjs/internal/versionCompare.d.ts +2 -2
- package/cjs/node/DefaultClient.d.ts +5 -6
- package/cjs/node/DefaultClient.js +12 -14
- package/cjs/node/HttpRequestSender.d.ts +1 -0
- package/cjs/node/HttpRequestSender.js +13 -3
- package/cjs/node/HttpServer.js +1 -1
- package/cjs/node/WsClient.d.ts +2 -1
- package/cjs/node/index.d.ts +2 -0
- package/cjs/node/index.js +18 -1
- package/cjs/types/CamOverlayAPI/CamOverlayAPI.d.ts +3071 -0
- package/cjs/types/CamOverlayAPI/CamOverlayAPI.js +127 -0
- package/cjs/types/CamOverlayAPI/accuweatherSchema.d.ts +114 -0
- package/cjs/types/CamOverlayAPI/accuweatherSchema.js +50 -0
- package/cjs/types/CamOverlayAPI/customGraphicsSchema.d.ts +783 -0
- package/cjs/types/CamOverlayAPI/customGraphicsSchema.js +75 -0
- package/cjs/types/CamOverlayAPI/imagesSchema.d.ts +122 -0
- package/cjs/types/CamOverlayAPI/imagesSchema.js +12 -0
- package/cjs/types/CamOverlayAPI/index.d.ts +9 -0
- package/cjs/types/CamOverlayAPI/index.js +25 -0
- package/cjs/types/CamOverlayAPI/infotickerSchema.d.ts +130 -0
- package/cjs/types/CamOverlayAPI/infotickerSchema.js +29 -0
- package/cjs/types/CamOverlayAPI/pipSchema.d.ts +166 -0
- package/cjs/types/CamOverlayAPI/pipSchema.js +42 -0
- package/cjs/types/CamOverlayAPI/ptzCompassSchema.d.ts +126 -0
- package/cjs/types/CamOverlayAPI/ptzCompassSchema.js +28 -0
- package/cjs/types/CamOverlayAPI/ptzSchema.d.ts +146 -0
- package/cjs/types/CamOverlayAPI/ptzSchema.js +15 -0
- package/cjs/types/CamOverlayAPI/screenSharingSchema.d.ts +79 -0
- package/cjs/types/CamOverlayAPI/screenSharingSchema.js +11 -0
- package/cjs/types/CamOverlayAPI/webCameraSharingSchema.d.ts +79 -0
- package/cjs/types/CamOverlayAPI/webCameraSharingSchema.js +11 -0
- package/cjs/types/CamOverlayDrawingAPI.d.ts +58 -0
- package/cjs/types/CamOverlayDrawingAPI.js +2 -0
- package/cjs/types/CamOverlayPainter.d.ts +74 -0
- package/cjs/types/CamOverlayPainter.js +2 -0
- package/cjs/types/CamScripterAPI.d.ts +82 -17
- package/cjs/types/CamScripterAPI.js +22 -7
- package/cjs/types/CamStreamerAPI.d.ts +16 -5
- package/cjs/types/CamStreamerAPI.js +5 -1
- package/cjs/types/CamSwitcherAPI.d.ts +4 -6
- package/cjs/types/CamSwitcherEvents.d.ts +77 -0
- package/cjs/types/CamSwitcherEvents.js +8 -0
- package/cjs/types/PlaneTrackerAPI.d.ts +8 -0
- package/cjs/types/PlaneTrackerAPI.js +2 -0
- package/cjs/types/VapixAPI.d.ts +635 -520
- package/cjs/types/VapixAPI.js +62 -24
- package/cjs/types/common.d.ts +14 -5
- package/cjs/web/DefaultClient.d.ts +5 -5
- package/cjs/web/DefaultClient.js +22 -10
- package/cjs/web/WsClient.js +2 -2
- package/esm/CamOverlayAPI.d.ts +48 -26
- package/esm/CamOverlayAPI.js +167 -84
- package/esm/CamOverlayDrawingAPI.d.ts +2 -47
- package/esm/CamOverlayDrawingAPI.js +6 -3
- package/esm/CamOverlayPainter/Frame.d.ts +8 -37
- package/esm/CamOverlayPainter/Frame.js +33 -0
- package/esm/CamOverlayPainter/Painter.d.ts +16 -10
- package/esm/CamOverlayPainter/Painter.js +5 -3
- package/esm/CamOverlayPainter/ResourceManager.d.ts +3 -2
- package/esm/CamOverlayPainter/ResourceManager.js +7 -11
- package/esm/CamScripterAPI.d.ts +34 -16
- package/esm/CamScripterAPI.js +46 -37
- package/esm/CamScripterAPICameraEventsGenerator.d.ts +1 -1
- package/esm/CamScripterAPICameraEventsGenerator.js +6 -3
- package/esm/CamStreamerAPI.d.ts +17 -14
- package/esm/CamStreamerAPI.js +32 -32
- package/esm/CamSwitcherAPI.d.ts +43 -37
- package/esm/CamSwitcherAPI.js +116 -107
- package/esm/CamSwitcherEvents.d.ts +1 -1
- package/esm/PlaneTrackerAPI.d.ts +43 -0
- package/esm/PlaneTrackerAPI.js +207 -0
- package/esm/VapixAPI.d.ts +56 -42
- package/esm/VapixAPI.js +297 -208
- package/esm/VapixEvents.d.ts +1 -1
- package/esm/VapixEvents.js +3 -3
- package/esm/errors/errors.d.ts +3 -0
- package/esm/errors/errors.js +6 -0
- package/esm/events/AxisCameraStationEvents.d.ts +7 -4
- package/esm/events/AxisCameraStationEvents.js +18 -13
- package/esm/events/GenetecAgent.d.ts +6 -3
- package/esm/events/GenetecAgent.js +20 -9
- package/esm/index.d.ts +14 -1
- package/esm/index.js +14 -1
- package/esm/internal/Digest.js +6 -6
- package/esm/internal/ProxyClient.d.ts +8 -9
- package/esm/internal/ProxyClient.js +25 -29
- package/esm/internal/types.d.ts +42 -0
- package/esm/internal/types.js +1 -0
- package/esm/internal/utils.d.ts +4 -1
- package/esm/internal/utils.js +17 -1
- package/esm/internal/versionCompare.d.ts +2 -2
- package/esm/node/DefaultClient.d.ts +5 -6
- package/esm/node/DefaultClient.js +12 -14
- package/esm/node/HttpRequestSender.d.ts +1 -0
- package/esm/node/HttpRequestSender.js +13 -3
- package/esm/node/HttpServer.js +1 -1
- package/esm/node/WsClient.d.ts +2 -1
- package/esm/node/index.d.ts +2 -0
- package/esm/node/index.js +2 -0
- package/esm/types/CamOverlayAPI/CamOverlayAPI.d.ts +3071 -0
- package/esm/types/CamOverlayAPI/CamOverlayAPI.js +124 -0
- package/esm/types/CamOverlayAPI/accuweatherSchema.d.ts +114 -0
- package/esm/types/CamOverlayAPI/accuweatherSchema.js +46 -0
- package/esm/types/CamOverlayAPI/customGraphicsSchema.d.ts +783 -0
- package/esm/types/CamOverlayAPI/customGraphicsSchema.js +71 -0
- package/esm/types/CamOverlayAPI/imagesSchema.d.ts +122 -0
- package/esm/types/CamOverlayAPI/imagesSchema.js +8 -0
- package/esm/types/CamOverlayAPI/index.d.ts +9 -0
- package/esm/types/CamOverlayAPI/index.js +9 -0
- package/esm/types/CamOverlayAPI/infotickerSchema.d.ts +130 -0
- package/esm/types/CamOverlayAPI/infotickerSchema.js +25 -0
- package/esm/types/CamOverlayAPI/pipSchema.d.ts +166 -0
- package/esm/types/CamOverlayAPI/pipSchema.js +38 -0
- package/esm/types/CamOverlayAPI/ptzCompassSchema.d.ts +126 -0
- package/esm/types/CamOverlayAPI/ptzCompassSchema.js +24 -0
- package/esm/types/CamOverlayAPI/ptzSchema.d.ts +146 -0
- package/esm/types/CamOverlayAPI/ptzSchema.js +11 -0
- package/esm/types/CamOverlayAPI/screenSharingSchema.d.ts +79 -0
- package/esm/types/CamOverlayAPI/screenSharingSchema.js +7 -0
- package/esm/types/CamOverlayAPI/webCameraSharingSchema.d.ts +79 -0
- package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +7 -0
- package/esm/types/CamOverlayDrawingAPI.d.ts +58 -0
- package/esm/types/CamOverlayDrawingAPI.js +1 -0
- package/esm/types/CamOverlayPainter.d.ts +74 -0
- package/esm/types/CamOverlayPainter.js +1 -0
- package/esm/types/CamScripterAPI.d.ts +82 -17
- package/esm/types/CamScripterAPI.js +21 -6
- package/esm/types/CamStreamerAPI.d.ts +16 -5
- package/esm/types/CamStreamerAPI.js +4 -0
- package/esm/types/CamSwitcherAPI.d.ts +4 -6
- package/esm/types/CamSwitcherEvents.d.ts +77 -0
- package/esm/types/CamSwitcherEvents.js +8 -0
- package/esm/types/PlaneTrackerAPI.d.ts +8 -0
- package/esm/types/PlaneTrackerAPI.js +1 -0
- package/esm/types/VapixAPI.d.ts +635 -520
- package/esm/types/VapixAPI.js +61 -23
- package/esm/types/common.d.ts +14 -5
- package/esm/web/DefaultClient.d.ts +5 -5
- package/esm/web/DefaultClient.js +22 -10
- package/esm/web/WsClient.js +2 -2
- package/package.json +9 -8
- package/cjs/internal/common.d.ts +0 -39
- package/cjs/internal/common.js +0 -27
- package/cjs/node/WsEventClient.d.ts +0 -13
- package/cjs/node/WsEventClient.js +0 -22
- package/cjs/types/CamOverlayAPI.d.ts +0 -188
- package/cjs/types/CamOverlayAPI.js +0 -47
- package/esm/internal/common.d.ts +0 -39
- package/esm/internal/common.js +0 -20
- package/esm/node/WsEventClient.d.ts +0 -13
- package/esm/node/WsEventClient.js +0 -18
- package/esm/types/CamOverlayAPI.d.ts +0 -188
- package/esm/types/CamOverlayAPI.js +0 -44
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { TWidget } from './CamOverlayAPI';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const ptzCompassSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodNumber;
|
|
5
|
+
enabled: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>;
|
|
6
|
+
automationType: z.ZodUnion<[z.ZodLiteral<"time">, z.ZodLiteral<"manual">, z.ZodLiteral<"schedule">, z.ZodType<`input${number}`, z.ZodTypeDef, `input${number}`>]>;
|
|
7
|
+
invertInput: z.ZodOptional<z.ZodBoolean>;
|
|
8
|
+
cameraList: z.ZodArray<z.ZodNumber, "many">;
|
|
9
|
+
camera: z.ZodOptional<z.ZodNumber>;
|
|
10
|
+
schedule: z.ZodOptional<z.ZodString>;
|
|
11
|
+
customName: z.ZodString;
|
|
12
|
+
zIndex: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
width: z.ZodNumber;
|
|
14
|
+
height: z.ZodNumber;
|
|
15
|
+
} & {
|
|
16
|
+
name: z.ZodLiteral<"ptzCompass">;
|
|
17
|
+
pos_x: z.ZodNumber;
|
|
18
|
+
pos_y: z.ZodNumber;
|
|
19
|
+
coordSystem: z.ZodUnion<[z.ZodLiteral<"top_left">, z.ZodLiteral<"top">, z.ZodLiteral<"top_right">, z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">, z.ZodLiteral<"bottom_left">, z.ZodLiteral<"bottom">, z.ZodLiteral<"bottom_right">]>;
|
|
20
|
+
scale: z.ZodNumber;
|
|
21
|
+
type: z.ZodUnion<[z.ZodLiteral<"compass">, z.ZodLiteral<"map">, z.ZodLiteral<"image">]>;
|
|
22
|
+
image: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
|
|
23
|
+
northPan: z.ZodNumber;
|
|
24
|
+
cameraPosX: z.ZodNumber;
|
|
25
|
+
cameraPosY: z.ZodNumber;
|
|
26
|
+
colorScheme: z.ZodEnum<["black", "white", "orange"]>;
|
|
27
|
+
generalLng: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
generalLat: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
generalZoom: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
generalMapType: z.ZodOptional<z.ZodString>;
|
|
31
|
+
generalIframeWidth: z.ZodOptional<z.ZodNumber>;
|
|
32
|
+
generalIframeHeight: z.ZodOptional<z.ZodNumber>;
|
|
33
|
+
generalAddress: z.ZodOptional<z.ZodString>;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
type: "map" | "image" | "compass";
|
|
36
|
+
name: "ptzCompass";
|
|
37
|
+
enabled: 0 | 1;
|
|
38
|
+
id: number;
|
|
39
|
+
width: number;
|
|
40
|
+
height: number;
|
|
41
|
+
pos_x: number;
|
|
42
|
+
pos_y: number;
|
|
43
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
44
|
+
cameraList: number[];
|
|
45
|
+
customName: string;
|
|
46
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
47
|
+
image: string;
|
|
48
|
+
scale: number;
|
|
49
|
+
northPan: number;
|
|
50
|
+
cameraPosX: number;
|
|
51
|
+
cameraPosY: number;
|
|
52
|
+
colorScheme: "black" | "white" | "orange";
|
|
53
|
+
camera?: number | undefined;
|
|
54
|
+
schedule?: string | undefined;
|
|
55
|
+
invertInput?: boolean | undefined;
|
|
56
|
+
zIndex?: number | undefined;
|
|
57
|
+
generalLng?: number | undefined;
|
|
58
|
+
generalLat?: number | undefined;
|
|
59
|
+
generalZoom?: number | undefined;
|
|
60
|
+
generalMapType?: string | undefined;
|
|
61
|
+
generalIframeWidth?: number | undefined;
|
|
62
|
+
generalIframeHeight?: number | undefined;
|
|
63
|
+
generalAddress?: string | undefined;
|
|
64
|
+
}, {
|
|
65
|
+
type: "map" | "image" | "compass";
|
|
66
|
+
name: "ptzCompass";
|
|
67
|
+
enabled: 0 | 1;
|
|
68
|
+
id: number;
|
|
69
|
+
width: number;
|
|
70
|
+
height: number;
|
|
71
|
+
pos_x: number;
|
|
72
|
+
pos_y: number;
|
|
73
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
74
|
+
cameraList: number[];
|
|
75
|
+
customName: string;
|
|
76
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
77
|
+
image: string;
|
|
78
|
+
scale: number;
|
|
79
|
+
northPan: number;
|
|
80
|
+
cameraPosX: number;
|
|
81
|
+
cameraPosY: number;
|
|
82
|
+
colorScheme: "black" | "white" | "orange";
|
|
83
|
+
camera?: number | undefined;
|
|
84
|
+
schedule?: string | undefined;
|
|
85
|
+
invertInput?: boolean | undefined;
|
|
86
|
+
zIndex?: number | undefined;
|
|
87
|
+
generalLng?: number | undefined;
|
|
88
|
+
generalLat?: number | undefined;
|
|
89
|
+
generalZoom?: number | undefined;
|
|
90
|
+
generalMapType?: string | undefined;
|
|
91
|
+
generalIframeWidth?: number | undefined;
|
|
92
|
+
generalIframeHeight?: number | undefined;
|
|
93
|
+
generalAddress?: string | undefined;
|
|
94
|
+
}>;
|
|
95
|
+
export type TPtzCompass = z.infer<typeof ptzCompassSchema>;
|
|
96
|
+
export declare const isPtzCompass: (widget: TWidget) => widget is {
|
|
97
|
+
type: "map" | "image" | "compass";
|
|
98
|
+
name: "ptzCompass";
|
|
99
|
+
enabled: 0 | 1;
|
|
100
|
+
id: number;
|
|
101
|
+
width: number;
|
|
102
|
+
height: number;
|
|
103
|
+
pos_x: number;
|
|
104
|
+
pos_y: number;
|
|
105
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
106
|
+
cameraList: number[];
|
|
107
|
+
customName: string;
|
|
108
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
109
|
+
image: string;
|
|
110
|
+
scale: number;
|
|
111
|
+
northPan: number;
|
|
112
|
+
cameraPosX: number;
|
|
113
|
+
cameraPosY: number;
|
|
114
|
+
colorScheme: "black" | "white" | "orange";
|
|
115
|
+
camera?: number | undefined;
|
|
116
|
+
schedule?: string | undefined;
|
|
117
|
+
invertInput?: boolean | undefined;
|
|
118
|
+
zIndex?: number | undefined;
|
|
119
|
+
generalLng?: number | undefined;
|
|
120
|
+
generalLat?: number | undefined;
|
|
121
|
+
generalZoom?: number | undefined;
|
|
122
|
+
generalMapType?: string | undefined;
|
|
123
|
+
generalIframeWidth?: number | undefined;
|
|
124
|
+
generalIframeHeight?: number | undefined;
|
|
125
|
+
generalAddress?: string | undefined;
|
|
126
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPtzCompass = exports.ptzCompassSchema = void 0;
|
|
4
|
+
const CamOverlayAPI_1 = require("./CamOverlayAPI");
|
|
5
|
+
const CamOverlayAPI_2 = require("../../CamOverlayAPI");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
exports.ptzCompassSchema = CamOverlayAPI_1.widgetCommonSchema.extend({
|
|
8
|
+
name: zod_1.z.literal(CamOverlayAPI_2.allowedWidgetNames.ptzCompass),
|
|
9
|
+
pos_x: zod_1.z.number(),
|
|
10
|
+
pos_y: zod_1.z.number(),
|
|
11
|
+
coordSystem: CamOverlayAPI_1.coordinateSystemSchema,
|
|
12
|
+
scale: zod_1.z.number().nonnegative(),
|
|
13
|
+
type: zod_1.z.union([zod_1.z.literal('compass'), zod_1.z.literal('map'), zod_1.z.literal('image')]),
|
|
14
|
+
image: zod_1.z.union([zod_1.z.string().url(), zod_1.z.literal('')]),
|
|
15
|
+
northPan: zod_1.z.number(),
|
|
16
|
+
cameraPosX: zod_1.z.number(),
|
|
17
|
+
cameraPosY: zod_1.z.number(),
|
|
18
|
+
colorScheme: zod_1.z.enum(['black', 'white', 'orange']),
|
|
19
|
+
generalLng: zod_1.z.number().optional(),
|
|
20
|
+
generalLat: zod_1.z.number().optional(),
|
|
21
|
+
generalZoom: zod_1.z.number().nonnegative().optional(),
|
|
22
|
+
generalMapType: zod_1.z.string().optional(),
|
|
23
|
+
generalIframeWidth: zod_1.z.number().optional(),
|
|
24
|
+
generalIframeHeight: zod_1.z.number().optional(),
|
|
25
|
+
generalAddress: zod_1.z.string().optional(),
|
|
26
|
+
});
|
|
27
|
+
const isPtzCompass = (widget) => widget.name === 'ptzCompass';
|
|
28
|
+
exports.isPtzCompass = isPtzCompass;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { TWidget } from './CamOverlayAPI';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const ptzSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodNumber;
|
|
5
|
+
enabled: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>;
|
|
6
|
+
automationType: z.ZodUnion<[z.ZodLiteral<"time">, z.ZodLiteral<"manual">, z.ZodLiteral<"schedule">, z.ZodType<`input${number}`, z.ZodTypeDef, `input${number}`>]>;
|
|
7
|
+
invertInput: z.ZodOptional<z.ZodBoolean>;
|
|
8
|
+
cameraList: z.ZodArray<z.ZodNumber, "many">;
|
|
9
|
+
camera: z.ZodOptional<z.ZodNumber>;
|
|
10
|
+
schedule: z.ZodOptional<z.ZodString>;
|
|
11
|
+
customName: z.ZodString;
|
|
12
|
+
zIndex: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
width: z.ZodNumber;
|
|
14
|
+
height: z.ZodNumber;
|
|
15
|
+
} & {
|
|
16
|
+
name: z.ZodLiteral<"ptz">;
|
|
17
|
+
ptz_positions: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
18
|
+
overlayList: z.ZodArray<z.ZodObject<Omit<{
|
|
19
|
+
active: z.ZodBoolean;
|
|
20
|
+
coordSystem: z.ZodUnion<[z.ZodLiteral<"top_left">, z.ZodLiteral<"top">, z.ZodLiteral<"top_right">, z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">, z.ZodLiteral<"bottom_left">, z.ZodLiteral<"bottom">, z.ZodLiteral<"bottom_right">]>;
|
|
21
|
+
pos_x: z.ZodNumber;
|
|
22
|
+
pos_y: z.ZodNumber;
|
|
23
|
+
imgPath: z.ZodString;
|
|
24
|
+
imgName: z.ZodString;
|
|
25
|
+
duration: z.ZodNumber;
|
|
26
|
+
scale: z.ZodNumber;
|
|
27
|
+
fps: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
}, "fps" | "active">, "strip", z.ZodTypeAny, {
|
|
29
|
+
duration: number;
|
|
30
|
+
pos_x: number;
|
|
31
|
+
pos_y: number;
|
|
32
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
33
|
+
scale: number;
|
|
34
|
+
imgPath: string;
|
|
35
|
+
imgName: string;
|
|
36
|
+
}, {
|
|
37
|
+
duration: number;
|
|
38
|
+
pos_x: number;
|
|
39
|
+
pos_y: number;
|
|
40
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
41
|
+
scale: number;
|
|
42
|
+
imgPath: string;
|
|
43
|
+
imgName: string;
|
|
44
|
+
}>, "many">;
|
|
45
|
+
loop: z.ZodBoolean;
|
|
46
|
+
}, "strip", z.ZodTypeAny, {
|
|
47
|
+
loop: boolean;
|
|
48
|
+
overlayList: {
|
|
49
|
+
duration: number;
|
|
50
|
+
pos_x: number;
|
|
51
|
+
pos_y: number;
|
|
52
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
53
|
+
scale: number;
|
|
54
|
+
imgPath: string;
|
|
55
|
+
imgName: string;
|
|
56
|
+
}[];
|
|
57
|
+
}, {
|
|
58
|
+
loop: boolean;
|
|
59
|
+
overlayList: {
|
|
60
|
+
duration: number;
|
|
61
|
+
pos_x: number;
|
|
62
|
+
pos_y: number;
|
|
63
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
64
|
+
scale: number;
|
|
65
|
+
imgPath: string;
|
|
66
|
+
imgName: string;
|
|
67
|
+
}[];
|
|
68
|
+
}>>;
|
|
69
|
+
}, "strip", z.ZodTypeAny, {
|
|
70
|
+
name: "ptz";
|
|
71
|
+
enabled: 0 | 1;
|
|
72
|
+
id: number;
|
|
73
|
+
width: number;
|
|
74
|
+
height: number;
|
|
75
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
76
|
+
cameraList: number[];
|
|
77
|
+
customName: string;
|
|
78
|
+
ptz_positions: Record<string, {
|
|
79
|
+
loop: boolean;
|
|
80
|
+
overlayList: {
|
|
81
|
+
duration: number;
|
|
82
|
+
pos_x: number;
|
|
83
|
+
pos_y: number;
|
|
84
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
85
|
+
scale: number;
|
|
86
|
+
imgPath: string;
|
|
87
|
+
imgName: string;
|
|
88
|
+
}[];
|
|
89
|
+
}>;
|
|
90
|
+
camera?: number | undefined;
|
|
91
|
+
schedule?: string | undefined;
|
|
92
|
+
invertInput?: boolean | undefined;
|
|
93
|
+
zIndex?: number | undefined;
|
|
94
|
+
}, {
|
|
95
|
+
name: "ptz";
|
|
96
|
+
enabled: 0 | 1;
|
|
97
|
+
id: number;
|
|
98
|
+
width: number;
|
|
99
|
+
height: number;
|
|
100
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
101
|
+
cameraList: number[];
|
|
102
|
+
customName: string;
|
|
103
|
+
ptz_positions: Record<string, {
|
|
104
|
+
loop: boolean;
|
|
105
|
+
overlayList: {
|
|
106
|
+
duration: number;
|
|
107
|
+
pos_x: number;
|
|
108
|
+
pos_y: number;
|
|
109
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
110
|
+
scale: number;
|
|
111
|
+
imgPath: string;
|
|
112
|
+
imgName: string;
|
|
113
|
+
}[];
|
|
114
|
+
}>;
|
|
115
|
+
camera?: number | undefined;
|
|
116
|
+
schedule?: string | undefined;
|
|
117
|
+
invertInput?: boolean | undefined;
|
|
118
|
+
zIndex?: number | undefined;
|
|
119
|
+
}>;
|
|
120
|
+
export type TPtz = z.infer<typeof ptzSchema>;
|
|
121
|
+
export declare const isPtz: (widget: TWidget) => widget is {
|
|
122
|
+
name: "ptz";
|
|
123
|
+
enabled: 0 | 1;
|
|
124
|
+
id: number;
|
|
125
|
+
width: number;
|
|
126
|
+
height: number;
|
|
127
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
128
|
+
cameraList: number[];
|
|
129
|
+
customName: string;
|
|
130
|
+
ptz_positions: Record<string, {
|
|
131
|
+
loop: boolean;
|
|
132
|
+
overlayList: {
|
|
133
|
+
duration: number;
|
|
134
|
+
pos_x: number;
|
|
135
|
+
pos_y: number;
|
|
136
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
137
|
+
scale: number;
|
|
138
|
+
imgPath: string;
|
|
139
|
+
imgName: string;
|
|
140
|
+
}[];
|
|
141
|
+
}>;
|
|
142
|
+
camera?: number | undefined;
|
|
143
|
+
schedule?: string | undefined;
|
|
144
|
+
invertInput?: boolean | undefined;
|
|
145
|
+
zIndex?: number | undefined;
|
|
146
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPtz = exports.ptzSchema = void 0;
|
|
4
|
+
const CamOverlayAPI_1 = require("./CamOverlayAPI");
|
|
5
|
+
const CamOverlayAPI_2 = require("../../CamOverlayAPI");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
exports.ptzSchema = CamOverlayAPI_1.widgetCommonSchema.extend({
|
|
8
|
+
name: zod_1.z.literal(CamOverlayAPI_2.allowedWidgetNames.ptz),
|
|
9
|
+
ptz_positions: zod_1.z.record(zod_1.z.string(), zod_1.z.object({
|
|
10
|
+
overlayList: zod_1.z.array(CamOverlayAPI_1.overlaySchema.omit({ active: true, fps: true })),
|
|
11
|
+
loop: zod_1.z.boolean(),
|
|
12
|
+
})),
|
|
13
|
+
});
|
|
14
|
+
const isPtz = (widget) => widget.name === 'ptz';
|
|
15
|
+
exports.isPtz = isPtz;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { TWidget } from './CamOverlayAPI';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const screenSharingSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodNumber;
|
|
5
|
+
enabled: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>;
|
|
6
|
+
automationType: z.ZodUnion<[z.ZodLiteral<"time">, z.ZodLiteral<"manual">, z.ZodLiteral<"schedule">, z.ZodType<`input${number}`, z.ZodTypeDef, `input${number}`>]>;
|
|
7
|
+
invertInput: z.ZodOptional<z.ZodBoolean>;
|
|
8
|
+
cameraList: z.ZodArray<z.ZodNumber, "many">;
|
|
9
|
+
camera: z.ZodOptional<z.ZodNumber>;
|
|
10
|
+
schedule: z.ZodOptional<z.ZodString>;
|
|
11
|
+
customName: z.ZodString;
|
|
12
|
+
zIndex: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
width: z.ZodNumber;
|
|
14
|
+
height: z.ZodNumber;
|
|
15
|
+
} & {
|
|
16
|
+
pos_x: z.ZodNumber;
|
|
17
|
+
pos_y: z.ZodNumber;
|
|
18
|
+
coordSystem: z.ZodUnion<[z.ZodLiteral<"top_left">, z.ZodLiteral<"top">, z.ZodLiteral<"top_right">, z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">, z.ZodLiteral<"bottom_left">, z.ZodLiteral<"bottom">, z.ZodLiteral<"bottom_right">]>;
|
|
19
|
+
screenSize: z.ZodNumber;
|
|
20
|
+
fps: z.ZodNumber;
|
|
21
|
+
} & {
|
|
22
|
+
name: z.ZodLiteral<"screenSharing">;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
name: "screenSharing";
|
|
25
|
+
enabled: 0 | 1;
|
|
26
|
+
id: number;
|
|
27
|
+
width: number;
|
|
28
|
+
height: number;
|
|
29
|
+
fps: number;
|
|
30
|
+
pos_x: number;
|
|
31
|
+
pos_y: number;
|
|
32
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
33
|
+
cameraList: number[];
|
|
34
|
+
customName: string;
|
|
35
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
36
|
+
screenSize: number;
|
|
37
|
+
camera?: number | undefined;
|
|
38
|
+
schedule?: string | undefined;
|
|
39
|
+
invertInput?: boolean | undefined;
|
|
40
|
+
zIndex?: number | undefined;
|
|
41
|
+
}, {
|
|
42
|
+
name: "screenSharing";
|
|
43
|
+
enabled: 0 | 1;
|
|
44
|
+
id: number;
|
|
45
|
+
width: number;
|
|
46
|
+
height: number;
|
|
47
|
+
fps: number;
|
|
48
|
+
pos_x: number;
|
|
49
|
+
pos_y: number;
|
|
50
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
51
|
+
cameraList: number[];
|
|
52
|
+
customName: string;
|
|
53
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
54
|
+
screenSize: number;
|
|
55
|
+
camera?: number | undefined;
|
|
56
|
+
schedule?: string | undefined;
|
|
57
|
+
invertInput?: boolean | undefined;
|
|
58
|
+
zIndex?: number | undefined;
|
|
59
|
+
}>;
|
|
60
|
+
export type TScreenSharing = z.infer<typeof screenSharingSchema>;
|
|
61
|
+
export declare const isScreenSharing: (widget: TWidget) => widget is {
|
|
62
|
+
name: "screenSharing";
|
|
63
|
+
enabled: 0 | 1;
|
|
64
|
+
id: number;
|
|
65
|
+
width: number;
|
|
66
|
+
height: number;
|
|
67
|
+
fps: number;
|
|
68
|
+
pos_x: number;
|
|
69
|
+
pos_y: number;
|
|
70
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
71
|
+
cameraList: number[];
|
|
72
|
+
customName: string;
|
|
73
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
74
|
+
screenSize: number;
|
|
75
|
+
camera?: number | undefined;
|
|
76
|
+
schedule?: string | undefined;
|
|
77
|
+
invertInput?: boolean | undefined;
|
|
78
|
+
zIndex?: number | undefined;
|
|
79
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isScreenSharing = exports.screenSharingSchema = void 0;
|
|
4
|
+
const CamOverlayAPI_1 = require("./CamOverlayAPI");
|
|
5
|
+
const CamOverlayAPI_2 = require("../../CamOverlayAPI");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
exports.screenSharingSchema = CamOverlayAPI_1.sharingSchema.extend({
|
|
8
|
+
name: zod_1.z.literal(CamOverlayAPI_2.allowedWidgetNames.screenSharing),
|
|
9
|
+
});
|
|
10
|
+
const isScreenSharing = (widget) => widget.name === 'screenSharing';
|
|
11
|
+
exports.isScreenSharing = isScreenSharing;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { TWidget } from './CamOverlayAPI';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const webCameraSharingSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodNumber;
|
|
5
|
+
enabled: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>;
|
|
6
|
+
automationType: z.ZodUnion<[z.ZodLiteral<"time">, z.ZodLiteral<"manual">, z.ZodLiteral<"schedule">, z.ZodType<`input${number}`, z.ZodTypeDef, `input${number}`>]>;
|
|
7
|
+
invertInput: z.ZodOptional<z.ZodBoolean>;
|
|
8
|
+
cameraList: z.ZodArray<z.ZodNumber, "many">;
|
|
9
|
+
camera: z.ZodOptional<z.ZodNumber>;
|
|
10
|
+
schedule: z.ZodOptional<z.ZodString>;
|
|
11
|
+
customName: z.ZodString;
|
|
12
|
+
zIndex: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
width: z.ZodNumber;
|
|
14
|
+
height: z.ZodNumber;
|
|
15
|
+
} & {
|
|
16
|
+
pos_x: z.ZodNumber;
|
|
17
|
+
pos_y: z.ZodNumber;
|
|
18
|
+
coordSystem: z.ZodUnion<[z.ZodLiteral<"top_left">, z.ZodLiteral<"top">, z.ZodLiteral<"top_right">, z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">, z.ZodLiteral<"bottom_left">, z.ZodLiteral<"bottom">, z.ZodLiteral<"bottom_right">]>;
|
|
19
|
+
screenSize: z.ZodNumber;
|
|
20
|
+
fps: z.ZodNumber;
|
|
21
|
+
} & {
|
|
22
|
+
name: z.ZodLiteral<"web_camera">;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
name: "web_camera";
|
|
25
|
+
enabled: 0 | 1;
|
|
26
|
+
id: number;
|
|
27
|
+
width: number;
|
|
28
|
+
height: number;
|
|
29
|
+
fps: number;
|
|
30
|
+
pos_x: number;
|
|
31
|
+
pos_y: number;
|
|
32
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
33
|
+
cameraList: number[];
|
|
34
|
+
customName: string;
|
|
35
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
36
|
+
screenSize: number;
|
|
37
|
+
camera?: number | undefined;
|
|
38
|
+
schedule?: string | undefined;
|
|
39
|
+
invertInput?: boolean | undefined;
|
|
40
|
+
zIndex?: number | undefined;
|
|
41
|
+
}, {
|
|
42
|
+
name: "web_camera";
|
|
43
|
+
enabled: 0 | 1;
|
|
44
|
+
id: number;
|
|
45
|
+
width: number;
|
|
46
|
+
height: number;
|
|
47
|
+
fps: number;
|
|
48
|
+
pos_x: number;
|
|
49
|
+
pos_y: number;
|
|
50
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
51
|
+
cameraList: number[];
|
|
52
|
+
customName: string;
|
|
53
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
54
|
+
screenSize: number;
|
|
55
|
+
camera?: number | undefined;
|
|
56
|
+
schedule?: string | undefined;
|
|
57
|
+
invertInput?: boolean | undefined;
|
|
58
|
+
zIndex?: number | undefined;
|
|
59
|
+
}>;
|
|
60
|
+
export type TWebCameraSharing = z.infer<typeof webCameraSharingSchema>;
|
|
61
|
+
export declare const isWebCameraSharing: (widget: TWidget) => widget is {
|
|
62
|
+
name: "web_camera";
|
|
63
|
+
enabled: 0 | 1;
|
|
64
|
+
id: number;
|
|
65
|
+
width: number;
|
|
66
|
+
height: number;
|
|
67
|
+
fps: number;
|
|
68
|
+
pos_x: number;
|
|
69
|
+
pos_y: number;
|
|
70
|
+
automationType: "time" | "manual" | "schedule" | `input${number}`;
|
|
71
|
+
cameraList: number[];
|
|
72
|
+
customName: string;
|
|
73
|
+
coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
|
|
74
|
+
screenSize: number;
|
|
75
|
+
camera?: number | undefined;
|
|
76
|
+
schedule?: string | undefined;
|
|
77
|
+
invertInput?: boolean | undefined;
|
|
78
|
+
zIndex?: number | undefined;
|
|
79
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isWebCameraSharing = exports.webCameraSharingSchema = void 0;
|
|
4
|
+
const CamOverlayAPI_1 = require("./CamOverlayAPI");
|
|
5
|
+
const CamOverlayAPI_2 = require("../../CamOverlayAPI");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
exports.webCameraSharingSchema = CamOverlayAPI_1.sharingSchema.extend({
|
|
8
|
+
name: zod_1.z.literal(CamOverlayAPI_2.allowedWidgetNames.web_camera),
|
|
9
|
+
});
|
|
10
|
+
const isWebCameraSharing = (widget) => widget.name === 'web_camera';
|
|
11
|
+
exports.isWebCameraSharing = isWebCameraSharing;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { WsOptions } from '../internal/types';
|
|
2
|
+
export type CamOverlayDrawingOptions = WsOptions & {
|
|
3
|
+
camera?: number | number[];
|
|
4
|
+
zIndex?: number;
|
|
5
|
+
};
|
|
6
|
+
export type TMessage = {
|
|
7
|
+
command: string;
|
|
8
|
+
call_id?: number;
|
|
9
|
+
params: unknown[];
|
|
10
|
+
};
|
|
11
|
+
export type TCairoResponse = {
|
|
12
|
+
message: string;
|
|
13
|
+
call_id: number;
|
|
14
|
+
};
|
|
15
|
+
export type TCairoCreateResponse = {
|
|
16
|
+
var: string;
|
|
17
|
+
call_id: number;
|
|
18
|
+
};
|
|
19
|
+
export type TUploadImageResponse = {
|
|
20
|
+
var: string;
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
call_id: number;
|
|
24
|
+
};
|
|
25
|
+
export type TErrorResponse = {
|
|
26
|
+
error: string;
|
|
27
|
+
call_id?: number;
|
|
28
|
+
};
|
|
29
|
+
export type TService = {
|
|
30
|
+
id: number;
|
|
31
|
+
enabled: number;
|
|
32
|
+
schedule: string;
|
|
33
|
+
name: string;
|
|
34
|
+
identifier: string;
|
|
35
|
+
cameraList: number[];
|
|
36
|
+
};
|
|
37
|
+
export type TServiceList = {
|
|
38
|
+
services: TService[];
|
|
39
|
+
};
|
|
40
|
+
export type TAlign = 'A_RIGHT' | 'A_LEFT' | 'A_CENTER';
|
|
41
|
+
export type TextFit = 'TFM_SCALE' | 'TFM_TRUNCATE' | 'TFM_OVERFLOW';
|
|
42
|
+
export type TWriteTextParams = [string, string, number, number, number, number, TAlign, TextFit?];
|
|
43
|
+
export type TCODResponse = TCairoResponse | TCairoCreateResponse | TUploadImageResponse;
|
|
44
|
+
export type AsyncMessage = {
|
|
45
|
+
resolve: (value: TCODResponse) => void;
|
|
46
|
+
reject: (reason: Error) => void;
|
|
47
|
+
sentTimestamp: number;
|
|
48
|
+
};
|
|
49
|
+
export interface CamOverlayDrawingAPI {
|
|
50
|
+
on(event: 'open', listener: () => void): this;
|
|
51
|
+
on(event: 'close', listener: () => void): this;
|
|
52
|
+
on(event: 'error', listener: (err: Error) => void): this;
|
|
53
|
+
on(event: 'message', listener: (msg: string) => void): this;
|
|
54
|
+
emit(event: 'open'): boolean;
|
|
55
|
+
emit(event: 'close'): boolean;
|
|
56
|
+
emit(event: 'error', err: Error): boolean;
|
|
57
|
+
emit(event: 'message', msg: string): boolean;
|
|
58
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { CamOverlayDrawingAPI } from '../CamOverlayDrawingAPI';
|
|
2
|
+
import { COORD } from '../CamOverlayPainter/Painter';
|
|
3
|
+
import { TAlign, TCairoCreateResponse, TUploadImageResponse } from './CamOverlayDrawingAPI';
|
|
4
|
+
export type TRgb = [number, number, number];
|
|
5
|
+
export type TRgba = [number, number, number, number];
|
|
6
|
+
export type TTmf = 'TFM_OVERFLOW' | 'TFM_SCALE' | 'TFM_TRUNCATE';
|
|
7
|
+
export type TObjectFitType = 'fill' | 'fit' | 'none';
|
|
8
|
+
export type TFrameOptions = {
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
text?: string;
|
|
15
|
+
fontColor?: TRgb;
|
|
16
|
+
font?: string;
|
|
17
|
+
bgColor?: TRgba;
|
|
18
|
+
bgImage?: string;
|
|
19
|
+
bgType?: TObjectFitType;
|
|
20
|
+
borderRadius?: number;
|
|
21
|
+
borderWidth?: number;
|
|
22
|
+
borderColor?: TRgba;
|
|
23
|
+
customDraw?: TDrawingCallback;
|
|
24
|
+
layer?: number;
|
|
25
|
+
};
|
|
26
|
+
export type TFrameInfo = {
|
|
27
|
+
width: number;
|
|
28
|
+
height: number;
|
|
29
|
+
};
|
|
30
|
+
export type TDrawingCallback = (cod: CamOverlayDrawingAPI, cairo: string, info: TFrameInfo) => Promise<void>;
|
|
31
|
+
export type TFrame = {
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
};
|
|
37
|
+
export type TText = {
|
|
38
|
+
text: string;
|
|
39
|
+
textAlign: TAlign;
|
|
40
|
+
textType: TTmf;
|
|
41
|
+
fontColor: TRgb;
|
|
42
|
+
font: TCairoCreateResponse | undefined;
|
|
43
|
+
fontName: string | undefined;
|
|
44
|
+
};
|
|
45
|
+
export type TBg = {
|
|
46
|
+
bgColor: TRgba | undefined;
|
|
47
|
+
bgImage: TUploadImageResponse | undefined;
|
|
48
|
+
bgImageName: string | undefined;
|
|
49
|
+
bgType: TObjectFitType | undefined;
|
|
50
|
+
};
|
|
51
|
+
export type TBorder = {
|
|
52
|
+
borderRadius: number;
|
|
53
|
+
borderWidth: number;
|
|
54
|
+
borderColor: TRgba;
|
|
55
|
+
};
|
|
56
|
+
export interface Frame {
|
|
57
|
+
on(event: 'open', listener: () => void): this;
|
|
58
|
+
on(event: 'close', listener: () => void): this;
|
|
59
|
+
on(event: 'layoutChanged', listener: () => void): this;
|
|
60
|
+
emit(event: 'open'): boolean;
|
|
61
|
+
emit(event: 'close'): boolean;
|
|
62
|
+
emit(event: 'layoutChanged'): boolean;
|
|
63
|
+
}
|
|
64
|
+
export type TCoAlignment = keyof typeof COORD;
|
|
65
|
+
export type TPainterOptions = TFrameOptions & {
|
|
66
|
+
screenWidth: number;
|
|
67
|
+
screenHeight: number;
|
|
68
|
+
coAlignment: TCoAlignment;
|
|
69
|
+
};
|
|
70
|
+
export type TLayer = {
|
|
71
|
+
layer: number;
|
|
72
|
+
surfaceCache?: string;
|
|
73
|
+
cairoCache?: string;
|
|
74
|
+
};
|