UNPKG

terra-draw

Version:

Frictionless map drawing across mapping provider

57 lines (56 loc) 1.95 kB
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColorStyling, NumericStyling, Cursor } from "../../common"; import { GeoJSONStoreFeatures, StoreValidation } from "../../store/store"; import { BaseModeOptions, CustomStyling, TerraDrawBaseDrawMode } from "../base.mode"; type TerraDrawRectangleModeKeyEvents = { cancel: KeyboardEvent["key"] | null; finish: KeyboardEvent["key"] | null; }; type RectanglePolygonStyling = { fillColor: HexColorStyling; outlineColor: HexColorStyling; outlineWidth: NumericStyling; fillOpacity: NumericStyling; }; interface Cursors { start?: Cursor; } interface TerraDrawRectangleModeOptions<T extends CustomStyling> extends BaseModeOptions<T> { keyEvents?: TerraDrawRectangleModeKeyEvents | null; cursors?: Cursors; } export declare class TerraDrawRectangleMode extends TerraDrawBaseDrawMode<RectanglePolygonStyling> { mode: "rectangle"; private center; private clickCount; private currentRectangleId; private keyEvents; private cursors; constructor(options?: TerraDrawRectangleModeOptions<RectanglePolygonStyling>); updateOptions(options?: TerraDrawRectangleModeOptions<RectanglePolygonStyling>): void; private updateRectangle; private close; /** @internal */ start(): void; /** @internal */ stop(): void; /** @internal */ onClick(event: TerraDrawMouseEvent): void; /** @internal */ onMouseMove(event: TerraDrawMouseEvent): void; /** @internal */ onKeyDown(): void; /** @internal */ onKeyUp(event: TerraDrawKeyboardEvent): void; /** @internal */ onDragStart(): void; /** @internal */ onDrag(): void; /** @internal */ onDragEnd(): void; /** @internal */ cleanUp(): void; /** @internal */ styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling; validateFeature(feature: unknown): StoreValidation; } export {};