UNPKG

jassub

Version:

The Fastest JavaScript SSA/ASS Subtitle Renderer For Browsers

68 lines (67 loc) 3.09 kB
import { finalizer } from 'abslink'; import { Canvas2DRenderer } from './renderers/2d-renderer.ts'; import { WebGL1Renderer } from './renderers/webgl1-renderer.ts'; import { WebGL2Renderer } from './renderers/webgl2-renderer.ts'; import { type ASSEvent, type ASSStyle, type WeightValue } from './util.ts'; import type { JASSUB } from '../wasm/types.d.ts'; interface opts { wasmUrl: string; width: number; height: number; subUrl: string | undefined; subContent: string | null; fonts: Array<string | Uint8Array>; availableFonts: Record<string, Uint8Array | string>; defaultFont: string; debug: boolean; libassMemoryLimit: number; libassGlyphLimit: number; queryFonts: 'local' | 'localandremote' | false; } export declare class ASSRenderer { _offCanvas?: OffscreenCanvas; _wasm: JASSUB; _subtitleColorSpace?: 'BT601' | 'BT709' | 'SMPTE240M' | 'FCC' | null; _videoColorSpace?: 'BT709' | 'BT601'; _malloc: (size: number) => number; _gpurender: WebGL2Renderer | WebGL1Renderer | Canvas2DRenderer; debug: boolean; _ready: Promise<void>; constructor(data: opts, getFont: (font: string, weight: WeightValue) => Promise<Uint8Array<ArrayBuffer> | undefined>); ready(): Promise<void>; createEvent(event: ASSEvent): void; getEvents(): Partial<ASSEvent>[]; setEvent(event: ASSEvent, index: number): void; removeEvent(index: number): void; createStyle(style: ASSStyle): import("../wasm/types.d.ts").ASS_Style; getStyles(): ASSStyle[]; setStyle(style: ASSStyle, index: number): void; removeStyle(index: number): void; styleOverride(style: ASSStyle): void; disableStyleOverride(): void; setTrack(content: string): void; freeTrack(): void; setTrackByUrl(url: string): Promise<void>; _checkColorSpace(): void; _defaultFont: string; setDefaultFont(fontName: string): void; _log(log: string): Promise<void>; addFonts(fontOrURLs: Array<Uint8Array | string>): Promise<PromiseSettledResult<void>[] | undefined>; _loadedInitialFonts: boolean; _loadInitialFonts(fontOrURLs: Array<Uint8Array | string>): Promise<void>; _getFont: (font: string, weight: WeightValue) => Promise<Uint8Array<ArrayBuffer> | undefined>; _availableFonts: Record<string, Uint8Array | string>; _checkedFonts: Set<string>; _findAvailableFont(fontName: string, weight?: WeightValue): Promise<PromiseSettledResult<void>[] | undefined>; queryFonts: false | "local" | "localandremote"; _queryLocalFont(fontName: string, weight: WeightValue): Promise<Uint8Array<ArrayBuffer> | undefined>; _queryRemoteFont(postscriptNames: string[]): Promise<Uint8Array<ArrayBuffer> | undefined>; _asyncWrite(font: string): Promise<void>; _fontId: number; _allocFonts(uint8s: Uint8Array[]): void; _resizeCanvas(width: number, height: number, videoWidth: number, videoHeight: number): void; [finalizer](): Promise<void>; _draw(time: number, repaint?: boolean): void; _setColorSpace(videoColorSpace: 'RGB' | 'BT709' | 'BT601'): void; } export {};