import { Generic } from "cmf.core/src/core"; import * as ng from "@angular/core"; import { ZoomAndPanNavigationService } from "./zoomAndPanNavigationService"; /** * @What it does * This directive allows a specific element in the DOM to become panoramic (allowing zoom and pan with the mouse) * * @HotToUse * There must be two Elements. The parent plays the role of the viewport and the child, the role of the paper. * It will allow to have a panoramic view of the paper. Note that the paper must be much bigger than viewport. * IMPORTANT: child element must have this attribute: **cmf-core-controls-zoomAndPan-paper** * * ## Inputs * * ## Outputs * * `{x: number, y: number}` : **localMousePointChange** - Returns the current local mouse point in the paper * * `{x: number, y: number}` : **navigationMapChange** - When the navigation map of the paper changes * * ## Example * * Assume this HTML Template * * ```html * *
*
*
* ``` */ export declare class ZoomAndPanNavigationMap extends Generic implements ng.OnDestroy, ng.AfterViewInit { private el; private _ngZone; private navigationService; private updateNavigationMapSubscription; private image; private viewport; private mouseCurrentX; private mouseCurrentY; private mouseLastX; private mouseLastY; private isMousePressed; /** * Constructor */ constructor(el: ng.ElementRef, _ngZone: ng.NgZone, navigationService: ZoomAndPanNavigationService); /** * Get mouse coordinates */ private getMouseCoordinates; /** * On mouse wheel * @param {MouseEvent} event */ private mouseWheel; /** * On mouse move * @param {MouseEvent} event */ private mouseMove; /** * On mouse down * @param {MouseEvent} event */ private mouseDown; /** * On mouse up * @param {MouseEvent} event */ private mouseUp; /** * Zoom * @param {number} amount */ private setZoom; /** * Drag by * @param {number} x * @param {number} y */ private drag; /** * Update navigation map */ updateNavigationMap: (mapDataURL: string) => void; /** * On component destruction - unsubscribe event. */ ngOnDestroy(): void; /** * After view init */ ngAfterViewInit(): void; } export declare class ZoomAndPanNavigationMapModule { }