jaxp/src/share/classes/org/w3c/dom/events/MouseEvent.java
changeset 6 7f561c08de6b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/share/classes/org/w3c/dom/events/MouseEvent.java	Sat Dec 01 00:00:00 2007 +0000
@@ -0,0 +1,185 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.events;
+
+import org.w3c.dom.views.AbstractView;
+
+/**
+ * The <code>MouseEvent</code> interface provides specific contextual
+ * information associated with Mouse events.
+ * <p>The <code>detail</code> attribute inherited from <code>UIEvent</code>
+ * indicates the number of times a mouse button has been pressed and
+ * released over the same screen location during a user action. The
+ * attribute value is 1 when the user begins this action and increments by 1
+ * for each full sequence of pressing and releasing. If the user moves the
+ * mouse between the mousedown and mouseup the value will be set to 0,
+ * indicating that no click is occurring.
+ * <p>In the case of nested elements mouse events are always targeted at the
+ * most deeply nested element. Ancestors of the targeted element may use
+ * bubbling to obtain notification of mouse events which occur within its
+ * descendent elements.
+ * <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>.
+ * @since DOM Level 2
+ */
+public interface MouseEvent extends UIEvent {
+    /**
+     * The horizontal coordinate at which the event occurred relative to the
+     * origin of the screen coordinate system.
+     */
+    public int getScreenX();
+
+    /**
+     * The vertical coordinate at which the event occurred relative to the
+     * origin of the screen coordinate system.
+     */
+    public int getScreenY();
+
+    /**
+     * The horizontal coordinate at which the event occurred relative to the
+     * DOM implementation's client area.
+     */
+    public int getClientX();
+
+    /**
+     * The vertical coordinate at which the event occurred relative to the DOM
+     * implementation's client area.
+     */
+    public int getClientY();
+
+    /**
+     * Used to indicate whether the 'ctrl' key was depressed during the firing
+     * of the event.
+     */
+    public boolean getCtrlKey();
+
+    /**
+     * Used to indicate whether the 'shift' key was depressed during the
+     * firing of the event.
+     */
+    public boolean getShiftKey();
+
+    /**
+     * Used to indicate whether the 'alt' key was depressed during the firing
+     * of the event. On some platforms this key may map to an alternative
+     * key name.
+     */
+    public boolean getAltKey();
+
+    /**
+     * Used to indicate whether the 'meta' key was depressed during the firing
+     * of the event. On some platforms this key may map to an alternative
+     * key name.
+     */
+    public boolean getMetaKey();
+
+    /**
+     * During mouse events caused by the depression or release of a mouse
+     * button, <code>button</code> is used to indicate which mouse button
+     * changed state. The values for <code>button</code> range from zero to
+     * indicate the left button of the mouse, one to indicate the middle
+     * button if present, and two to indicate the right button. For mice
+     * configured for left handed use in which the button actions are
+     * reversed the values are instead read from right to left.
+     */
+    public short getButton();
+
+    /**
+     * Used to identify a secondary <code>EventTarget</code> related to a UI
+     * event. Currently this attribute is used with the mouseover event to
+     * indicate the <code>EventTarget</code> which the pointing device
+     * exited and with the mouseout event to indicate the
+     * <code>EventTarget</code> which the pointing device entered.
+     */
+    public EventTarget getRelatedTarget();
+
+    /**
+     * The <code>initMouseEvent</code> method is used to initialize the value
+     * of a <code>MouseEvent</code> created through the
+     * <code>DocumentEvent</code> interface. This method may only be called
+     * before the <code>MouseEvent</code> has been dispatched via the
+     * <code>dispatchEvent</code> method, though it may be called multiple
+     * times during that phase if necessary. If called multiple times, the
+     * final invocation takes precedence.
+     * @param typeArg Specifies the event type.
+     * @param canBubbleArg Specifies whether or not the event can bubble.
+     * @param cancelableArg Specifies whether or not the event's default
+     *   action can be prevented.
+     * @param viewArg Specifies the <code>Event</code>'s
+     *   <code>AbstractView</code>.
+     * @param detailArg Specifies the <code>Event</code>'s mouse click count.
+     * @param screenXArg Specifies the <code>Event</code>'s screen x
+     *   coordinate
+     * @param screenYArg Specifies the <code>Event</code>'s screen y
+     *   coordinate
+     * @param clientXArg Specifies the <code>Event</code>'s client x
+     *   coordinate
+     * @param clientYArg Specifies the <code>Event</code>'s client y
+     *   coordinate
+     * @param ctrlKeyArg Specifies whether or not control key was depressed
+     *   during the <code>Event</code>.
+     * @param altKeyArg Specifies whether or not alt key was depressed during
+     *   the <code>Event</code>.
+     * @param shiftKeyArg Specifies whether or not shift key was depressed
+     *   during the <code>Event</code>.
+     * @param metaKeyArg Specifies whether or not meta key was depressed
+     *   during the <code>Event</code>.
+     * @param buttonArg Specifies the <code>Event</code>'s mouse button.
+     * @param relatedTargetArg Specifies the <code>Event</code>'s related
+     *   <code>EventTarget</code>.
+     */
+    public void initMouseEvent(String typeArg,
+                               boolean canBubbleArg,
+                               boolean cancelableArg,
+                               AbstractView viewArg,
+                               int detailArg,
+                               int screenXArg,
+                               int screenYArg,
+                               int clientXArg,
+                               int clientYArg,
+                               boolean ctrlKeyArg,
+                               boolean altKeyArg,
+                               boolean shiftKeyArg,
+                               boolean metaKeyArg,
+                               short buttonArg,
+                               EventTarget relatedTargetArg);
+
+}