/** @packageDocumentation * @module NavigationAids */ import "./DrawingNavigationAid.scss"; import * as React from "react"; import { Matrix3d, Point2d, Point3d, Vector3d } from "@itwin/core-geometry"; import type { IModelConnection, ViewManager, Viewport, ViewState } from "@itwin/core-frontend"; import { ScreenViewport } from "@itwin/core-frontend"; import type { CommonProps } from "@itwin/core-react"; /** * Enum for mode that minimap is currently in * @internal */ export declare enum MapMode { Opened = "map-opened", Closed = "map-closed" } /** Properties for the [[DrawingNavigationAid]] component * @public */ export interface DrawingNavigationAidProps extends CommonProps { iModelConnection: IModelConnection; viewport?: Viewport; /** @internal */ animationTime?: number; /** @internal */ openSize?: Vector3d; /** @internal */ closeSize?: Vector3d; /** @internal */ initialMapMode?: MapMode; /** @internal */ onAnimationEnd?: () => void; /** @internal */ initialRotateMinimapWithView?: boolean; /** @internal */ initialView?: ViewState; /** @internal */ viewManagerOverride?: ViewManager; /** @internal */ screenViewportOverride?: typeof ScreenViewport; } /** @internal */ interface DrawingNavigationAidState { startOrigin: Point3d; origin: Point3d; extents: Vector3d; startRotation: Matrix3d; rotation: Matrix3d; startMapOrigin: Point3d; mapOrigin: Point3d; startMapExtents: Vector3d; mapExtents: Vector3d; mouseStart: Point2d; panningDirection: Vector3d; startDrawingZoom: number; drawingZoom: number; mode: MapMode; animation: number; isMoving: boolean; isPanning: boolean; viewId: string; view: ViewState | undefined; rotateMinimapWithView: boolean; } /** A Drawing Navigation Aid. * @public */ export declare class DrawingNavigationAid extends React.Component { private _rootElement; private _viewContainerElement; private _viewElement; private _rootOffset; private _viewport; private _animationFrame; private _mounted; readonly state: Readonly; constructor(props: DrawingNavigationAidProps); render(): React.ReactNode; private _isViewport3D; private _lastTime; private static _animationFn; private _animation; private _animationEnd; private _lastPanTime; private _panAnimation; componentDidMount(): void; componentWillUnmount(): void; private _handleViewRotationChangeEvent; private _updateFrustum; private _toggleRotationMode; private _handleKeyUp; private _lastClientXY; private _processWindowDrag; private _processWindowEndDrag; private _handleMouseDown; private _handleDrawingMouseDown; private _handleWindowMouseDown; private _handleMouseDrag; private _handleMouseDragEnd; private _handleWindowTouchStart; private _onTouchMove; private _onTouchEnd; /** @internal */ static getDefaultClosedMapSize: () => Vector3d; /** @internal */ static getDefaultOpenedMapSize: (paddingX?: number, paddingY?: number) => Vector3d; private _getClosedMapSize; private _getOpenedMapSize; private _openLargeMap; private _closeLargeMap; private _getPanVector; private _handleWheel; private _handleZoomIn; private _handleZoomOut; private _handleUnrotate; /** @internal */ static findRotatedWindowDimensions: (extents: Vector3d, rotation: Matrix3d) => Vector3d; } /** @internal */ export interface DrawingNavigationCanvasProps { view: ViewState | undefined; viewId?: string; origin: Point3d; extents: Vector3d; zoom: number; rotation: Matrix3d; viewManagerOverride?: ViewManager; screenViewportOverride?: typeof ScreenViewport; canvasSizeOverride?: boolean; } /** @internal */ export declare class DrawingNavigationCanvas extends React.Component { private _canvasElement; private _vp?; render(): React.ReactNode; componentDidMount(): void; private customizeViewport; private _update; componentDidUpdate(oldProps: DrawingNavigationCanvasProps): void; componentWillUnmount(): void; } export {}; //# sourceMappingURL=DrawingNavigationAid.d.ts.map