terra-draw
Version:
Frictionless map drawing across mapping provider
28 lines (27 loc) • 1.64 kB
TypeScript
import { Snapping, TerraDrawMouseEvent, Validation } from "../../../common";
import { BehaviorConfig, TerraDrawModeBehavior } from "../../base.behavior";
import { PixelDistanceBehavior } from "../../pixel-distance.behavior";
import { MidPointBehavior } from "./midpoint.behavior";
import { SelectionPointBehavior } from "./selection-point.behavior";
import { FeatureId } from "../../../store/store";
import { CoordinatePointBehavior } from "./coordinate-point.behavior";
import { CoordinateSnappingBehavior } from "../../coordinate-snapping.behavior";
import { LineSnappingBehavior } from "../../line-snapping.behavior";
export declare class DragCoordinateBehavior extends TerraDrawModeBehavior {
readonly config: BehaviorConfig;
private readonly pixelDistance;
private readonly selectionPoints;
private readonly midPoints;
private readonly coordinatePoints;
private readonly coordinateSnapping;
private readonly lineSnapping;
constructor(config: BehaviorConfig, pixelDistance: PixelDistanceBehavior, selectionPoints: SelectionPointBehavior, midPoints: MidPointBehavior, coordinatePoints: CoordinatePointBehavior, coordinateSnapping: CoordinateSnappingBehavior, lineSnapping: LineSnappingBehavior);
private draggedCoordinate;
private getClosestCoordinate;
getDraggableIndex(event: TerraDrawMouseEvent, selectedId: FeatureId): number;
private snapCoordinate;
drag(event: TerraDrawMouseEvent, allowSelfIntersection: boolean, validateFeature: Validation, snapping: Snapping): boolean;
isDragging(): boolean;
startDragging(id: FeatureId, index: number): void;
stopDragging(): void;
}