UNPKG

@niuee/board

Version:

<h1 align="center"> board </h1> <p align="center"> board supercharges your html canvas element giving it the capabilities to pan, zoom, rotate, and much more. </p> <p align="center"> <a href="https://www.npmjs.com/package/@niuee/board">

57 lines (56 loc) 2.65 kB
import { Point } from "../../util/misc"; import { CameraEventMap, CameraState, UnSubscribe } from "../../camera-update-publisher"; import { CameraUpdatePublisher } from "../../camera-update-publisher"; import { Boundaries } from "../utils/position"; import { ZoomLevelLimits } from "../utils/zoom"; import { RotationLimits } from "../utils/rotation"; import { TransformMatrix } 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): TransformMatrix; 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<K extends keyof CameraEventMap>(eventName: K, callback: (event: CameraEventMap[K], cameraState: CameraState) => void): UnSubscribe; set viewPortWidth(width: number); set viewPortHeight(height: number); }