1/* 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Library General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Library General Public License for more details. 13 * 14 * You should have received a copy of the GNU Library General Public License 15 * along with this library; see the file COPYING.LIB. If not, write to 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 * Boston, MA 02110-1301, USA. 18 */ 19 20[ 21 EventConstructor, 22] interface MouseEvent : UIEvent { 23 [InitializedByEventConstructor] readonly attribute long screenX; 24 [InitializedByEventConstructor] readonly attribute long screenY; 25 [InitializedByEventConstructor] readonly attribute long clientX; 26 [InitializedByEventConstructor] readonly attribute long clientY; 27 [InitializedByEventConstructor] readonly attribute boolean ctrlKey; 28 [InitializedByEventConstructor] readonly attribute boolean shiftKey; 29 [InitializedByEventConstructor] readonly attribute boolean altKey; 30 [InitializedByEventConstructor] readonly attribute boolean metaKey; 31 [InitializedByEventConstructor] readonly attribute unsigned short button; 32 [InitializedByEventConstructor] readonly attribute EventTarget? relatedTarget; 33 [MeasureAs=MouseEventMovementX] readonly attribute long movementX; 34 [MeasureAs=MouseEventMovementY] readonly attribute long movementY; 35 [MeasureAs=PrefixedMouseEventMovementX, ImplementedAs=movementX] readonly attribute long webkitMovementX; 36 [MeasureAs=PrefixedMouseEventMovementY, ImplementedAs=movementY] readonly attribute long webkitMovementY; 37 38 void initMouseEvent([Default=Undefined] optional DOMString type, 39 [Default=Undefined] optional boolean canBubble, 40 [Default=Undefined] optional boolean cancelable, 41 [Default=Undefined] optional Window view, 42 [Default=Undefined] optional long detail, 43 [Default=Undefined] optional long screenX, 44 [Default=Undefined] optional long screenY, 45 [Default=Undefined] optional long clientX, 46 [Default=Undefined] optional long clientY, 47 [Default=Undefined] optional boolean ctrlKey, 48 [Default=Undefined] optional boolean altKey, 49 [Default=Undefined] optional boolean shiftKey, 50 [Default=Undefined] optional boolean metaKey, 51 [Default=Undefined] optional unsigned short button, 52 [Default=Undefined] optional EventTarget relatedTarget); 53 54 // Non-standard 55 [MeasureAs=MouseEventOffsetX] readonly attribute long offsetX; 56 [MeasureAs=MouseEventOffsetY] readonly attribute long offsetY; 57 [MeasureAs=MouseEventX] readonly attribute long x; 58 [MeasureAs=MouseEventY] readonly attribute long y; 59 [MeasureAs=MouseEventFromElement] readonly attribute Node fromElement; 60 [MeasureAs=MouseEventToElement] readonly attribute Node toElement; 61 62 // FIXME: this belongs on the DragEvent interface 63 readonly attribute DataTransfer dataTransfer; 64}; 65