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.

53 lines (52 loc) 3.36 kB
import { RectangleF, Transform, PointF, Path } from "@aurigma/design-atoms-model/Math"; import { BaseTextItemHandler } from "../ItemHandlers/BaseTextItemHandler"; import { NewBaseTextItemHandler } from "../ItemHandlers/NewBaseTextItemHandler"; import { ImageContainer } from "../ItemHandlers/ImageContainer"; import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS"; import { RgbColor } from "@aurigma/design-atoms-model/Colors"; import { IViewportHandler } from "../Viewer/Interfaces/IViewportHandler"; import { IColorPreviewService } from "../Services/IColorPreviewService"; import { IRgbColorParser } from "../Serialization/Color"; import { Size } from "@aurigma/design-atoms-model/Product/Items"; export interface ITextSelectionStyleConfig { color: string; textColor: string; } export interface ICanvasFactory { createCanvas(size: Size): HTMLCanvasElement; } export declare abstract class TextRenderer { protected _staticCanvas: HTMLCanvasElement; protected _activeCanvas: HTMLCanvasElement; protected _textWhizz: typeof TextWhizz; protected _zoom: number; protected _offset: PointF; protected _viewportHandler: IViewportHandler; protected _selectionStyle: ITextSelectionStyleConfig; protected _rgbColorParser: IRgbColorParser; private _canvasFactory; static staticCanvasMargin: number; protected _workspaceWidth: number; protected _workspaceHeight: number; protected _colorPreviewService: IColorPreviewService; constructor(_staticCanvas: HTMLCanvasElement, _activeCanvas: HTMLCanvasElement, _textWhizz: typeof TextWhizz, _zoom: number, _offset: PointF, _viewportHandler: IViewportHandler, _selectionStyle: ITextSelectionStyleConfig, _rgbColorParser: IRgbColorParser, _canvasFactory: ICanvasFactory); setWorkspaceSize(width: number, height: number): void; setZoom(value: number): void; set offset(value: PointF); get offset(): PointF; protected get _scale(): number; protected _getScaledBounds(bounds: RectangleF): RectangleF; protected _getScaledBoundsWithoutRound(bounds: RectangleF): RectangleF; protected _colorToTextWhizz(color: RgbColor): TextWhizz.Color; abstract drawText(handler: TextWhizz.TextHandler, transform: Transform, center: PointF, previewScale: number, opacity: number, clippingPath: Path): void; abstract transformText(handler: TextWhizz.TextHandler, transform: Transform, center: PointF, previewScale: number, opacity: number, clippingPath: Path): void; abstract clearText(): void; abstract drawSelection(handler: TextWhizz.TextHandler, selection: TextWhizz.TextRange, transform: Transform, center: PointF, previewScale: number): void; abstract getTextImage(handler: TextWhizz.TextHandler, bounds: RectangleF, previewScale: number): HTMLCanvasElement; static renderTextImage(handler: BaseTextItemHandler | NewBaseTextItemHandler, imageContainer: ImageContainer, imageContainerRect: RectangleF, itemHandlerCtx: CanvasRenderingContext2D, opacityMultiplier: number, increaseImageRect: number): void; protected _createCanvas(size: Size): HTMLCanvasElement; protected _copyCanvas(source: HTMLCanvasElement, size: Size): HTMLCanvasElement; private static _drawWaitClock; private static _isUpdatingAfterResize; private static _drawImage; }