mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 10:08:10 +00:00

Currently doesn't handle the mouse leaving and entering the window per the spec, and uses clientX/Y instead of screenX/Y. See FIXMEs.
38 lines
1.1 KiB
Text
38 lines
1.1 KiB
Text
// https://w3c.github.io/uievents/#mouseevent
|
|
[Exposed=Window, UseNewAKString]
|
|
interface MouseEvent : UIEvent {
|
|
|
|
readonly attribute double offsetX;
|
|
readonly attribute double offsetY;
|
|
readonly attribute double clientX;
|
|
readonly attribute double clientY;
|
|
readonly attribute double screenX;
|
|
readonly attribute double screenY;
|
|
readonly attribute double x;
|
|
readonly attribute double y;
|
|
readonly attribute double pageX;
|
|
readonly attribute double pageY;
|
|
|
|
// https://w3c.github.io/pointerlock/#extensions-to-the-mouseevent-interface
|
|
readonly attribute double movementX;
|
|
readonly attribute double movementY;
|
|
|
|
readonly attribute short button;
|
|
readonly attribute unsigned short buttons;
|
|
};
|
|
|
|
dictionary MouseEventInit : EventModifierInit {
|
|
|
|
// FIXME: offsetX and offsetY shouldn't be here.
|
|
double offsetX = 0;
|
|
double offsetY = 0;
|
|
double clientX = 0;
|
|
double clientY = 0;
|
|
|
|
// https://w3c.github.io/pointerlock/#extensions-to-the-mouseeventinit-dictionary
|
|
double movementX = 0;
|
|
double movementY = 0;
|
|
|
|
short button = 0;
|
|
|
|
};
|