1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/webidl/MouseEvent.webidl Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,118 @@ 1.4 +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1.5 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. 1.8 + * 1.9 + * For more information on this interface please see 1.10 + * http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html 1.11 + * 1.12 + * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C 1.13 + * liability, trademark and document use rules apply. 1.14 + */ 1.15 + 1.16 +interface MouseEvent : UIEvent { 1.17 + readonly attribute long screenX; 1.18 + readonly attribute long screenY; 1.19 + readonly attribute long clientX; 1.20 + readonly attribute long clientY; 1.21 + readonly attribute boolean ctrlKey; 1.22 + readonly attribute boolean shiftKey; 1.23 + readonly attribute boolean altKey; 1.24 + readonly attribute boolean metaKey; 1.25 + readonly attribute short button; 1.26 + readonly attribute unsigned short buttons; 1.27 + readonly attribute EventTarget? relatedTarget; 1.28 + // Deprecated in DOM Level 3: 1.29 + [Throws] 1.30 + void initMouseEvent(DOMString typeArg, 1.31 + boolean canBubbleArg, 1.32 + boolean cancelableArg, 1.33 + WindowProxy? viewArg, 1.34 + long detailArg, 1.35 + long screenXArg, 1.36 + long screenYArg, 1.37 + long clientXArg, 1.38 + long clientYArg, 1.39 + boolean ctrlKeyArg, 1.40 + boolean altKeyArg, 1.41 + boolean shiftKeyArg, 1.42 + boolean metaKeyArg, 1.43 + short buttonArg, 1.44 + EventTarget? relatedTargetArg); 1.45 + // Introduced in DOM Level 3: 1.46 + boolean getModifierState(DOMString keyArg); 1.47 +}; 1.48 + 1.49 + 1.50 +// Event Constructor Syntax: 1.51 +[Constructor(DOMString typeArg, optional MouseEventInit mouseEventInitDict)] 1.52 +partial interface MouseEvent 1.53 +{ 1.54 +}; 1.55 + 1.56 +// Suggested initMouseEvent replacement initializer: 1.57 +dictionary MouseEventInit { 1.58 + // Attributes from Event: 1.59 + boolean bubbles = false; 1.60 + boolean cancelable = false; 1.61 + 1.62 + // Attributes from UIEvent: 1.63 + WindowProxy? view = null; 1.64 + long detail = 0; 1.65 + 1.66 + // Attributes for MouseEvent: 1.67 + long screenX = 0; 1.68 + long screenY = 0; 1.69 + long clientX = 0; 1.70 + long clientY = 0; 1.71 + boolean ctrlKey = false; 1.72 + boolean shiftKey = false; 1.73 + boolean altKey = false; 1.74 + boolean metaKey = false; 1.75 + short button = 0; 1.76 + // Note: "buttons" was not previously initializable through initMouseEvent! 1.77 + unsigned short buttons = 0; 1.78 + EventTarget? relatedTarget = null; 1.79 +}; 1.80 + 1.81 +// Mozilla extensions 1.82 +partial interface MouseEvent 1.83 +{ 1.84 + readonly attribute long mozMovementX; 1.85 + readonly attribute long mozMovementY; 1.86 + 1.87 + // Finger or touch pressure event value 1.88 + // ranges between 0.0 and 1.0 1.89 + readonly attribute float mozPressure; 1.90 + 1.91 + const unsigned short MOZ_SOURCE_UNKNOWN = 0; 1.92 + const unsigned short MOZ_SOURCE_MOUSE = 1; 1.93 + const unsigned short MOZ_SOURCE_PEN = 2; 1.94 + const unsigned short MOZ_SOURCE_ERASER = 3; 1.95 + const unsigned short MOZ_SOURCE_CURSOR = 4; 1.96 + const unsigned short MOZ_SOURCE_TOUCH = 5; 1.97 + const unsigned short MOZ_SOURCE_KEYBOARD = 6; 1.98 + 1.99 + readonly attribute unsigned short mozInputSource; 1.100 + 1.101 + [Throws] 1.102 + void initNSMouseEvent(DOMString typeArg, 1.103 + boolean canBubbleArg, 1.104 + boolean cancelableArg, 1.105 + WindowProxy? viewArg, 1.106 + long detailArg, 1.107 + long screenXArg, 1.108 + long screenYArg, 1.109 + long clientXArg, 1.110 + long clientYArg, 1.111 + boolean ctrlKeyArg, 1.112 + boolean altKeyArg, 1.113 + boolean shiftKeyArg, 1.114 + boolean metaKeyArg, 1.115 + short buttonArg, 1.116 + EventTarget? relatedTargetArg, 1.117 + float pressure, 1.118 + unsigned short inputSourceArg); 1.119 + 1.120 +}; 1.121 +