/*
* 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. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.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 1.5, 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.
/**代码未完, 请加载全部代码(NowJava.com).**/