@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
85 lines (84 loc) • 2.32 kB
TypeScript
import { Style } from 'ol/style';
export declare enum DrawingShape {
Point = 0,
Polyline = 1,
Polygon = 2,
Square = 3,
Rectangle = 4,
Disk = 5,
FreehandPolyline = 6,
FreehandPolygon = 7
}
export declare class DrawingState {
activeTool: DrawingShape | null;
features: DrawingFeature[];
}
export type SerializedFeature = {
n: string;
sc: string;
sw: number;
fc: string;
nfz: number;
mfz: number;
f: string;
g: object;
dn: boolean;
dm: boolean;
nc: string;
mc: string;
s: boolean;
t: DrawingShape;
};
export default class DrawingFeature {
private _tool;
private _name;
private _nameColor;
private _strokeColor;
private _strokeWidth;
private _fillColor;
private _nameFontSize;
private _measureFontSize;
private _measureColor;
private _font;
private _displayName;
private _displayMeasure;
private _selected;
geojson: object;
id: string;
onChange: (f: DrawingFeature) => void;
constructor(tool: DrawingShape, geojson?: object, name?: string | null);
get name(): string;
set name(v: string);
get strokeColor(): string;
set strokeColor(v: string);
get strokeWidth(): number;
set strokeWidth(v: number);
get fillColor(): string;
set fillColor(v: string);
get nameFontSize(): number;
set nameFontSize(v: number);
get measureFontSize(): number;
set measureFontSize(v: number);
get font(): string;
set font(v: string);
get displayName(): boolean;
set displayName(v: boolean);
get displayMeasure(): boolean;
set displayMeasure(v: boolean);
get nameColor(): string;
set nameColor(v: string);
get measureColor(): string;
set measureColor(v: string);
get type(): DrawingShape;
get selected(): boolean;
set selected(v: boolean);
addToState(): void;
serialize(): SerializedFeature;
getLengthText(length: number): string;
getAreaText(area: number): string;
getCoordText(coord: number[]): string;
isPointOrPolyline(): boolean;
getVertexStyle(activeNode?: boolean): Style;
static deserialize(serializedFeature: SerializedFeature): DrawingFeature;
static circleToPolygon(center: number[], radius: number, nbEdges?: number): number[][];
}