UNPKG

@visactor/vrender-core

Version:
65 lines (64 loc) 3.37 kB
import type { ICanvasLike, EnvType, ICreateCanvasParams, IEnvContribution, IGlobal, CreateDOMParamsType } from '../../../interface'; import type { IBoundsLike } from '@visactor/vutils'; export declare abstract class BaseEnvContribution implements IEnvContribution { type: EnvType; supportsTouchEvents: boolean; supportsPointerEvents: boolean; supportsMouseEvents: boolean; applyStyles: boolean; supportEvent: boolean; configure(service: IGlobal, ...p: any): void; getNativeAABBBounds(dom: any): IBoundsLike; removeDom(dom: HTMLElement): boolean; createDom(params: CreateDOMParamsType): any; updateDom(dom: HTMLElement, params: CreateDOMParamsType): boolean; getDynamicCanvasCount(): number; getStaticCanvasCount(): number; abstract loadImage(url: string): Promise<{ loadState: 'success' | 'fail'; data: HTMLImageElement | ImageData | null; }>; abstract loadSvg(url: string): Promise<{ loadState: 'success' | 'fail'; data: HTMLImageElement | ImageData | null; }>; abstract createCanvas(params: ICreateCanvasParams): ICanvasLike | any; abstract createOffscreenCanvas(params: ICreateCanvasParams): ICanvasLike | any; abstract releaseCanvas(canvas: ICanvasLike | string): void; abstract getDevicePixelRatio(): number; abstract getRequestAnimationFrame(): (callback: FrameRequestCallback) => number; abstract getCancelAnimationFrame(): (h: number) => void; abstract addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void; abstract addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void; abstract addEventListener(type: unknown, listener: unknown, options?: unknown): void; abstract removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions | undefined): void; abstract removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void; abstract removeEventListener(type: unknown, listener: unknown, options?: unknown): void; abstract dispatchEvent(event: any): boolean; getElementById(str: string): HTMLElement | null; getRootElement(): HTMLElement | null; abstract release(...params: any): void; loadJson(url: string): Promise<{ loadState: 'success' | 'fail'; data: Record<string, unknown> | null; }>; loadArrayBuffer(url: string): Promise<{ loadState: 'success' | 'fail'; data: ArrayBuffer | null; }>; loadBlob(url: string): Promise<{ loadState: 'success' | 'fail'; data: Blob | null; }>; getElementTop(dom: any, baseWindow?: boolean): number; getElementLeft(dom: any, baseWindow?: boolean): number; getElementTopLeft(dom: any, baseWindow?: boolean): { top: number; left: number; }; loadFont(font: string, source: string | BinaryData, descriptors?: FontFaceDescriptors): Promise<{ loadState: 'success' | 'fail'; }>; isMacOS(): boolean; copyToClipBoard(text: string): Promise<any>; }