@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
253 lines (252 loc) • 5.6 kB
TypeScript
import type { PointerInput } from "../DeviceInput/InputDevices/deviceEnums.js";
/**
* Event Types
*/
export declare enum DeviceInputEventType {
/** PointerMove */
PointerMove = 0,
/** PointerDown */
PointerDown = 1,
/** PointerUp */
PointerUp = 2
}
/**
* Native friendly interface for Event Object
*/
export interface IUIEvent {
/**
* Input array index
*/
inputIndex: number;
/**
* Current target for an event
*/
currentTarget?: any;
/**
* Alias for target
* @deprecated Use target instead
*/
srcElement?: any;
/**
* Type of event
*/
type: string;
/**
* Reference to object where object was dispatched
*/
target: any;
/**
* Tells user agent what to do when not explicitly handled
*/
preventDefault: () => void;
}
/**
* Native friendly interface for KeyboardEvent Object
*/
export interface IKeyboardEvent extends IUIEvent {
/**
* Status of Alt key being pressed
*/
altKey: boolean;
/**
* Unicode value of character pressed
* @deprecated Required for event, use keyCode instead.
*/
charCode?: number;
/**
* Code for key based on layout
*/
code: string;
/**
* Status of Ctrl key being pressed
*/
ctrlKey: boolean;
/**
* String representation of key
*/
key: string;
/**
* ASCII value of key
* @deprecated Used with DeviceSourceManager
*/
keyCode: number;
/**
* Status of Meta key (eg. Windows key) being pressed
*/
metaKey: boolean;
/**
* Status of Shift key being pressed
*/
shiftKey: boolean;
}
/**
* Native friendly interface for MouseEvent Object
*/
export interface IMouseEvent extends IUIEvent {
/**
* Subset of possible PointerInput values for events, excluding ones that CANNOT be in events organically
*/
inputIndex: Exclude<PointerInput, PointerInput.Horizontal | PointerInput.Vertical>;
/**
* Status of Alt key being pressed
*/
altKey: boolean;
/**
* Value of single mouse button pressed
*/
button: number;
/**
* Value of all mouse buttons pressed
*/
buttons: number;
/**
* Current X coordinate
*/
clientX: number;
/**
* Current Y coordinate
*/
clientY: number;
/**
* Status of Ctrl key being pressed
*/
ctrlKey: boolean;
/**
* Provides current click count
*/
detail?: number;
/**
* Status of Meta key (eg. Windows key) being pressed
*/
metaKey: boolean;
/**
* Delta of movement on X axis
*/
movementX: number;
/**
* Delta of movement on Y axis
*/
movementY: number;
/**
* Delta of movement on X axis
* @deprecated Use 'movementX' instead
*/
mozMovementX?: number;
/**
* Delta of movement on Y axis
* @deprecated Use 'movementY' instead
*/
mozMovementY?: number;
/**
* Delta of movement on X axis
* @deprecated Use 'movementX' instead
*/
msMovementX?: number;
/**
* Delta of movement on Y axis
* @deprecated Use 'movementY' instead
*/
msMovementY?: number;
/**
* Current coordinate of X within container
*/
offsetX: number;
/**
* Current coordinate of Y within container
*/
offsetY: number;
/**
* Horizontal coordinate of event
*/
pageX: number;
/**
* Vertical coordinate of event
*/
pageY: number;
/**
* Status of Shift key being pressed
*/
shiftKey: boolean;
/**
* Delta of movement on X axis
* @deprecated Use 'movementX' instead
*/
webkitMovementX?: number;
/**
* Delta of movement on Y axis
* @deprecated Use 'movementY' instead
*/
webkitMovementY?: number;
/**
* Alias of clientX
*/
x: number;
/**
* Alias of clientY
*/
y: number;
}
/**
* Native friendly interface for PointerEvent Object
*/
export interface IPointerEvent extends IMouseEvent {
/**
* Subset of possible PointerInput values for events, excluding ones that CANNOT be in events organically and mouse wheel values
*/
inputIndex: Exclude<PointerInput, PointerInput.Horizontal | PointerInput.Vertical | PointerInput.MouseWheelX | PointerInput.MouseWheelY | PointerInput.MouseWheelZ>;
/**
* Pointer Event ID
*/
pointerId: number;
/**
* Type of pointer
*/
pointerType: string;
}
/**
* Native friendly interface for WheelEvent Object
*/
export interface IWheelEvent extends IMouseEvent {
/**
* Subset of possible PointerInput values for events that can only be used with mouse wheel
*/
inputIndex: PointerInput.MouseWheelX | PointerInput.MouseWheelY | PointerInput.MouseWheelZ;
/**
* Units for delta value
*/
deltaMode: number;
/**
* Horizontal scroll delta
*/
deltaX: number;
/**
* Vertical scroll delta
*/
deltaY: number;
/**
* Z-Axis scroll delta
*/
deltaZ: number;
/**
* WheelDelta (From MouseWheel Event)
* @deprecated
*/
wheelDelta?: number;
}
/**
* Constants used for Events
*/
export declare class EventConstants {
/**
* Pixel delta for Wheel Events (Default)
*/
static DOM_DELTA_PIXEL: number;
/**
* Line delta for Wheel Events
*/
static DOM_DELTA_LINE: number;
/**
* Page delta for Wheel Events
*/
static DOM_DELTA_PAGE: number;
}