import { IImageViewer } from "../Models/IImageViewer"; import { Size } from "../Models/SelectionBoxTypes"; import { IImageLayer, IPaintCommand, IPaintDesignerContext, IPaintObject, IPaintObjectDesigner } from "./types"; /** * Image layer canvas. **/ export declare class ImageLayer implements IImageLayer, IPaintDesignerContext { viewer: IImageViewer; container: HTMLElement; naturalSize: { width: number; height: number; }; mainCanvas: HTMLCanvasElement; backCanvas: HTMLCanvasElement; name: string; private _backgroundPainted; private _bgImage?; private _mainCtx; private _backCtx; private _paintObjects; private _tempPaintCommands; private _tempCanvas?; constructor(viewer: IImageViewer, container: HTMLElement, naturalSize: { width: number; height: number; }); get selectedObjectDesigners(): IPaintObjectDesigner[]; get size(): Size; get mainCtx(): CanvasRenderingContext2D; get backCtx(): CanvasRenderingContext2D; clear(clearCache: boolean): void; clearCache(): void; dispose(): void; saveToDataURL(): Promise; /** * Merge image layer to main image. **/ merge(): Promise; ensureBackground(): Promise; /** * The objects in this array are drawn to the canvas. **/ get paintObjects(): IPaintObject[]; /** * Call this method to draw the paint objects specified in the paintObjects array onto the canvas. **/ drawObjects(): Promise; /** * Run a temporary paint command on a separate temporary canvas layer. * This method should create and display the temporary canvas layer if it doesn't exist. **/ executeTempPaintCommand(cmd: IPaintCommand): void; executeTempPaintCommands(mainCtx: CanvasRenderingContext2D, backCtx: CanvasRenderingContext2D): void; /** * Get all temporary paint commands. **/ getTempPaintCommands(): IPaintCommand[]; /** * Clear all temporary paint commands, clear and dispose the temporary canvas layer. **/ clearTempPaintCommands(): void; getPaintObjectDesigners(): any[]; }