@aurigma/design-atoms
Version:
Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.
139 lines (138 loc) • 6.76 kB
TypeScript
import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS";
import { Item, PointF, RectangleF } from "@aurigma/design-atoms-model";
import { ITextEditor } from "@aurigma/design-atoms-text/TextEditor";
import { PlaceholderItemHandler } from "./ItemHandlers/PlaceholderItemHandler";
import { ItemHandler } from "./ItemHandlers/ItemHandler";
import { ImageItemHandler } from "./ItemHandlers/ImageItemHandler";
import { PlainTextItemHandler } from "./ItemHandlers/PlainTextItemHandler";
import { RectangleItemHandler } from "./ItemHandlers/RectangleItemHandler";
import { ShapeItemHandler } from "./ItemHandlers/ShapeItemHandler";
import { BaseTextItemHandler } from "./ItemHandlers/BaseTextItemHandler";
import { NewBaseTextItemHandler } from "./ItemHandlers/NewBaseTextItemHandler";
import { BaseRectangleItemHandler } from "./ItemHandlers/BaseRectangleItemHandler";
import { Service } from "./Services";
import { FontRegistry } from "./InPlace";
import { History } from "./History";
import { GroupItemHandler } from "./ItemHandlers";
import { UpdateButtonGroupsOptions } from "./Viewer/UpdateButtonGroupsOptions";
import { IDesignAtomsApiClient } from "./Services/IDesignAtomsApiClient";
import { IHitTestManager, IViewerConfiguration } from "./Viewer/Interfaces";
import { IWorkspace } from "./IWorkspace";
import { CanvasData } from "./CanvasData";
import { LayerCollection } from "./LayerCollection";
import { CanvasRendererStyle } from "./Canvas/CanvasRendererStyle";
import { IHoverHandler } from "./Canvas/Interfaces";
import { IRenderingConfigProvider } from "./IRenderingConfigProvider";
export declare type ItemHandlerType = typeof PlaceholderItemHandler | typeof ImageItemHandler | typeof ItemHandler | typeof PlainTextItemHandler | typeof RectangleItemHandler | typeof ShapeItemHandler | typeof BaseTextItemHandler | typeof NewBaseTextItemHandler;
export declare type GetItemHandlersOptions = {
excludeGroupItems?: boolean;
flatGroupItems?: boolean;
onlyVisible?: boolean;
onlyUnlocked?: boolean;
onlyType?: ItemHandlerType | ItemHandlerType[];
whiteListFilter?: (handler: any) => boolean;
blackListFilter?: (handler: any) => boolean;
};
export interface ICanvas {
layers: LayerCollection;
canvasElementSize: {
width?: number;
height?: number;
};
width: number;
height: number;
ignorePermissionsMode: boolean;
service: Service;
isInitialized: boolean;
initialization: boolean;
zoom: number;
workspaceWidth: number;
workspaceHeight: number;
workspace: IWorkspace;
disableSmoothing: boolean;
goodViolationIconCssClass: string;
warningViolationIconCssClass: string;
badViolationIconCssClass: string;
qualityBadToWarningChangeScaleBarCssClass: string;
qualityWarningToGoodChangeScaleBarCssClass: string;
qualityBadToGoodChangeScaleBarCssClass: string;
qualityNoAnimationChangeScaleBarCssClass: string;
qualityChangeScaleBarCssClass: string;
hitTestManager: IHitTestManager;
previewMode: boolean;
designAtomsApiClient: IDesignAtomsApiClient;
textEditor: ITextEditor;
textWhizz: typeof TextWhizz;
minFontSize: number;
maxFontSize: number;
minLeading: number;
maxLeading: number;
isSelectionLocked: boolean;
isSelectionResizing: boolean;
isSelectionRotating: boolean;
isSelectionDragging: boolean;
isSelectionIdle: boolean;
fontRegistry: FontRegistry;
viewerConfiguration: IViewerConfiguration | null;
offset: PointF;
history: History;
frontEndTextRenderingEnabled: boolean;
currentItemHandler: ItemHandler;
mul: number;
style: CanvasRendererStyle;
hoverHandler: IHoverHandler;
renderingConfigProvider: IRenderingConfigProvider;
contentAngle: number;
getData(forService?: boolean, layerId?: string): CanvasData;
updateSelection(force?: boolean): void;
redraw(): void;
pauseRedraw(): void;
continueRedraw(): void;
redrawDesign(): void;
redrawActiveTexts(): void;
getItemHandler<THandler extends ItemHandler>(item: Item): THandler;
deleteItemHandler(itemHandler: ItemHandler): void;
updateTexts(): void;
drawWaitClock(context: CanvasRenderingContext2D, center: PointF): void;
updateViolationContainers(updatePosition?: boolean, onlyVisible?: boolean): void;
updateViolationContainer(itemHandler: BaseRectangleItemHandler, updatePosition?: boolean): void;
updateViolationContainerPosition(itemHandler: BaseRectangleItemHandler): void;
addViolationContainer(itemHandler: BaseRectangleItemHandler): void;
removeViolationContainer(itemHandler: BaseRectangleItemHandler): void;
isOnlyThisItemHandlerSelected(itemHandler: BaseRectangleItemHandler): boolean;
isItemHandlerSelected(itemHandler: ItemHandler): boolean;
addSelectedItemHandler(itemHandler: ItemHandler): void;
removeSelectedItemHandler(itemHandler: ItemHandler): void;
setSelectedItemHandlers(itemHandlers: ItemHandler[]): void;
clearSelectedItemHandlers(): void;
add_zoomChanged(listener: any): void;
remove_zoomChanged(listener: any): void;
addPlaceholderButtonGroup(placeholder: PlaceholderItemHandler): void;
removePlaceholderButtonGroup(placeholder: PlaceholderItemHandler): void;
updatePlaceholderButtonGroup(placeholder: PlaceholderItemHandler | GroupItemHandler): void;
updatePlaceholderButtonGroups(): void;
updatePlaceholderButtonGroupPosition(placeholder: PlaceholderItemHandler): void;
isDragSource(itemHandler: ItemHandler): boolean;
isDragTarget(itemHandler: ItemHandler): boolean;
updateButtonGroups(options: UpdateButtonGroupsOptions): void;
waitUpdate(itemHandlers?: ItemHandler[]): Promise<void[]>;
onLayerTextureLoaded(): void;
doesContainItem(item: Item): boolean;
pauseUpdateTexts(): void;
resumeUpdateTexts(): void;
enableSelection(): void;
disableSelection(): void;
unsubscribeLimitsMessage(): void;
subscribeLimitsMessage(): void;
add_onScroll(handler: any): void;
remove_onScroll(handler: any): void;
add_selectedItemHandlerChanged(handler: any): void;
remove_selectedItemHandlerChanged(handler: any): void;
add_onSelectionLocked(handler: any): void;
remove_onSelectionLocked(handler: any): void;
ensureFocus(): void;
setCursor(value: any, onBody: boolean): void;
getAllItemHandlers(options?: GetItemHandlersOptions): ItemHandler[];
violationWarningButtonHitTestObject(pt: PointF): BaseRectangleItemHandler;
getButtonGroupRectInGripsDiv(div: HTMLElement, ignoreRotate?: boolean): RectangleF;
}