import { Point } from "../utils/misc"; import { CameraEventMap, CameraState, UnSubscribe } from "../board-camera/camera-update-publisher"; import { CameraUpdatePublisher } from "../board-camera/camera-update-publisher"; import { Boundaries } from "./utils/position"; import { ZoomLevelLimits } from "./utils/zoom"; import { RotationLimits } from "./utils/rotation"; import { TransformationMatrix } from "./utils/matrix"; /** * @description This is the context centric camera. * * The purpose of this kind of camera is to skip the transformation from view port space to world space when accepting user input. * This is a work in progress class. This is included in the bundle for experimental purposes. Please do not use it in production. * * @category wip */ export declare class ContextCentricCamera { private _contextPosition; private _contextRotation; private _zoomLevel; private _viewPortWidth; private _viewPortHeight; private _observer; private _boundaries; private _zoomBoundaries; private _rotationBoundaries; constructor(position?: Point, rotation?: number, zoomLevel?: number, viewPortWidth?: number, viewPortHeight?: number, observer?: CameraUpdatePublisher, boundaries?: Boundaries, zoomLevelBoundaries?: ZoomLevelLimits, rotationBoundaries?: RotationLimits); get position(): Point; get contextTransform(): { position: Point; rotation: number; zoomLevel: number; }; setPosition(destination: Point): void; setPositionByDelta(delta: Point): void; setPositionWithUserInputDelta(delta: Point): void; getCameraOriginInWindow(centerInWindow: Point): Point; convertFromViewPort2WorldSpace(point: Point): Point; setZoomLevel(zoomLevel: number): void; setRotation(rotation: number): void; get zoomLevel(): number; get rotation(): number; getTransform(canvasWidth: number, canvasHeight: number, devicePixelRatio: number, alignCoorindate: boolean): TransformationMatrix; get viewPortWidth(): number; get viewPortHeight(): number; set viewportWidth(width: number); set viewportHeight(height: number); get zoomBoundaries(): ZoomLevelLimits; get rotationBoundaries(): RotationLimits; viewPortDelta2WorldDelta(delta: Point): Point; setMinZoomLevel(minZoomLevel: number): boolean; setHorizontalBoundaries(min: number, max: number): void; setVerticalBoundaries(min: number, max: number): void; on(eventName: K, callback: (event: CameraEventMap[K], cameraState: CameraState) => void): UnSubscribe; set viewPortWidth(width: number); set viewPortHeight(height: number); }