@visactor/vrender-core
Version:
## Description
65 lines (64 loc) • 3.37 kB
TypeScript
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>;
}