UNPKG

@mescius/dsimageviewer

Version:

Document Solutions Image Viewer

65 lines (64 loc) 2.9 kB
import { IImageViewer } from "../Models/IImageViewer"; import { Bounds, PointLocation, Size } from "../Models/SelectionBoxTypes"; import { UndoCommandSupport } from "../Undo/Commands"; export declare type LayersPanelModel = { layerIndex?: number; }; export declare class MergeImageLayerCommand implements UndoCommandSupport { newDataUrl: any; originalImageDataUrl: any; constructor(newDataUrl: any, originalImageDataUrl: any); name: string; execute(viewer: IImageViewer): Promise<void>; undo(viewer: IImageViewer): Promise<void>; } export interface IImageLayer { get name(): string; set name(name: string); get size(): Size; clear(clearCache: boolean): any; dispose(): any; ensureBackground(): Promise<void>; merge(): Promise<void>; saveToDataURL(): Promise<string>; drawObjects(): any; executeTempPaintCommand(cmd: IPaintCommand): any; getTempPaintCommands(): IPaintCommand[]; clearTempPaintCommands(): any; get mainCanvas(): HTMLCanvasElement; get backCanvas(): HTMLCanvasElement; get mainCtx(): CanvasRenderingContext2D; get backCtx(): CanvasRenderingContext2D; get paintObjects(): IPaintObject[]; } export declare type PointerTriggerType = "start" | "move" | "end"; export declare type PaintCommandName = "Pencil" | "Brush" | "Eraser" | "ErasePath2D" | "CloneStamp" | "TextPaintObject" | "UpdateObjectPosition" | "SetObjectProperty" | "DeleteObject" | "CopySelectedRegion" | "UpdateSelectedRegion" | "ResetSelectedRegion" | "CommitSelectedRegionImage" | "UndoSequenceMarker"; export interface IPaintDesignerContext { getPaintObjectDesigners(): any[]; } export declare type IPaintExecuteOptions = { prevCommand?: IPaintCommand; context: IPaintDesignerContext; }; export interface IPaintCommand { readonly name: PaintCommandName; point?: PointLocation; trigger: PointerTriggerType; clone(): any; execute(mainCtx: CanvasRenderingContext2D, backCtx: CanvasRenderingContext2D, options: IPaintExecuteOptions): any; } export declare type PaintObjectName = "ImagePaintObject" | "TextPaintObject"; export interface IPaintObject { name: PaintObjectName; get bounds(): Bounds; set bounds(bounds: Bounds); draw(destCtx: CanvasRenderingContext2D, mainCtx: CanvasRenderingContext2D, backCtx: CanvasRenderingContext2D, params?: PaintObjectParameters): any; getContentSize(ctx: CanvasRenderingContext2D): Size; getProperty(propertyName: PaintObjectPropertyName): any; setProperty(propertyName: PaintObjectPropertyName, value: any): boolean; } export declare type PaintObjectParameters = { isDesignTime?: boolean; context: IImageLayer; }; export declare type PaintObjectPropertyName = "bounds" | "fontSize" | "fontName" | "fontBold" | "fontItalic" | "opacity" | "text" | "textColor";