1 | import * as Geom from './geom.js';
|
2 | import { Plugin, PluginApi } from './plugins.js';
|
3 | export interface CanvasOptions {
|
4 | element: HTMLElement;
|
5 | }
|
6 | export type LazyCanvasOptions = string | HTMLElement | CanvasOptions;
|
7 | export type HtmlCanvasContext = CanvasRenderingContext2D;
|
8 | export interface HtmlCanvasApi extends PluginApi {
|
9 |
|
10 | get element(): HTMLCanvasElement;
|
11 | clientToCanvas(clientPos: Geom.Point): Geom.Point;
|
12 | canvasToClient(renderPos: Geom.Point): Geom.Point;
|
13 | }
|
14 | export declare class HtmlCanvas implements Plugin {
|
15 | onchange: () => void;
|
16 | private _container?;
|
17 | private _offscreenCanvas;
|
18 | private _offscreenContext;
|
19 | private _mainCanvas;
|
20 | private _context;
|
21 | private _resizeObserver;
|
22 | private _prevUpdateHash;
|
23 | private _scaleFactor;
|
24 | private _cssWidth;
|
25 | private _cssHeight;
|
26 | meta: {
|
27 | name: string;
|
28 | };
|
29 | get api(): HtmlCanvasApi;
|
30 | static extractOptions(options: unknown): CanvasOptions;
|
31 | constructor(options: CanvasOptions);
|
32 | destruct(): void;
|
33 | get element(): HTMLCanvasElement;
|
34 | get context(): CanvasRenderingContext2D;
|
35 | calcSize(): Geom.Point;
|
36 | frameBegin(): void;
|
37 | frameEnd(): void;
|
38 | private _clientRect;
|
39 | private _canvasScale;
|
40 | private _clientToCanvas;
|
41 | private _canvasToClient;
|
42 | private _toCanvasElement;
|
43 | private _createResizeObserverFor;
|
44 | }
|