resium
Version:
React components for Cesium
60 lines (59 loc) • 3.1 kB
TypeScript
import { ScreenSpaceEventHandler, Scene, Cartesian2, Primitive, Entity, PrimitiveCollection, Cesium3DTileFeature, PointPrimitiveCollection, LabelCollection, BillboardCollection, PolylineCollection, PointPrimitive, Label, Billboard, Polyline, TimeDynamicPointCloud, ModelMesh, ModelNode, GroundPolylinePrimitive, GroundPrimitive } from "cesium";
export declare const eventManagerContextKey = "__RESIUM_EVENT_MANAGER";
export declare type EventType = keyof RootEventProps;
export declare type RootEventTarget = Cesium3DTileFeature | {
collection?: PrimitiveCollection | PointPrimitiveCollection | LabelCollection | BillboardCollection | PolylineCollection;
id?: Entity | string;
mesh?: ModelMesh;
node?: ModelNode;
primitive?: Primitive | PointPrimitive | Label | Billboard | Polyline | TimeDynamicPointCloud | GroundPolylinePrimitive | GroundPrimitive;
};
export declare type EventProps<T> = {
onClick?: (movement: CesiumMovementEvent, target: T) => void;
onDoubleClick?: (movement: CesiumMovementEvent, target: T) => void;
onMouseDown?: (movement: CesiumMovementEvent, target: T) => void;
onMouseUp?: (movement: CesiumMovementEvent, target: T) => void;
onMiddleClick?: (movement: CesiumMovementEvent, target: T) => void;
onMiddleDown?: (movement: CesiumMovementEvent, target: T) => void;
onMiddleUp?: (movement: CesiumMovementEvent, target: T) => void;
onMouseMove?: (movement: CesiumMovementEvent, target: T) => void;
onPinchEnd?: (movement: CesiumMovementEvent, target: T) => void;
onPinchMove?: (movement: CesiumMovementEvent, target: T) => void;
onPinchStart?: (movement: CesiumMovementEvent, target: T) => void;
onRightClick?: (movement: CesiumMovementEvent, target: T) => void;
onRightDown?: (movement: CesiumMovementEvent, target: T) => void;
onRightUp?: (movement: CesiumMovementEvent, target: T) => void;
onMouseEnter?: (movement: CesiumMovementEvent, target: T) => void;
onMouseLeave?: (movement: CesiumMovementEvent, target: T) => void;
};
export declare type RootEventProps = EventProps<RootEventTarget> & {
onWheel?: (delta: number) => void;
};
export declare type CesiumMovementEvent = {
position?: Cartesian2;
startPosition?: Cartesian2;
endPosition?: Cartesian2;
};
export declare type Callback<T = any> = (e: CesiumMovementEvent, source: T) => void;
export declare const eventNames: EventType[];
export declare class EventManager {
private static eventTypeMap;
private scene;
private sshe;
private events;
private hovered;
constructor(scene?: Scene);
destroy(): void;
isDestroyed(): boolean;
on(element: any, type: EventType, cb: Callback): void;
off(element: any, type: EventType): void;
setEvents(element: any, props: any): void;
clearEvents(element: any): void;
commit(): void;
getScreenSpaceEventHandler(): ScreenSpaceEventHandler;
private getEventCallback;
private onMouseMove;
private eventCallback;
private pick;
}
export default EventManager;