import { InputCommandBinding, type IPlotController, type IPlotView, type IViewCommand, type IViewCommandG, ManipulatorBase, type OxyInputEventArgs, type OxyInputGesture, type OxyKeyEventArgs, OxyKeyGesture, type OxyMouseDownEventArgs, OxyMouseDownGesture, OxyMouseEnterGesture, type OxyMouseEventArgs, type OxyMouseWheelEventArgs, OxyMouseWheelGesture, type OxyTouchEventArgs, OxyTouchGesture } from '..'; /** * Provides functionality to handle input events. */ export declare abstract class ControllerBase implements IPlotController { /** * The input bindings. * This collection is used to specify the customized input gestures (both key, mouse and touch). */ readonly inputCommandBindings: InputCommandBinding[]; /** * The manipulators that are created by mouse down events. These manipulators are removed when the mouse button is released. */ protected readonly mouseDownManipulators: ManipulatorBase[]; /** * The manipulators that are created by mouse enter events. These manipulators are removed when the mouse leaves the control. */ protected readonly mouseHoverManipulators: ManipulatorBase[]; /** * The manipulators that are created by touch events. These manipulators are removed when the touch gesture is completed. */ protected readonly touchManipulators: ManipulatorBase[]; /** * Initializes a new instance of the ControllerBase class. */ protected constructor(); /** * Handles the specified gesture. * @param view The plot view. * @param gesture The gesture. * @param args The OxyInputEventArgs instance containing the event data. * @returns true if the event was handled. */ handleGesture(view: IPlotView, gesture: OxyInputGesture, args: OxyInputEventArgs): boolean; /** * Handles mouse down events. * @param view The plot view. * @param args The OxyMouseDownEventArgs instance containing the event data. * @returns true if the event was handled. */ handleMouseDown(view: IPlotView, args: OxyMouseDownEventArgs): boolean; /** * Handles mouse enter events. * @param view The plot view. * @param args The OxyMouseEventArgs instance containing the event data. * @returns true if the event was handled. */ handleMouseEnter(view: IPlotView, args: OxyMouseEventArgs): boolean; /** * Handles mouse leave events. * @param view The plot view. * @param args The OxyMouseEventArgs instance containing the event data. * @returns true if the event was handled. */ handleMouseLeave(view: IPlotView, args: OxyMouseEventArgs): boolean; /** * Handles mouse move events. * @param view The plot view. * @param args The OxyMouseEventArgs instance containing the event data. * @returns true if the event was handled. */ handleMouseMove(view: IPlotView, args: OxyMouseEventArgs): boolean; /** * Handles mouse up events. * @param view The plot view. * @param args The OxyMouseEventArgs instance containing the event data. * @returns true if the event was handled. */ handleMouseUp(view: IPlotView, args: OxyMouseEventArgs): boolean; /** * Handles mouse wheel events. * @param view The plot view. * @param args The OxyMouseWheelEventArgs instance containing the event data. * @returns true if the event was handled. */ handleMouseWheel(view: IPlotView, args: OxyMouseWheelEventArgs): boolean; /** * Handles touch started events. * @param view The plot view. * @param args The OxyTouchEventArgs instance containing the event data. * @returns true if the event was handled. */ handleTouchStarted(view: IPlotView, args: OxyTouchEventArgs): boolean; /** * Handles touch delta events. * @param view The plot view. * @param args The OxyTouchEventArgs instance containing the event data. * @returns true if the event was handled. */ handleTouchDelta(view: IPlotView, args: OxyTouchEventArgs): boolean; /** * Handles touch completed events. * @param view The plot view. * @param args The OxyTouchEventArgs instance containing the event data. * @returns true if the event was handled. */ handleTouchCompleted(view: IPlotView, args: OxyTouchEventArgs): boolean; /** * Handles key down events. * @param view The plot view. * @param args The OxyKeyEventArgs instance containing the event data. * @returns true if the event was handled. */ handleKeyDown(view: IPlotView, args: OxyKeyEventArgs): boolean; /** * Adds the specified mouse manipulator and invokes the MouseManipulator.started method with the specified mouse down event arguments. * @param view The plot view. * @param manipulator The manipulator to add. * @param args The OxyMouseDownEventArgs instance containing the event data. */ addMouseManipulator(view: IPlotView, manipulator: ManipulatorBase, args: OxyMouseDownEventArgs): void; /** * Adds the specified mouse hover manipulator and invokes the MouseManipulator.started method with the specified mouse event arguments. * @param view The plot view. * @param manipulator The manipulator. * @param args The OxyMouseEventArgs instance containing the event data. */ addHoverManipulator(view: IPlotView, manipulator: ManipulatorBase, args: OxyMouseEventArgs): void; /** * Adds the specified mouse hover manipulator and invokes the TouchManipulator.started method with the specified mouse event arguments. * @param view The plot view. * @param manipulator The manipulator. * @param args The OxyTouchEventArgs instance containing the event data. */ addTouchManipulator(view: IPlotView, manipulator: ManipulatorBase, args: OxyTouchEventArgs): void; /** * Binds the specified command to the specified mouse gesture. Removes old bindings to the gesture. * @param gesture The gesture. * @param command The command. If undefined, the binding will be removed. */ bindMouseDown(gesture: OxyMouseDownGesture, command: IViewCommandG): void; /** * Binds the specified command to the specified mouse enter gesture. Removes old bindings to the gesture. * @param gesture The gesture. * @param command The command. If undefined, the binding will be removed. */ bindMouseEnter(gesture: OxyMouseEnterGesture, command: IViewCommandG | undefined): void; /** * Binds the specified command to the specified mouse wheel gesture. Removes old bindings to the gesture. * @param gesture The gesture. * @param command The command. If undefined, the binding will be removed. */ bindMouseWheel(gesture: OxyMouseWheelGesture, command: IViewCommandG | undefined): void; /** * Binds the specified command to the specified touch gesture. Removes old bindings to the gesture. * @param gesture The gesture. * @param command The command. If undefined, the binding will be removed. */ bindTouch(gesture: OxyTouchGesture, command: IViewCommandG | undefined): void; /** * Binds the specified command to the specified key gesture. Removes old bindings to the gesture. * @param gesture The gesture. * @param command The command. If undefined, the binding will be removed. */ bindKey(gesture: OxyKeyGesture, command: IViewCommandG | undefined): void; /** * Unbinds the specified gesture. * @param gesture The gesture to unbind. */ unbindInput(gesture: OxyInputGesture): void; /** * Unbinds the specified command from all gestures. * @param command The command to unbind. */ unbindViewCommand(command: IViewCommand): void; /** * Unbinds all commands. */ unbindAll(): void; /** * Binds the specified command to the specified gesture. Removes old bindings to the gesture. * @param gesture The gesture. * @param command The command. If undefined, the binding will be removed. * This method was created to avoid calling a virtual method in the constructor. */ protected bindCore(gesture: OxyInputGesture, command: IViewCommand | undefined): void; /** * Gets the command for the specified OxyInputGesture. * @param gesture The input gesture. * @returns A command. */ protected getCommand(gesture: OxyInputGesture): IViewCommand | undefined; /** * Handles a command triggered by an input gesture. * @param command The command. * @param view The plot view. * @param args The OxyInputEventArgs instance containing the event data. * @returns true if the command was handled. */ protected handleCommand(command: IViewCommand | undefined, view: IPlotView, args: OxyInputEventArgs): boolean; } //# sourceMappingURL=ControllerBase.d.ts.map