UNPKG

zrender

Version:

A lightweight graphic library providing 2d draw for Apache ECharts

80 lines (79 loc) 3.25 kB
import * as util from '../core/util'; import { ImagePatternObject } from '../graphic/Pattern'; import CanvasPainter from './Painter'; import { GradientObject } from '../graphic/Gradient'; import { IncrementalId, ZLevel, ZLevel2 } from '../core/types'; import Eventful from '../core/Eventful'; import Element, { ElementEventCallback } from '../Element'; import Displayable from '../graphic/Displayable'; import BoundingRect from '../core/BoundingRect'; export declare function isIncrementalLayer(layer: Layer): boolean; export interface LayerConfig { clearColor?: string | GradientObject | ImagePatternObject; motionBlur?: boolean; lastFrameAlpha?: number; } export interface LayerDrawCursor { key: IncrementalId; used: boolean; drawIdx: number; notClearIdx: number; startIdx: number; endIdx: number; endIdxNew: number; first: Element['id']; last: Element['id']; } declare type LayerDrawCursorStartEnd = Pick<LayerDrawCursor, 'startIdx' | 'endIdx'>; export default class Layer extends Eventful { id: string; dom: HTMLCanvasElement; domBack: HTMLCanvasElement; ctx: CanvasRenderingContext2D; ctxBack: CanvasRenderingContext2D; painter: CanvasPainter; clearColor: string | GradientObject | ImagePatternObject; motionBlur: boolean; lastFrameAlpha: number; dpr: number; virtual: boolean; config: {}; zlevel: ZLevel; zlevel2: ZLevel2; maxRepaintRectCount: number; private _paintRects; __dirty: boolean; __firstTimePaint: boolean; __cursorStack: IncrementalId[]; __cursors: util.HashMap<LayerDrawCursor, IncrementalId>; __prevIdx: LayerDrawCursorStartEnd; __builtin__: boolean; constructor(id: string | HTMLCanvasElement, painter: CanvasPainter, dpr?: number); afterBrush(): void; initContext(): void; setUnpainted(): void; createBackBuffer(): void; createRepaintRects(displayList: Displayable[], prevList: Displayable[], viewWidth: number, viewHeight: number): BoundingRect[]; debugGetPaintRects(): BoundingRect[]; resize(width: number, height: number): void; clear(clearAll?: boolean, clearColor?: string | GradientObject | ImagePatternObject, repaintRects?: BoundingRect[]): void; refresh: (clearColor?: string | GradientObject | ImagePatternObject) => void; renderToCanvas: (ctx: CanvasRenderingContext2D) => void; onclick: ElementEventCallback<unknown, this>; ondblclick: ElementEventCallback<unknown, this>; onmouseover: ElementEventCallback<unknown, this>; onmouseout: ElementEventCallback<unknown, this>; onmousemove: ElementEventCallback<unknown, this>; onmousewheel: ElementEventCallback<unknown, this>; onmousedown: ElementEventCallback<unknown, this>; onmouseup: ElementEventCallback<unknown, this>; oncontextmenu: ElementEventCallback<unknown, this>; ondrag: ElementEventCallback<unknown, this>; ondragstart: ElementEventCallback<unknown, this>; ondragend: ElementEventCallback<unknown, this>; ondragenter: ElementEventCallback<unknown, this>; ondragleave: ElementEventCallback<unknown, this>; ondragover: ElementEventCallback<unknown, this>; ondrop: ElementEventCallback<unknown, this>; } export {};