@visactor/vtable
Version:
canvas table width high performance
48 lines (47 loc) • 1.93 kB
TypeScript
import type { IImageGraphicAttribute, ISetAttributeContext, ITextGraphicAttribute } from './../../vrender';
import { Image, Text } from './../../vrender';
import type { IIconBase } from '../../ts-types';
import type { ParsedFrame } from 'gifuct-js';
export interface IIconGraphicAttribute extends IImageGraphicAttribute {
backgroundWidth?: number;
backgroundHeight?: number;
backgroundColor?: string;
visibleTime?: string;
funcType?: string;
hoverImage?: string | HTMLImageElement | HTMLCanvasElement;
originImage?: string | HTMLImageElement | HTMLCanvasElement;
marginLeft?: number;
marginRight?: number;
shape?: 'circle' | 'square';
interactive?: boolean;
}
export declare class Icon extends Image {
attribute: IIconGraphicAttribute;
role?: string;
tooltip?: IIconBase['tooltip'];
frameImageData?: ImageData;
tempCanvas?: HTMLCanvasElement;
tempCtx?: CanvasRenderingContext2D;
gifCanvas?: HTMLCanvasElement;
gifCtx?: CanvasRenderingContext2D;
loadedFrames?: ParsedFrame[];
frameIndex?: number;
playing?: boolean;
lastTime?: number;
constructor(params: IIconGraphicAttribute);
loadGif(): void;
get backgroundWidth(): number;
get backgroundHeight(): number;
renderGIF(frames: ParsedFrame[]): void;
renderFrame(context: CanvasRenderingContext2D, x: number, y: number): void;
drawPatch(frame: ParsedFrame): void;
manipulate(context: CanvasRenderingContext2D, x: number, y: number): void;
setAttribute(key: string, value: any, forceUpdateTag?: boolean, context?: ISetAttributeContext): void;
setAttributes(params: Partial<IIconGraphicAttribute>, forceUpdateTag?: boolean, context?: ISetAttributeContext): void;
}
export declare class TextIcon extends Text {
attribute: IIconGraphicAttribute;
role?: string;
tooltip?: IIconBase['tooltip'];
constructor(params: ITextGraphicAttribute);
}