UNPKG

terra-draw

Version:

Frictionless map drawing across mapping provider

72 lines (71 loc) 2.66 kB
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColorStyling, NumericStyling, Cursor, DashArrayStyling } from "../../common"; import { BaseModeOptions, CustomStyling, ModeUpdateOptions, TerraDrawBaseDrawMode } from "../base.mode"; import { GeoJSONStoreFeatures, StoreValidation } from "../../store/store"; import { BehaviorConfig } from "../base.behavior"; type TerraDrawFreehandLineStringModeKeyEvents = { cancel: KeyboardEvent["key"] | null; finish: KeyboardEvent["key"] | null; }; type FreehandLineStringStyling = { lineStringWidth: NumericStyling; lineStringColor: HexColorStyling; lineStringOpacity: NumericStyling; lineStringDash: DashArrayStyling; closingPointColor: HexColorStyling; closingPointOpacity: NumericStyling; closingPointWidth: NumericStyling; closingPointOutlineColor: HexColorStyling; closingPointOutlineWidth: NumericStyling; closingPointOutlineOpacity: NumericStyling; }; interface Cursors { start?: Cursor; close?: Cursor; } interface TerraDrawFreehandLineStringModeOptions<T extends CustomStyling> extends BaseModeOptions<T> { minDistance?: number; keyEvents?: TerraDrawFreehandLineStringModeKeyEvents | null; cursors?: Cursors; } export declare class TerraDrawFreehandLineStringMode extends TerraDrawBaseDrawMode<FreehandLineStringStyling> { mode: string; private canClose; private currentId; private minDistance; private keyEvents; private cursors; private preventNewFeature; private mutateFeature; private readFeature; private pixelDistance; private closingPoints; constructor(options?: TerraDrawFreehandLineStringModeOptions<FreehandLineStringStyling>); updateOptions(options?: ModeUpdateOptions<TerraDrawFreehandLineStringModeOptions<FreehandLineStringStyling>>): void; private close; /** @internal */ start(): void; /** @internal */ stop(): void; /** @internal */ onMouseMove(event: TerraDrawMouseEvent): void; /** @internal */ onClick(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; afterFeatureUpdated(feature: GeoJSONStoreFeatures): void; registerBehaviors(config: BehaviorConfig): void; } export {};