UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

77 lines (76 loc) 2.21 kB
import { CamOverlayDrawingAPI } from '../node/CamOverlayDrawingAPI'; import { TAlign, TCairoCreateResponse, TUploadImageResponse } from './CamOverlayDrawingAPI'; export declare const COORD: { readonly top_left: readonly [-1, -1]; readonly center_left: readonly [-1, 0]; readonly bottom_left: readonly [-1, 1]; readonly top_center: readonly [0, -1]; readonly center: readonly [0, 0]; readonly bottom_center: readonly [0, 1]; readonly top_right: readonly [1, -1]; readonly center_right: readonly [1, 0]; readonly bottom_right: readonly [1, 1]; }; export type TRgb = [number, number, number]; export type TRgba = [number, number, number, number]; export type TTmf = 'TFM_OVERFLOW' | 'TFM_SCALE' | 'TFM_TRUNCATE'; export type TObjectFitType = 'fill' | 'fit' | 'none'; export type TFrameOptions = { enabled?: boolean; x: number; y: number; width: number; height: number; text?: string; fontColor?: TRgb; font?: string; bgColor?: TRgba; bgImage?: string; bgType?: TObjectFitType; borderRadius?: number; borderWidth?: number; borderColor?: TRgba; customDraw?: TDrawingCallback; layer?: number; }; export type TFrameInfo = { width: number; height: number; }; export type TDrawingCallback = (cod: CamOverlayDrawingAPI, cairo: string, info: TFrameInfo) => Promise<void>; export type TFrame = { x: number; y: number; width: number; height: number; }; export type TText = { text: string; textAlign: TAlign; textType: TTmf; fontColor: TRgb; font: TCairoCreateResponse | undefined; fontName: string | undefined; }; export type TBg = { bgColor: TRgba | undefined; bgImage: TUploadImageResponse | undefined; bgImageName: string | undefined; bgType: TObjectFitType | undefined; }; export type TBorder = { borderRadius: number; borderWidth: number; borderColor: TRgba; }; export type TCoAlignment = keyof typeof COORD; export type TPainterOptions = TFrameOptions & { screenWidth: number; screenHeight: number; coAlignment: TCoAlignment; }; export type TLayer = { layer: number; surfaceCache?: string; cairoCache?: string; };