@aurigma/design-atoms
Version:
Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.
112 lines (111 loc) • 5.64 kB
TypeScript
import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS";
import { PointF } from "@aurigma/design-atoms-model";
import { ILimitsViolationEventData, ITextEditor } from "@aurigma/design-atoms-text";
import { BaseRectangleItemHandler } from "./ItemHandlers";
import { IHandlersConfiguration, IViewportHandler, ISnapLinesHandler } from "./Viewer/Interfaces";
import { RubberbandHandler } from "./Input/InputHandler/Default/RubberbandHandler";
import { CanvasRendererStyle } from "./Canvas/CanvasRendererStyle";
import { SpotlightHandler } from "./Canvas/SpotlightHandler";
import { IHoverHandler } from "./Canvas/Interfaces";
import { ICanvasRenderer, IMargins, IProductHandler } from "./ICanvasRenderer";
import { IWorkspace } from "./IWorkspace";
import { Rubberband } from "./Rubberband";
import { IInteractiveZonesHandler } from "./Viewer/Interfaces/IInteractiveZonesHandler";
import { Translations } from "./Viewer/Translations";
import { TextRenderer } from "./InPlace/TextRenderer";
import { IViewportContext } from "./IViewportContext";
import { IWorkspaceContext } from "./IWorkspaceContext";
import { Layer } from "./Layer";
import { ISelectionHandler } from "./Services/Selection/ISelectionHandler";
export interface ITextEditorContext {
textEditor: ITextEditor;
}
export interface ITranslationsContext {
translations: Translations;
}
export interface IRulersContext {
actualRulerWidth: number;
}
export interface ITextLimitsContext {
lastLimitsEvent: ILimitsViolationEventData;
errorInput: boolean;
}
export interface IDragNDropHandler {
draw(): void;
}
export interface ICanvasElementHandler {
viewportMemoryCanvas: HTMLCanvasElement;
viewportTextureCanvas: HTMLCanvasElement;
}
export declare class CanvasRenderer implements ICanvasRenderer {
private _selection;
private _dndHandler;
private _rubberbandHandler;
private _viewportHandler;
private _spotlightHandler;
private _hoverHandler;
private _snapLinesHandler;
private _canvasElementHandler;
private _interactiveZonesHandler;
private readonly _loadingImage;
private _rotationIconImage;
private _handlerConfiguration;
private _textRenderer;
private _textWhizz;
private _snapLineMarkSize;
style: CanvasRendererStyle;
previewMode: boolean;
constructor(_selection: ISelectionHandler, _dndHandler: IDragNDropHandler, handlerConfiguration: IHandlersConfiguration, _rubberbandHandler: RubberbandHandler, _viewportHandler: IViewportHandler, _spotlightHandler: SpotlightHandler, _hoverHandler: IHoverHandler, _snapLinesHandler: ISnapLinesHandler, _canvasElementHandler: ICanvasElementHandler, _interactiveZonesHandler: IInteractiveZonesHandler);
set textRenderer(value: TextRenderer);
set conf(conf: IHandlersConfiguration);
setTextWhizzModule(textWhizz: typeof TextWhizz): void;
redrawActiveTextCanvas(context: ITextEditorContext, layers: Layer[]): void;
redrawActiveCanvas(layers: Layer[], activeCanvas: HTMLCanvasElement, workspace: IWorkspace, productHandler: IProductHandler, offset: PointF): void;
redrawSelectionCanvas(designCanvas: HTMLCanvasElement, workspace: IWorkspace, style: CanvasRendererStyle, textContext: ITextLimitsContext & ITextEditorContext & ITranslationsContext, viewer: IViewportContext & IWorkspaceContext & IRulersContext, contentAngle: number, offset: PointF, drawShadow?: boolean, drawSnapLines?: boolean): void;
redrawInactiveCanvas(layers: Layer[], surfaceCanvas: HTMLCanvasElement, inactiveCanvas: HTMLCanvasElement, workspace: IWorkspace, margins: IMargins, mul: number, productHandler: IProductHandler, offset: PointF, mockupMarginWorkaroundEnabled?: boolean): void;
drawRubberband(context: CanvasRenderingContext2D, rubberband: Rubberband, offset: PointF): void;
drawWaitClock(context: CanvasRenderingContext2D, center: PointF, mul: number): void;
setLoadingImageUrl(url: string): void;
drawTextCursor(canvas: HTMLCanvasElement, itemHandler: BaseRectangleItemHandler, callback: (context: CanvasRenderingContext2D) => void, workspace: IWorkspace, mul: number, offset: PointF): void;
clearTextCursor(canvas: HTMLCanvasElement): void;
applyContextScale(renderingContext: CanvasRenderingContext2D, workspace: IWorkspace, offset: PointF, clipByWorkspace?: boolean): CanvasRenderingContext2D;
private _getScaleFactor;
private _drawInteractiveZones;
private _drawInteractiveZone;
private _getLabelPosition;
private _drawShadow;
private _applyMatrixToPoint;
private _applyMatrixToRectangle;
private _drawSnapLines;
private _getResizeIndex;
private _drawSelection;
private _drawSpotlights;
private _drawHover;
private _drawHoverRect;
private _calculateLabelPlacement;
private _drawHighlight;
private _drawHighlightRects;
private _drawSpotlight;
private _alignPoint;
private _alignRectangle;
private _drawRotateGrip;
private _loadRotationIconImage;
private _drawGripRectangle;
private _getMemoryCanvas;
private _getTextureCanvas;
private _drawHandler;
private _drawMockupWorkaround;
private _needToShowLimits;
private _drawLimitsMessage;
private _drawVerticalLine;
private _drawSnapLineMark;
private _drawHorizontalLine;
private _getContext;
private _getScaledContext;
private _getClippingRectangle;
private _contextSetClipping;
private _isEditing;
private _getItemHandlersByRenderState;
private _drawFade;
private _drawMargins;
}