UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

87 lines (86 loc) 2.82 kB
/// <reference types="node" /> /// <reference types="node" /> import * as EventEmitter from 'events'; import { WsOptions } from './internal/types'; export type CamOverlayDrawingOptions = WsOptions & { camera?: number | number[]; zIndex?: number; }; export type TCairoResponse = { message: string; call_id: number; }; export type TCairoCreateResponse = { var: string; call_id: number; }; export type TUploadImageResponse = { var: string; width: number; height: number; call_id: number; }; export type TErrorResponse = { error: string; call_id?: number; }; export type TService = { id: number; enabled: number; schedule: string; name: string; identifier: string; cameraList: number[]; }; export type TServiceList = { services: TService[]; }; export type TAlign = 'A_RIGHT' | 'A_LEFT' | 'A_CENTER'; export type TextFit = 'TFM_SCALE' | 'TFM_TRUNCATE' | 'TFM_OVERFLOW'; export type TWriteTextParams = [string, string, number, number, number, number, TAlign, TextFit?]; export interface CamOverlayDrawingAPI { on(event: 'open', listener: () => void): this; on(event: 'close', listener: () => void): this; on(event: 'error', listener: (err: Error) => void): this; on(event: 'message', listener: (msg: string) => void): this; emit(event: 'open'): boolean; emit(event: 'close'): boolean; emit(event: 'error', err: Error): boolean; emit(event: 'message', msg: string): boolean; } export declare class CamOverlayDrawingAPI extends EventEmitter { private tls; private tlsInsecure; private ip; private port; private user; private pass; private cameraList; private zIndex; private callId; private sendMessages; private timeoutCheckTimer; private wsConnected; private ws; constructor(options?: CamOverlayDrawingOptions); connect(): void; disconnect(): void; isConnected(): boolean; cairo(command: string, ...params: unknown[]): Promise<TCairoResponse | TCairoCreateResponse>; writeText(...params: TWriteTextParams): Promise<TCairoResponse>; uploadImageData(imgBuffer: Buffer): Promise<TUploadImageResponse>; uploadFontData(fontBuffer: Buffer): Promise<TCairoCreateResponse>; showCairoImage(cairoImage: string, posX: number, posY: number): Promise<TCairoResponse>; showCairoImageAbsolute(cairoImage: string, posX: number, posY: number, width: number, height: number): Promise<TCairoResponse>; removeImage(): Promise<TCairoResponse>; private createWsClient; private incomingWsMessageHandler; private sendMessage; private sendBinaryMessage; private startMsgsTimeoutCheck; private stopMsgsTimeoutCheck; private reconnectWithError; private reportMessage; private reportError; private reportClose; }