summaryrefslogtreecommitdiffstats
path: root/dom/webidl/MouseEvent.webidl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/webidl/MouseEvent.webidl')
-rw-r--r--dom/webidl/MouseEvent.webidl114
1 files changed, 114 insertions, 0 deletions
diff --git a/dom/webidl/MouseEvent.webidl b/dom/webidl/MouseEvent.webidl
new file mode 100644
index 000000000..d21354801
--- /dev/null
+++ b/dom/webidl/MouseEvent.webidl
@@ -0,0 +1,114 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * For more information on this interface please see
+ * http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html
+ *
+ * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
+ * liability, trademark and document use rules apply.
+ */
+
+[Constructor(DOMString typeArg, optional MouseEventInit mouseEventInitDict)]
+interface MouseEvent : UIEvent {
+ readonly attribute long screenX;
+ readonly attribute long screenY;
+ readonly attribute long clientX;
+ readonly attribute long clientY;
+ readonly attribute long offsetX;
+ readonly attribute long offsetY;
+ readonly attribute boolean ctrlKey;
+ readonly attribute boolean shiftKey;
+ readonly attribute boolean altKey;
+ readonly attribute boolean metaKey;
+ readonly attribute short button;
+ readonly attribute unsigned short buttons;
+ readonly attribute EventTarget? relatedTarget;
+ readonly attribute DOMString? region;
+
+ // Pointer Lock
+ readonly attribute long movementX;
+ readonly attribute long movementY;
+
+ // Deprecated in DOM Level 3:
+ void initMouseEvent(DOMString typeArg,
+ boolean canBubbleArg,
+ boolean cancelableArg,
+ Window? viewArg,
+ long detailArg,
+ long screenXArg,
+ long screenYArg,
+ long clientXArg,
+ long clientYArg,
+ boolean ctrlKeyArg,
+ boolean altKeyArg,
+ boolean shiftKeyArg,
+ boolean metaKeyArg,
+ short buttonArg,
+ EventTarget? relatedTargetArg);
+ // Introduced in DOM Level 3:
+ boolean getModifierState(DOMString keyArg);
+};
+
+// Suggested initMouseEvent replacement initializer:
+dictionary MouseEventInit : EventModifierInit {
+ // Attributes for MouseEvent:
+ long screenX = 0;
+ long screenY = 0;
+ long clientX = 0;
+ long clientY = 0;
+ short button = 0;
+ // Note: "buttons" was not previously initializable through initMouseEvent!
+ unsigned short buttons = 0;
+ EventTarget? relatedTarget = null;
+
+ // Pointer Lock
+ long movementX = 0;
+ long movementY = 0;
+};
+
+// Mozilla extensions
+partial interface MouseEvent
+{
+ [BinaryName="movementX", Pref="pointer-lock-api.prefixed.enabled"]
+ readonly attribute long mozMovementX;
+ [BinaryName="movementY", Pref="pointer-lock-api.prefixed.enabled"]
+ readonly attribute long mozMovementY;
+
+ // Finger or touch pressure event value
+ // ranges between 0.0 and 1.0
+ readonly attribute float mozPressure;
+
+ const unsigned short MOZ_SOURCE_UNKNOWN = 0;
+ const unsigned short MOZ_SOURCE_MOUSE = 1;
+ const unsigned short MOZ_SOURCE_PEN = 2;
+ const unsigned short MOZ_SOURCE_ERASER = 3;
+ const unsigned short MOZ_SOURCE_CURSOR = 4;
+ const unsigned short MOZ_SOURCE_TOUCH = 5;
+ const unsigned short MOZ_SOURCE_KEYBOARD = 6;
+
+ readonly attribute unsigned short mozInputSource;
+
+ void initNSMouseEvent(DOMString typeArg,
+ boolean canBubbleArg,
+ boolean cancelableArg,
+ Window? viewArg,
+ long detailArg,
+ long screenXArg,
+ long screenYArg,
+ long clientXArg,
+ long clientYArg,
+ boolean ctrlKeyArg,
+ boolean altKeyArg,
+ boolean shiftKeyArg,
+ boolean metaKeyArg,
+ short buttonArg,
+ EventTarget? relatedTargetArg,
+ float pressure,
+ unsigned short inputSourceArg);
+ [ChromeOnly]
+ readonly attribute boolean hitCluster; // True when touch occurs in a cluster of links
+
+};
+