/** @ignore */ /** */ import type { IRenderer, IMargin, IRendererEvent, ILayer, ICanvasOptions, IPointerEvent, Id } from "./Renderer"; import { LinearGradientDef, RadialGradientDef, PatternDef, RasterPatternDef } from "../scene/Paint"; import { InteractionManager } from "../scene/Interaction"; import { SceneNode, SceneContainer, SceneGraphics, SceneText, SceneTextStyle, SceneRadialText, SceneImage, ScenePivot } from "../scene/SceneNode"; import type { IBounds } from "../../util/IBounds"; import type { IPoint } from "../../util/IPoint"; import { ArrayDisposer, IDisposer } from "../../util/Disposer"; /** * @ignore */ export declare class CanvasRendererEvent implements IRendererEvent { event: A; originalPoint: IPoint; point: IPoint; bbox: DOMRect; id: Id; simulated: boolean; native: boolean; constructor(event: A, originalPoint: IPoint, point: IPoint, bbox: DOMRect); } /** * @ignore */ export declare class CanvasRenderer extends ArrayDisposer implements IRenderer, IDisposer { view: HTMLElement; _layerDom: HTMLElement; layers: Array; _dirtyLayers: Array; defaultLayer: CanvasLayer; _ghostLayer: GhostLayer; _deferredGhostLayers: Array; protected _patternCanvas: HTMLCanvasElement; protected _patternContext: CanvasRenderingContext2D; protected _realWidth: number; protected _realHeight: number; protected _calculatedWidth: number; protected _calculatedHeight: number; resolution: number; _interaction: InteractionManager; protected _colorId: number; protected _colorMap: { [color: string]: SceneNode; }; _forceInteractive: number; _omitTainted: boolean; resetImageArray(): void; constructor(resolution?: number); get interactionsEnabled(): boolean; set interactionsEnabled(value: boolean); get tapToActivate(): boolean; set tapToActivate(value: boolean); get tapToActivateTimeout(): number; set tapToActivateTimeout(value: number); get debugGhostView(): boolean; set debugGhostView(value: boolean); createLinearGradient(x1: number, y1: number, x2: number, y2: number): LinearGradientDef; createRadialGradient(x1: number, y1: number, radius1: number, x2: number, y2: number, radius2: number): RadialGradientDef; createPattern(graphics: SceneGraphics, background: SceneGraphics, repetition: string, width: number, height: number): PatternDef; createRasterPattern(source: HTMLCanvasElement, repetition: string): RasterPatternDef | null; makeContainer(): SceneContainer; makeGraphics(): SceneGraphics; makeText(text: string, style: SceneTextStyle): SceneText; makeTextStyle(): SceneTextStyle; makeRadialText(text: string, style: SceneTextStyle): SceneRadialText; makePicture(image: HTMLImageElement | undefined): SceneImage; resizeLayer(layer: CanvasLayer): void; resizeGhost(): void; resize(realWidth: number, realHeight: number, calculatedWidth: number, calculatedHeight: number): void; private createDetachedLayer; getLayerByOrder(order: number): CanvasLayer | undefined; getLayer(order: number, visible?: boolean): CanvasLayer; render(root: SceneNode): void; paintId(obj: SceneNode): string; _removeObject(obj: SceneNode): void; _useLayer(order: number, margin: IMargin | undefined): CanvasLayer; _layerCanvas(layer: ILayer): HTMLCanvasElement; _measureText(text: SceneText): IBounds; protected _adjustBoundingBox(bbox: DOMRect): DOMRect; getEvent(originalEvent: A, adjustPoint?: boolean): CanvasRendererEvent; _getHitTarget(point: IPoint, bbox: DOMRect, target: Node | null): SceneNode | undefined | false; getObjectAtPoint(point: IPoint): SceneNode | undefined; removeHovering(graphics: SceneNode): void; getCanvas(root: SceneNode, options?: ICanvasOptions): HTMLCanvasElement; } declare class GhostLayer { view: HTMLCanvasElement; context: CanvasRenderingContext2D; margin: IMargin; private _resolution; private _width; private _height; imageArray?: Uint8ClampedArray; constructor(); resize(canvasWidth: number, canvasHeight: number, domWidth: number, domHeight: number, resolution: number): void; getImageData(point: IPoint, bbox: DOMRect): ImageData; getImageArray(point: IPoint): Array; setMargin(layers: Array): void; clear(): void; } /** * @ignore */ export declare class CanvasLayer implements ILayer { view: HTMLCanvasElement; context: CanvasRenderingContext2D; tainted: boolean; margin: IMargin | undefined; order: number; visible: boolean; width: number | undefined; height: number | undefined; scale: number | undefined; dirty: boolean; exportableView: HTMLCanvasElement | undefined; exportableContext: CanvasRenderingContext2D | undefined; private _width; private _height; constructor(view: HTMLCanvasElement, context: CanvasRenderingContext2D); resize(canvasWidth: number, canvasHeight: number, domWidth: number, domHeight: number, resolution: number): void; clear(): void; } /** * @deprecated Renamed to `ScenePivot`. * @ignore */ export declare const CanvasPivot: typeof ScenePivot; /** @ignore */ export declare type CanvasPivot = ScenePivot; /** * @deprecated Renamed to `SceneNode`. * @ignore */ export declare const CanvasDisplayObject: typeof SceneNode; /** @ignore */ export declare type CanvasDisplayObject = SceneNode; /** * @deprecated Renamed to `SceneContainer`. * @ignore */ export declare const CanvasContainer: typeof SceneContainer; /** @ignore */ export declare type CanvasContainer = SceneContainer; /** * @deprecated Renamed to `SceneGraphics`. * @ignore */ export declare const CanvasGraphics: typeof SceneGraphics; /** @ignore */ export declare type CanvasGraphics = SceneGraphics; /** * @deprecated Renamed to `SceneText`. * @ignore */ export declare const CanvasText: typeof SceneText; /** @ignore */ export declare type CanvasText = SceneText; /** * @deprecated Renamed to `SceneRadialText`. * @ignore */ export declare const CanvasRadialText: typeof SceneRadialText; /** @ignore */ export declare type CanvasRadialText = SceneRadialText; /** * @deprecated Renamed to `SceneTextStyle`. * @ignore */ export declare const CanvasTextStyle: typeof SceneTextStyle; /** @ignore */ export declare type CanvasTextStyle = SceneTextStyle; /** * @deprecated Renamed to `SceneImage`. * @ignore */ export declare const CanvasImage: typeof SceneImage; /** @ignore */ export declare type CanvasImage = SceneImage; export {}; //# sourceMappingURL=CanvasRenderer.d.ts.map