|
1 /* |
|
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
|
3 * |
|
4 * This code is free software; you can redistribute it and/or modify it |
|
5 * under the terms of the GNU General Public License version 2 only, as |
|
6 * published by the Free Software Foundation. Sun designates this |
|
7 * particular file as subject to the "Classpath" exception as provided |
|
8 * by Sun in the LICENSE file that accompanied this code. |
|
9 * |
|
10 * This code is distributed in the hope that it will be useful, but WITHOUT |
|
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
13 * version 2 for more details (a copy is included in the LICENSE file that |
|
14 * accompanied this code). |
|
15 * |
|
16 * You should have received a copy of the GNU General Public License version |
|
17 * 2 along with this work; if not, write to the Free Software Foundation, |
|
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
19 * |
|
20 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
|
21 * CA 95054 USA or visit www.sun.com if you need additional information or |
|
22 * have any questions. |
|
23 */ |
|
24 |
|
25 /* |
|
26 * This file is available under and governed by the GNU General Public |
|
27 * License version 2 only, as published by the Free Software Foundation. |
|
28 * However, the following notice accompanied the original version of this |
|
29 * file and, per its terms, should not be removed: |
|
30 * |
|
31 * Copyright (c) 2000 World Wide Web Consortium, |
|
32 * (Massachusetts Institute of Technology, Institut National de |
|
33 * Recherche en Informatique et en Automatique, Keio University). All |
|
34 * Rights Reserved. This program is distributed under the W3C's Software |
|
35 * Intellectual Property License. This program is distributed in the |
|
36 * hope that it will be useful, but WITHOUT ANY WARRANTY; without even |
|
37 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR |
|
38 * PURPOSE. |
|
39 * See W3C License http://www.w3.org/Consortium/Legal/ for more details. |
|
40 */ |
|
41 |
|
42 package org.w3c.dom.events; |
|
43 |
|
44 import org.w3c.dom.views.AbstractView; |
|
45 |
|
46 /** |
|
47 * The <code>MouseEvent</code> interface provides specific contextual |
|
48 * information associated with Mouse events. |
|
49 * <p>The <code>detail</code> attribute inherited from <code>UIEvent</code> |
|
50 * indicates the number of times a mouse button has been pressed and |
|
51 * released over the same screen location during a user action. The |
|
52 * attribute value is 1 when the user begins this action and increments by 1 |
|
53 * for each full sequence of pressing and releasing. If the user moves the |
|
54 * mouse between the mousedown and mouseup the value will be set to 0, |
|
55 * indicating that no click is occurring. |
|
56 * <p>In the case of nested elements mouse events are always targeted at the |
|
57 * most deeply nested element. Ancestors of the targeted element may use |
|
58 * bubbling to obtain notification of mouse events which occur within its |
|
59 * descendent elements. |
|
60 * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>. |
|
61 * @since DOM Level 2 |
|
62 */ |
|
63 public interface MouseEvent extends UIEvent { |
|
64 /** |
|
65 * The horizontal coordinate at which the event occurred relative to the |
|
66 * origin of the screen coordinate system. |
|
67 */ |
|
68 public int getScreenX(); |
|
69 |
|
70 /** |
|
71 * The vertical coordinate at which the event occurred relative to the |
|
72 * origin of the screen coordinate system. |
|
73 */ |
|
74 public int getScreenY(); |
|
75 |
|
76 /** |
|
77 * The horizontal coordinate at which the event occurred relative to the |
|
78 * DOM implementation's client area. |
|
79 */ |
|
80 public int getClientX(); |
|
81 |
|
82 /** |
|
83 * The vertical coordinate at which the event occurred relative to the DOM |
|
84 * implementation's client area. |
|
85 */ |
|
86 public int getClientY(); |
|
87 |
|
88 /** |
|
89 * Used to indicate whether the 'ctrl' key was depressed during the firing |
|
90 * of the event. |
|
91 */ |
|
92 public boolean getCtrlKey(); |
|
93 |
|
94 /** |
|
95 * Used to indicate whether the 'shift' key was depressed during the |
|
96 * firing of the event. |
|
97 */ |
|
98 public boolean getShiftKey(); |
|
99 |
|
100 /** |
|
101 * Used to indicate whether the 'alt' key was depressed during the firing |
|
102 * of the event. On some platforms this key may map to an alternative |
|
103 * key name. |
|
104 */ |
|
105 public boolean getAltKey(); |
|
106 |
|
107 /** |
|
108 * Used to indicate whether the 'meta' key was depressed during the firing |
|
109 * of the event. On some platforms this key may map to an alternative |
|
110 * key name. |
|
111 */ |
|
112 public boolean getMetaKey(); |
|
113 |
|
114 /** |
|
115 * During mouse events caused by the depression or release of a mouse |
|
116 * button, <code>button</code> is used to indicate which mouse button |
|
117 * changed state. The values for <code>button</code> range from zero to |
|
118 * indicate the left button of the mouse, one to indicate the middle |
|
119 * button if present, and two to indicate the right button. For mice |
|
120 * configured for left handed use in which the button actions are |
|
121 * reversed the values are instead read from right to left. |
|
122 */ |
|
123 public short getButton(); |
|
124 |
|
125 /** |
|
126 * Used to identify a secondary <code>EventTarget</code> related to a UI |
|
127 * event. Currently this attribute is used with the mouseover event to |
|
128 * indicate the <code>EventTarget</code> which the pointing device |
|
129 * exited and with the mouseout event to indicate the |
|
130 * <code>EventTarget</code> which the pointing device entered. |
|
131 */ |
|
132 public EventTarget getRelatedTarget(); |
|
133 |
|
134 /** |
|
135 * The <code>initMouseEvent</code> method is used to initialize the value |
|
136 * of a <code>MouseEvent</code> created through the |
|
137 * <code>DocumentEvent</code> interface. This method may only be called |
|
138 * before the <code>MouseEvent</code> has been dispatched via the |
|
139 * <code>dispatchEvent</code> method, though it may be called multiple |
|
140 * times during that phase if necessary. If called multiple times, the |
|
141 * final invocation takes precedence. |
|
142 * @param typeArg Specifies the event type. |
|
143 * @param canBubbleArg Specifies whether or not the event can bubble. |
|
144 * @param cancelableArg Specifies whether or not the event's default |
|
145 * action can be prevented. |
|
146 * @param viewArg Specifies the <code>Event</code>'s |
|
147 * <code>AbstractView</code>. |
|
148 * @param detailArg Specifies the <code>Event</code>'s mouse click count. |
|
149 * @param screenXArg Specifies the <code>Event</code>'s screen x |
|
150 * coordinate |
|
151 * @param screenYArg Specifies the <code>Event</code>'s screen y |
|
152 * coordinate |
|
153 * @param clientXArg Specifies the <code>Event</code>'s client x |
|
154 * coordinate |
|
155 * @param clientYArg Specifies the <code>Event</code>'s client y |
|
156 * coordinate |
|
157 * @param ctrlKeyArg Specifies whether or not control key was depressed |
|
158 * during the <code>Event</code>. |
|
159 * @param altKeyArg Specifies whether or not alt key was depressed during |
|
160 * the <code>Event</code>. |
|
161 * @param shiftKeyArg Specifies whether or not shift key was depressed |
|
162 * during the <code>Event</code>. |
|
163 * @param metaKeyArg Specifies whether or not meta key was depressed |
|
164 * during the <code>Event</code>. |
|
165 * @param buttonArg Specifies the <code>Event</code>'s mouse button. |
|
166 * @param relatedTargetArg Specifies the <code>Event</code>'s related |
|
167 * <code>EventTarget</code>. |
|
168 */ |
|
169 public void initMouseEvent(String typeArg, |
|
170 boolean canBubbleArg, |
|
171 boolean cancelableArg, |
|
172 AbstractView viewArg, |
|
173 int detailArg, |
|
174 int screenXArg, |
|
175 int screenYArg, |
|
176 int clientXArg, |
|
177 int clientYArg, |
|
178 boolean ctrlKeyArg, |
|
179 boolean altKeyArg, |
|
180 boolean shiftKeyArg, |
|
181 boolean metaKeyArg, |
|
182 short buttonArg, |
|
183 EventTarget relatedTargetArg); |
|
184 |
|
185 } |