UNPKG

@glokon/guacamole-common-js

Version:

Guacamole common js with typescript type definitions

114 lines (105 loc) 4.05 kB
import { Event as GuacamoleEvent } from './Event'; import { Position } from './Position'; import { Mouse } from './Mouse'; export {}; /** * An object which can dispatch {@link Mouse.Event} objects * representing mouse events. These mouse events may be produced from an actual * mouse device (as with {@link Mouse}), from an emulated mouse * device (as with {@link Mouse.Touchpad}, or may be programmatically * generated (using functions like [dispatch()]{@link MouseEventTarget#dispatch}, * [press()]{@link MouseEventTarget#press}, and * [release()]{@link MouseEventTarget#release}). */ export class MouseEventTarget extends GuacamoleEvent.Target { /** * The current mouse state. The properties of this state are updated when * mouse events fire. This state object is also passed in as a parameter to * the handler of any mouse events. */ currentState: Mouse.State; /** * Presses the given mouse button, if it isn't already pressed. Valid * button names are defined by {@link Mouse.State.Buttons} and * correspond to the button-related properties of * {@link Mouse.State}. * * @fires MouseEventTarget#mousedown * * @param button * The name of the mouse button to press, as defined by * {@link Mouse.State.Buttons}. * * @param [events=[]] * The DOM events that are related to the mouse button press, if any. */ press(button: Mouse.State.Buttons, events?: Mouse.Event | Mouse.Event[]): void; /** * Releases the given mouse button, if it isn't already released. Valid * button names are defined by {@link Mouse.State.Buttons} and * correspond to the button-related properties of * {@link Mouse.State}. * * @fires MouseEventTarget#mouseup * * @param button * The name of the mouse button to release, as defined by * {@link Mouse.State.Buttons}. * * @param [events=[]] * The DOM events related to the mouse button release, if any. */ release(button: Mouse.State.Buttons, events?: Mouse.Event | Mouse.Event[]): void; /** * Clicks (presses and releases) the given mouse button. Valid button * names are defined by {@link Mouse.State.Buttons} and * correspond to the button-related properties of * {@link Mouse.State}. * * @fires MouseEventTarget#mousedown * @fires MouseEventTarget#mouseup * * @param button * The name of the mouse button to click, as defined by * {@link Mouse.State.Buttons}. * * @param [events=[]] * The DOM events related to the click, if any. */ click(button: Mouse.State.Buttons, events?: Mouse.Event | Mouse.Event[]): void; /** * Moves the mouse to the given coordinates. * * @fires MouseEventTarget#mousemove * * @param {!(Position|object)} position * The new coordinates of the mouse pointer. This object may be a * {@link Position} or any object with "x" and "y" * properties. * * @param {Event|Event[]} [events=[]] * The DOM events related to the mouse movement, if any. */ move(position: Position | object, events?: Mouse.Event | Mouse.Event[]): void; /** * Notifies event listeners that the mouse pointer has left the boundaries * of the area being monitored for mouse events. * * @fires MouseEventTarget#mouseout * * @param [events=[]] * The DOM events related to the mouse leaving the boundaries of the * monitored object, if any. */ out(events?: Mouse.Event | Mouse.Event[]): void; /** * Releases all mouse buttons that are currently pressed. If all mouse * buttons have already been released, this function has no effect. * * @fires MouseEventTarget#mouseup * * @param [events=[]] * The DOM event related to all mouse buttons being released, if any. */ reset(events?: Mouse.Event | Mouse.Event[]): void; }