import Layer, { LayerConfig } from './Layer'; import Displayable from '../graphic/Displayable'; import { GradientObject } from '../graphic/Gradient'; import { ImagePatternObject } from '../graphic/Pattern'; import Storage from '../Storage'; import { PainterBase } from '../PainterBase'; interface CanvasPainterOption { devicePixelRatio?: number; width?: number | string; height?: number | string; useDirtyRect?: boolean; } export default class CanvasPainter implements PainterBase { type: string; root: HTMLElement; dpr: number; storage: Storage; private _singleCanvas; private _opts; private _zlevelList; private _prevDisplayList; private _layers; private _layerConfig; private _needsManuallyCompositing; private _width; private _height; private _domRoot; private _hoverlayer; private _redrawId; private _backgroundColor; constructor(root: HTMLElement, storage: Storage, opts: CanvasPainterOption, id: number); getType(): string; isSingleCanvas(): boolean; getViewportRoot(): HTMLElement; getViewportRootOffset(): { offsetLeft: number; offsetTop: number; }; refresh(paintAll?: boolean): this; refreshHover(): void; private _paintHoverList; getHoverLayer(): Layer; paintOne(ctx: CanvasRenderingContext2D, el: Displayable): void; private _paintList; private _compositeManually; private _doPaintList; private _doPaintEl; getLayer(zlevel: number, virtual?: boolean): Layer; insertLayer(zlevel: number, layer: Layer): void; eachLayer(cb: (this: T, layer: Layer, z: number) => void, context?: T): void; eachBuiltinLayer(cb: (this: T, layer: Layer, z: number) => void, context?: T): void; eachOtherLayer(cb: (this: T, layer: Layer, z: number) => void, context?: T): void; getLayers(): { [key: number]: Layer; }; _updateLayerStatus(list: Displayable[]): void; clear(): this; _clearLayer(layer: Layer): void; setBackgroundColor(backgroundColor: string | GradientObject | ImagePatternObject): void; configLayer(zlevel: number, config: LayerConfig): void; delLayer(zlevel: number): void; resize(width?: number | string, height?: number | string): this; clearLayer(zlevel: number): void; dispose(): void; getRenderedCanvas(opts?: { backgroundColor?: string | GradientObject | ImagePatternObject; pixelRatio?: number; }): HTMLCanvasElement; getWidth(): number; getHeight(): number; } export {};