leaflet-polydraw
Version:
Advanced Leaflet plugin for freehand polygon drawing, with smart merging and powerful editing tools. Compatible with both Leaflet v1.x and v2.x.
45 lines • 1.38 kB
TypeScript
/**
* Types and enums for polygon transform mode (Leaflet v1/v2 compatible).
*/
import type * as L from 'leaflet';
export declare enum TransformHandleType {
TopLeft = "top-left",
Top = "top",
TopRight = "top-right",
Right = "right",
BottomRight = "bottom-right",
Bottom = "bottom",
BottomLeft = "bottom-left",
Left = "left",
Rotate = "rotate",
Pivot = "pivot"
}
export type PixelPoint = {
x: number;
y: number;
};
export type TransformHandleEvent = MouseEvent | TouchEvent | PointerEvent;
export interface PixelBBox {
minX: number;
minY: number;
maxX: number;
maxY: number;
}
export interface TransformState {
isActive: boolean;
originalLatLngs: L.LatLng[] | L.LatLng[][] | L.LatLng[][][];
originalPixelRings: PixelPoint[][][];
pivot: PixelPoint;
scaleX: number;
scaleY: number;
rotation: number;
uniformScale: boolean;
snapRotation: boolean;
scaleFromPivot: boolean;
}
export interface TransformOverlayCallbacks {
onStartHandleDrag: (type: TransformHandleType, start: PixelPoint, evt: TransformHandleEvent) => void;
onDragHandle: (type: TransformHandleType, current: PixelPoint, evt: TransformHandleEvent) => void;
onEndHandleDrag: (type: TransformHandleType, end: PixelPoint, evt: TransformHandleEvent) => void;
}
//# sourceMappingURL=transform-types.d.ts.map