leaflet
Version:
JavaScript library for mobile-friendly interactive maps
45 lines (44 loc) • 1.56 kB
TypeScript
import { Handler } from '../../core/Handler.js';
import { Draggable } from '../../dom/Draggable.js';
import { Bounds } from '../../geometry/Bounds.js';
import type { DragEndEvent, LeafletEvent } from '../../types.js';
import type { Point } from '../../geometry/Point.js';
/** @import {DragEndEvent, LeafletEvent} from '../../types.js' */
/** @import {Point} from '../../geometry/Point.js' */
export declare class DragHandler extends Handler {
/** @type {Draggable} */
_draggable: Draggable;
/** @type {Point[]} */
_positions: Point[];
/** @type {number[]} */
_times: number[];
/** @type {Bounds | null} */
_offsetLimit: Bounds | null;
/** @type {number} */
_viscosity: number;
/** @type {number} */
_lastTime: number;
/** @type {Point} */
_lastPos: Point;
addHooks(): void;
removeHooks(): void;
/** Returns `true` if the current or last drag moved the map, e.g. to ignore the click that ends a drag. */
moved(): boolean | undefined;
/** Returns `true` while the map is being dragged. */
moving(): boolean | undefined;
_onDown(): void;
_onDragStart(): void;
/** @param {LeafletEvent} e */
_onDrag(e: LeafletEvent): void;
/** @param {number} time */
_prunePositions(time: number): void;
/**
* @param {number} value
* @param {number} threshold
*/
_viscousLimit(value: number, threshold: number): number;
_onPreDragLimit(): void;
_onPreDragWrap(): void;
/** @param {DragEndEvent} e */
_onDragEnd(e: DragEndEvent): void;
}