/** * @class Canvas管理类 * @classdesc * 包含canvas元素、ctx上下文、以及rawSize、size、origin、padding等多种尺寸信息 * 包含canvas元素的创建、清空等方法 * @desc * 其中创建分为两个阶段: * 第一阶段:Canvas构造器中 * 第二阶段:业务方调用setOption方法时,触发postSetup方法 */ import { GridOptions, CanvasOrigin, CanvasSize, CanvasConfig } from '../models'; export default class Canvas { private static readonly defaultPadding; element: HTMLCanvasElement; ctx: CanvasRenderingContext2D; origin: CanvasOrigin; rawSize: CanvasSize; size: CanvasSize; customTooltip: any; padding: any; getBoundingClientRectInMp: any; private containerElement; constructor(el: string, config?: CanvasConfig, cb?: () => CanvasConfig); /** *【延迟初始化】 * 获取options后,调整canvas尺寸/原点等信息 * 在setOption时触发 */ postSetup(coordinateType: string, grid: GridOptions): void; clearCanvas(): void; private setup; private setupInWeb; private setupInMp; private computeRawSize; private parseOptions; private computeSize; private computeOrigin; }