001: /*
002: * Copyright (c) 2000 World Wide Web Consortium,
003: * (Massachusetts Institute of Technology, Institut National de
004: * Recherche en Informatique et en Automatique, Keio University). All
005: * Rights Reserved. This program is distributed under the W3C's Software
006: * Intellectual Property License. This program is distributed in the
007: * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
008: * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
009: * PURPOSE.
010: * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
011: */
012:
013: package org.w3c.dom.events;
014:
015: import org.w3c.dom.views.AbstractView;
016:
017: /**
018: * The <code>MouseEvent</code> interface provides specific contextual
019: * information associated with Mouse events.
020: * <p>The <code>detail</code> attribute inherited from <code>UIEvent</code>
021: * indicates the number of times a mouse button has been pressed and
022: * released over the same screen location during a user action. The
023: * attribute value is 1 when the user begins this action and increments by 1
024: * for each full sequence of pressing and releasing. If the user moves the
025: * mouse between the mousedown and mouseup the value will be set to 0,
026: * indicating that no click is occurring.
027: * <p>In the case of nested elements mouse events are always targeted at the
028: * most deeply nested element. Ancestors of the targeted element may use
029: * bubbling to obtain notification of mouse events which occur within its
030: * descendent elements.
031: * <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>.
032: * @since DOM Level 2
033: */
034: public interface MouseEvent extends UIEvent {
035: /**
036: * The horizontal coordinate at which the event occurred relative to the
037: * origin of the screen coordinate system.
038: */
039: public int getScreenX();
040:
041: /**
042: * The vertical coordinate at which the event occurred relative to the
043: * origin of the screen coordinate system.
044: */
045: public int getScreenY();
046:
047: /**
048: * The horizontal coordinate at which the event occurred relative to the
049: * DOM implementation's client area.
050: */
051: public int getClientX();
052:
053: /**
054: * The vertical coordinate at which the event occurred relative to the DOM
055: * implementation's client area.
056: */
057: public int getClientY();
058:
059: /**
060: * Used to indicate whether the 'ctrl' key was depressed during the firing
061: * of the event.
062: */
063: public boolean getCtrlKey();
064:
065: /**
066: * Used to indicate whether the 'shift' key was depressed during the
067: * firing of the event.
068: */
069: public boolean getShiftKey();
070:
071: /**
072: * Used to indicate whether the 'alt' key was depressed during the firing
073: * of the event. On some platforms this key may map to an alternative
074: * key name.
075: */
076: public boolean getAltKey();
077:
078: /**
079: * Used to indicate whether the 'meta' key was depressed during the firing
080: * of the event. On some platforms this key may map to an alternative
081: * key name.
082: */
083: public boolean getMetaKey();
084:
085: /**
086: * During mouse events caused by the depression or release of a mouse
087: * button, <code>button</code> is used to indicate which mouse button
088: * changed state. The values for <code>button</code> range from zero to
089: * indicate the left button of the mouse, one to indicate the middle
090: * button if present, and two to indicate the right button. For mice
091: * configured for left handed use in which the button actions are
092: * reversed the values are instead read from right to left.
093: */
094: public short getButton();
095:
096: /**
097: * Used to identify a secondary <code>EventTarget</code> related to a UI
098: * event. Currently this attribute is used with the mouseover event to
099: * indicate the <code>EventTarget</code> which the pointing device
100: * exited and with the mouseout event to indicate the
101: * <code>EventTarget</code> which the pointing device entered.
102: */
103: public EventTarget getRelatedTarget();
104:
105: /**
106: * The <code>initMouseEvent</code> method is used to initialize the value
107: * of a <code>MouseEvent</code> created through the
108: * <code>DocumentEvent</code> interface. This method may only be called
109: * before the <code>MouseEvent</code> has been dispatched via the
110: * <code>dispatchEvent</code> method, though it may be called multiple
111: * times during that phase if necessary. If called multiple times, the
112: * final invocation takes precedence.
113: * @param typeArg Specifies the event type.
114: * @param canBubbleArg Specifies whether or not the event can bubble.
115: * @param cancelableArg Specifies whether or not the event's default
116: * action can be prevented.
117: * @param viewArg Specifies the <code>Event</code>'s
118: * <code>AbstractView</code>.
119: * @param detailArg Specifies the <code>Event</code>'s mouse click count.
120: * @param screenXArg Specifies the <code>Event</code>'s screen x
121: * coordinate
122: * @param screenYArg Specifies the <code>Event</code>'s screen y
123: * coordinate
124: * @param clientXArg Specifies the <code>Event</code>'s client x
125: * coordinate
126: * @param clientYArg Specifies the <code>Event</code>'s client y
127: * coordinate
128: * @param ctrlKeyArg Specifies whether or not control key was depressed
129: * during the <code>Event</code>.
130: * @param altKeyArg Specifies whether or not alt key was depressed during
131: * the <code>Event</code>.
132: * @param shiftKeyArg Specifies whether or not shift key was depressed
133: * during the <code>Event</code>.
134: * @param metaKeyArg Specifies whether or not meta key was depressed
135: * during the <code>Event</code>.
136: * @param buttonArg Specifies the <code>Event</code>'s mouse button.
137: * @param relatedTargetArg Specifies the <code>Event</code>'s related
138: * <code>EventTarget</code>.
139: */
140: public void initMouseEvent(String typeArg, boolean canBubbleArg,
141: boolean cancelableArg, AbstractView viewArg, int detailArg,
142: int screenXArg, int screenYArg, int clientXArg,
143: int clientYArg, boolean ctrlKeyArg, boolean altKeyArg,
144: boolean shiftKeyArg, boolean metaKeyArg, short buttonArg,
145: EventTarget relatedTargetArg);
146:
147: }
|