UNPKG

vizzu

Version:

Vizzu is a free, open-source Javascript/C++ library utilizing a generic dataviz engine that generates many types of charts and seamlessly animates between them. It can be used to create static charts but more importantly it is designed for building animat

61 lines (60 loc) 2.08 kB
import * as Geom from '../geom.js'; import * as Events from '../events.js'; import { Plugin, PluginApi, PluginHooks, PluginListeners } from '../plugins.js'; import type { HtmlCanvasAlternative } from './canvasrenderer.js'; export interface CanvasOptions { element: HTMLElement; } export type LazyCanvasOptions = string | HTMLElement | CanvasOptions; export type Event<T> = Events.Event<T> & { /** For drawing events the rendering context of the underlying canvas set up for drawing the element. */ renderingContext?: CanvasRenderingContext2D; }; export interface HtmlCanvasApi extends PluginApi { /** Returns the underlying canvas element. */ get element(): HTMLCanvasElement; /** Update the underlying canvas element. */ set element(element: HTMLCanvasElement); /** Returns the actual canvas context */ get context(): CanvasRenderingContext2D; clientToCanvas(clientPos: Geom.Point): Geom.Point; canvasToClient(renderPos: Geom.Point): Geom.Point; } export declare class HtmlCanvas implements Plugin, HtmlCanvasAlternative { private _update; private _container?; private _offscreenCanvas; private _offscreenContext; private _mainCanvas; private _context; private _resizeObserver; private _resizeHandler; private _prevUpdateHash; private _scaleFactor; private _cssWidth; private _cssHeight; meta: { name: string; }; get api(): HtmlCanvasApi; get hooks(): PluginHooks; get listeners(): PluginListeners; private _extendEvent; static extractOptions(options: unknown): CanvasOptions; constructor(options: CanvasOptions); private _setCanvas; unregister(): void; get element(): HTMLCanvasElement; set element(element: HTMLCanvasElement); get context(): CanvasRenderingContext2D; private _calcSize; frameBegin(): void; frameEnd(): void; private _clientRect; private _canvasScale; private _clientToCanvas; private _canvasToClient; private _toCanvasElement; private _createResizeObserverFor; }