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.

234 lines (233 loc) 9.07 kB
import { EventWithSenderArg } from "@aurigma/design-atoms-model/EventObject"; import { ScrollBarsStyle } from "./ScrollBarsStyle"; import { ViewportAlignment } from "./ViewportAlignment"; import { ZoomMode } from "./ZoomMode"; import { ZoomQuality } from "./ZoomQuality"; import { UpdateStatus } from "../UpdateStatus"; import { ViewerClientSideOptions } from "./ViewerClientSideOptions"; import { Cursor } from "../Utils/Common"; import { PointF, SizeF } from "@aurigma/design-atoms-model/Math"; import { Canvas } from "../Canvas"; import { IRangeParams, IRulersConfig } from "./Interfaces"; import { IPointerParams } from "../Input/InputManager/IInputManager"; import { BaseItem } from "@aurigma/design-atoms-model"; export declare class ZoomParams { skipZoomToCenter?: boolean; centerPageX?: number; centerPageY?: number; workspaceX?: number; workspaceY?: number; preventEvent?: boolean; } export declare class BaseViewer { protected _zone: any; protected _viewerElement: HTMLDivElement; private _maxZoom; private _minZoom; protected _screenXDpi: number; protected _screenYDpi: number; private _scrollBarsStyle; private _actualScrollbarWidth; protected _baseRulersOffset: PointF; private _scrollingPosition; private _scrollInitialized; private _viewportAlignment; private _zoom; private _zoomMode; private _zoomQuality; private _bestFitWhiteSpacePc; private _status; private _exceptionDescription; private _returnValue; private _clientSideOptions; private _delayedRefreshTimeout; protected _refreshTimer: any; protected _contentElements: any[]; protected _needToRefresh: boolean; private _rulerEnabled; private _rulerWidth; protected _rulerBorderWidth: number; private _rulerScale; private _rulerDivision; private _rulerOffsetX; private _rulerOffsetY; private _rulersOnScrollDelegate; private _rulersOnZoomDelegate; private _pinchZoomEnabled; private _holderBounds; protected _contentCtx: HTMLElement; private _contentCtxDimension; protected _holderElement: HTMLElement; private _rulers; private _bodyCursor; protected _ignoreDocumentClickOnce: boolean; protected _documentClickEvent: EventWithSenderArg<BaseViewer, Object>; protected _workspaceDoubleClickEvent: EventWithSenderArg<BaseViewer, Object>; protected _workspaceMouseDownEvent: EventWithSenderArg<BaseViewer, Object>; protected _workspaceMouseUpEvent: EventWithSenderArg<BaseViewer, Object>; protected _workspaceMouseMoveEvent: EventWithSenderArg<BaseViewer, Object>; private _statusChangedEvent; private _scrolledEvent; private _onresizeEvent; private _zoomedEvent; protected _canvas: Canvas; protected _intervalCheckLoop: { start({ checkFunction, onChange, delayMs }: { checkFunction: () => boolean; onChange: Function; delayMs?: number; }): any; stop(checkId: any): void; }; protected _contentAngle: number; constructor(_zone?: any); get element(): HTMLDivElement; get id(): string; get contentAngle(): number; set contentAngle(value: number); get holderBounds(): { width: any; height: any; offsetWidth: any; offsetHeight: any; offsetTop: any; offsetLeft: any; }; get contentWidth(): any; get width(): any; get contentHeight(): any; get height(): any; private _notifySizeChanged; protected _renderContent(sb: string): string; private get hasContent(); private _render; private _clearElement; private _rulersOnScroll; private _rulersOnZoom; protected _rulersOnHover: (e: IPointerParams) => void; private _initializeRulers; private _disposeRulers; private _updateRulersStyle; protected _setRulersConfig(config: IRulersConfig): void; private _drawRulers; getActualScrollPosition(): PointF; getViewportLocation(): PointF; ignoreDocumentClickOnce(): void; _onDocumentClick: (e: MouseEvent) => void; protected _makeInactive(domElement: any): void; protected _resizeContentElements(): void; protected _getElementBounds(element: any): { width: any; height: any; offsetWidth: any; offsetHeight: any; offsetTop: any; offsetLeft: any; }; initialize(intervalCheckLoop?: any): void; private _startIntervalCheckLoop; setIntervalCheckLoop(intervalCheckLoop: any): void; protected get _pointerEvents(): { start: string; move: string; up: string; cancel: string; }; protected _onScroll: (e: any) => void; protected _onResize(sender: any, updateButtonGroup: any): void; protected _updateViewport(ignoreZoomConfigRestrictions?: boolean): void; private _addSetCapture; private _zoomToPagePoint; private _zoomToWorkspacePoint; private _updateViewportAlignment; /** Gets a scroll bar length (in other words, the right-bottom point of the image fragment which is out of the visible area). */ get scrollingSize(): PointF; get contentCtx(): HTMLElement; get clientSideOptions(): ViewerClientSideOptions; get zoomConfig(): IRangeParams; setCursor(cursor: Cursor, onBody?: boolean): void; protected _getElementForCursor(): HTMLElement; get delayedRefreshTimeout(): number; set delayedRefreshTimeout(v: number); /** * Gets the maximum allowed zoom value. * @remarks Zoom values are measured in percents/100. * It means that value = 1 specify 100% zoom (i.e. actual size), value = 10 means 1000% zoom (10x), value = 0,5 means 50% zoom (half), etc. **/ getMaxZoom(): number; setMaxZoom(value: number): void; /** * Gets the minimum allowed zoom value * @remarks Zoom values are measured in percents/100. * It means that value = 1 specify 100% zoom (i.e. actual size), value = 10 means 1000% zoom (10x), value = 0,5 means 50% zoom (half), etc. */ get minZoom(): number; set minZoom(value: number); set screenXDpi(v: number); get screenXDpi(): number; set screenYDpi(v: number); get screenYDpi(): number; get scrollBarsStyle(): ScrollBarsStyle; set scrollBarsStyle(value: ScrollBarsStyle); get scrollBarWidth(): number; /** Gets/sets the position of the scroll bars */ get scrollingPosition(): PointF; set scrollingPosition(value: PointF); /** Gets/sets a value that specifies content alignment in the control. */ get viewportAlignment(): ViewportAlignment; set viewportAlignment(v: ViewportAlignment); get zoom(): number; setZoom(zoom: number, params: ZoomParams, ignoreZoomConfigRestrictions?: boolean, withoutUpdate?: boolean): number; protected _setZoom(value: number, ignoreZoomConfigRestrictions?: boolean): void; get pinchZoomEnabled(): boolean; set pinchZoomEnabled(v: boolean); get rulerEnabled(): boolean; set rulerEnabled(v: boolean); get rulerScale(): number; set rulerScale(v: number); get rulerDivision(): number; set rulerDivision(v: number); get rulerOffsetX(): number; set rulerOffsetX(v: number); get rulerOffsetY(): number; set rulerOffsetY(v: number); get actualRulerWidth(): number; get rulerWidth(): number; set rulerWidth(v: number); get zoomMode(): ZoomMode; set zoomMode(v: ZoomMode); protected _setZoomMode(v: ZoomMode): void; get bestFitWhiteSpacePc(): number; set bestFitWhiteSpacePc(v: number); get zoomQuality(): ZoomQuality; get status(): UpdateStatus; get exceptionDescription(): string; get returnValue(): string; get workspaceWidth(): number; get workspaceHeight(): number; get actualSizeHorizontalScale(): number; calculateZoomByZoomMode(zoomMode: ZoomMode, size?: SizeF, bestFitWhiteSpacePcArg?: number): number; zoomToSelection(): void; zoomToItems(items?: BaseItem[]): void; getScrollBars(): { vertical: number; horizontal: number; }; clearRenderCtx(ctx: HTMLElement): void; abort(): void; /** Releases all resources */ dispose(): void; /** Indicates that the control needs to be refreshed. The actual refreshing is applied when the user does not update the control state (such as scroll position, zoom value) in one second. */ delayedRefresh(): void; protected _refresh(): void; /** Refreshes the control immediately. */ refresh(): void; add_onResize(h: any): void; remove_onResize(h: any): void; add_scrolled(h: any): void; remove_scrolled(h: any): void; add_statusChanged(h: any): void; remove_statusChanged(h: any): void; add_zoomed(h: any): void; remove_zoomed(h: any): void; }