UNPKG

@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
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; }