1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
/* -*- 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
* https://drafts.csswg.org/cssom-view/#extensions-to-the-mouseevent-interface
*
* Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
* liability, trademark and document use rules apply.
*/
interface nsIScreen;
[Exposed=Window]
interface MouseEvent : UIEvent {
constructor(DOMString typeArg,
optional MouseEventInit mouseEventInitDict = {});
[NeedsCallerType]
readonly attribute double screenX;
[NeedsCallerType]
readonly attribute double screenY;
[ChromeOnly]
readonly attribute nsIScreen? screen;
readonly attribute double pageX;
readonly attribute double pageY;
readonly attribute double clientX;
readonly attribute double clientY;
[BinaryName="clientX"]
readonly attribute double x;
[BinaryName="clientY"]
readonly attribute double y;
readonly attribute double offsetX;
readonly attribute double 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;
// Pointer Lock
readonly attribute long movementX;
readonly attribute long movementY;
// Deprecated in DOM Level 3:
[Deprecated="InitMouseEvent"]
undefined initMouseEvent(DOMString typeArg,
optional boolean canBubbleArg = false,
optional boolean cancelableArg = false,
optional Window? viewArg = null,
optional long detailArg = 0,
optional long screenXArg = 0,
optional long screenYArg = 0,
optional long clientXArg = 0,
optional long clientYArg = 0,
optional boolean ctrlKeyArg = false,
optional boolean altKeyArg = false,
optional boolean shiftKeyArg = false,
optional boolean metaKeyArg = false,
optional short buttonArg = 0,
optional EventTarget? relatedTargetArg = null);
// Introduced in DOM Level 3:
boolean getModifierState(DOMString keyArg);
[ChromeOnly]
// The event that triggered this event.
// This will be available for popupshowing event only.
readonly attribute Event? triggerEvent;
};
// Suggested initMouseEvent replacement initializer:
dictionary MouseEventInit : EventModifierInit {
// Attributes for MouseEvent:
double screenX = 0.0;
double screenY = 0.0;
double clientX = 0.0;
double clientY = 0.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
{
// Finger or touch pressure event value
// ranges between 0.0 and 1.0
// TODO: Remove mozPressure. (bug 1534199)
[NeedsCallerType, Deprecated="MouseEvent_MozPressure"]
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;
[NeedsCallerType, ChromeOnly]
readonly attribute unsigned short inputSource;
[NeedsCallerType, Deprecated="MozInputSource", BinaryName="inputSource"]
readonly attribute unsigned short mozInputSource;
// TODO: Remove initNSMouseEvent. (bug 1165213)
[Deprecated="InitNSMouseEvent"]
undefined initNSMouseEvent(DOMString typeArg,
optional boolean canBubbleArg = false,
optional boolean cancelableArg = false,
optional Window? viewArg = null,
optional long detailArg = 0,
optional long screenXArg = 0,
optional long screenYArg = 0,
optional long clientXArg = 0,
optional long clientYArg = 0,
optional boolean ctrlKeyArg = false,
optional boolean altKeyArg = false,
optional boolean shiftKeyArg = false,
optional boolean metaKeyArg = false,
optional short buttonArg = 0,
optional EventTarget? relatedTargetArg = null,
optional float pressure = 0,
optional unsigned short inputSourceArg = 0);
/**
* preventClickEvent() prevents the following "click", "auxclick" and
* "dblclick" events of "mousedown" and "mouseup" events.
*/
[ChromeOnly]
undefined preventClickEvent();
/**
* Returns true if the following "click", "auxclick" and "dblclick"
* events of "mousedown" and "mouseup" events are prevented.
*/
[ChromeOnly]
boolean clickEventPrevented();
};
|