| /* |
| * Copyright 2009 Google Inc. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| * use this file except in compliance with the License. You may obtain a copy of |
| * the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| * License for the specific language governing permissions and limitations under |
| * the License. |
| */ |
| package com.google.gwt.dom.client; |
| |
| import com.google.gwt.core.client.JavaScriptObject; |
| import com.google.gwt.core.client.JsArray; |
| |
| /** |
| * The native dom event. |
| */ |
| public class NativeEvent extends JavaScriptObject { |
| |
| /** |
| * The left mouse button. |
| */ |
| public static final int BUTTON_LEFT = 1; |
| |
| /** |
| * The middle mouse button. |
| */ |
| public static final int BUTTON_MIDDLE = 4; |
| |
| /** |
| * The right mouse button. |
| */ |
| public static final int BUTTON_RIGHT = 2; |
| |
| /** |
| * Required constructor for GWT compiler to function. |
| */ |
| protected NativeEvent() { |
| } |
| |
| /** |
| * Gets whether the ALT key was depressed when the given event occurred. |
| * |
| * @return <code>true</code> if ALT was depressed when the event occurred |
| */ |
| public final boolean getAltKey() { |
| return DOMImpl.impl.eventGetAltKey(this); |
| } |
| |
| /** |
| * Gets the mouse buttons that were depressed when the given event occurred. |
| * |
| * @return a bit-field, defined by {@link NativeEvent#BUTTON_LEFT}, |
| * {@link NativeEvent#BUTTON_MIDDLE}, and |
| * {@link NativeEvent#BUTTON_RIGHT} |
| */ |
| public final int getButton() { |
| return DOMImpl.impl.eventGetButton(this); |
| } |
| |
| /** |
| * Get an array of touches which have changed since the last touch event. |
| * |
| * @return array of touches which have changed since the last touch event |
| */ |
| public final JsArray<Touch> getChangedTouches() { |
| return DOMImpl.impl.getChangedTouches(this); |
| } |
| |
| /** |
| * Gets the Unicode codepoint of the character generated by this key event. |
| * |
| * @return the Unicode codepoint. |
| */ |
| public final int getCharCode() { |
| return DOMImpl.impl.eventGetCharCode(this); |
| } |
| |
| /** |
| * Gets the mouse x-position within the browser window's client area. |
| * |
| * @return the mouse x-position |
| */ |
| public final int getClientX() { |
| return DOMImpl.impl.eventGetClientX(this); |
| } |
| |
| /** |
| * Gets the mouse y-position within the browser window's client area. |
| * |
| * @return the mouse y-position |
| */ |
| public final int getClientY() { |
| return DOMImpl.impl.eventGetClientY(this); |
| } |
| |
| /** |
| * Gets whether the CTRL key was depressed when the given event occurred. |
| * |
| * @return <code>true</code> if CTRL was depressed when the event occurred |
| */ |
| public final boolean getCtrlKey() { |
| return DOMImpl.impl.eventGetCtrlKey(this); |
| } |
| |
| /** |
| * Gets the current target element of this event. This is the element whose |
| * listener fired last, not the element which fired the event initially. |
| * |
| * @return the event's current target element |
| */ |
| public final EventTarget getCurrentEventTarget() { |
| return DOMImpl.impl.eventGetCurrentTarget(this); |
| } |
| |
| /** |
| * Get the {@link DataTransfer} associated with the current drag event. |
| * |
| * @return the {@link DataTransfer} object, or null if not a drag event |
| */ |
| public final native DataTransfer getDataTransfer() /*-{ |
| return this.dataTransfer || null; |
| }-*/; |
| |
| /** |
| * Returns the element that was the actual target of the given event. |
| * |
| * @return the target element |
| */ |
| public final EventTarget getEventTarget() { |
| return DOMImpl.impl.eventGetTarget(this); |
| } |
| |
| /** |
| * Gets the key code (code associated with the physical key) associated with |
| * this event. |
| * |
| * @return the key code |
| * @see com.google.gwt.event.dom.client.KeyCodes |
| */ |
| public final int getKeyCode() { |
| return DOMImpl.impl.eventGetKeyCode(this); |
| } |
| |
| /** |
| * Gets whether the META key was depressed when the given event occurred. |
| * |
| * @return <code>true</code> if META was depressed when the event occurred |
| */ |
| public final boolean getMetaKey() { |
| return DOMImpl.impl.eventGetMetaKey(this); |
| } |
| |
| /** |
| * Gets the velocity of the mouse wheel associated with the event along the Y |
| * axis. |
| * <p> |
| * The velocity of the event is an artificial measurement for relative |
| * comparisons of wheel activity. It is affected by some non-browser factors, |
| * including choice of input hardware and mouse acceleration settings. The |
| * sign of the velocity measurement agrees with the screen coordinate system; |
| * negative values are towards the origin and positive values are away from |
| * the origin. Standard scrolling speed is approximately ten units per event. |
| * </p> |
| * |
| * @return The velocity of the mouse wheel. |
| */ |
| public final int getMouseWheelVelocityY() { |
| return DOMImpl.impl.eventGetMouseWheelVelocityY(this); |
| } |
| |
| /** |
| * Gets the related target for this event. |
| * |
| * @return the related target |
| */ |
| public final EventTarget getRelatedEventTarget() { |
| return DOMImpl.impl.eventGetRelatedTarget(this); |
| } |
| |
| /** |
| * Get the rotation in degrees, with positive values indicating clockwise rotation. |
| * |
| * @return the rotation in degrees since the gesture started |
| */ |
| public final double getRotation() { |
| return DOMImpl.impl.eventGetRotation(this); |
| } |
| |
| /** |
| * Get the amount scaled since the gesture started, with 1.0 representing no scaling. |
| * |
| * @return the amount scaled since the gesture started |
| */ |
| public final double getScale() { |
| return DOMImpl.impl.eventGetScale(this); |
| } |
| |
| /** |
| * Gets the mouse x-position on the user's display. |
| * |
| * @return the mouse x-position |
| */ |
| public final int getScreenX() { |
| return DOMImpl.impl.eventGetScreenX(this); |
| } |
| |
| /** |
| * Gets the mouse y-position on the user's display. |
| * |
| * @return the mouse y-position |
| */ |
| public final int getScreenY() { |
| return DOMImpl.impl.eventGetScreenY(this); |
| } |
| |
| /** |
| * Gets whether the shift key was depressed when the given event occurred. |
| * |
| * @return <code>true</code> if shift was depressed when the event occurred |
| */ |
| public final boolean getShiftKey() { |
| return DOMImpl.impl.eventGetShiftKey(this); |
| } |
| |
| /** |
| * Gets a string representation of this event. |
| * |
| * We do not override {@link #toString()} because it is final in |
| * {@link com.google.gwt.core.client.JavaScriptObject }. |
| * |
| * @return the string representation of this event |
| */ |
| public final String getString() { |
| return DOMImpl.impl.eventToString(this); |
| } |
| |
| /** |
| * Get an array of touches which have changed since the last touch event. |
| * |
| * @return array of touches which have changed since the last touch event |
| */ |
| public final JsArray<Touch> getTargetTouches() { |
| return DOMImpl.impl.getTargetTouches(this); |
| } |
| |
| /** |
| * Get an array of touches which have changed since the last touch event. |
| * |
| * @return array of touches which have changed since the last touch event |
| */ |
| public final JsArray<Touch> getTouches() { |
| return DOMImpl.impl.getTouches(this); |
| } |
| |
| /** |
| * Gets the enumerated type of this event. |
| * |
| * @return the event's enumerated type |
| */ |
| public final String getType() { |
| return DOMImpl.impl.eventGetType(this); |
| } |
| |
| /** |
| * Prevents the browser from taking its default action for the given event. |
| */ |
| public final void preventDefault() { |
| DOMImpl.impl.eventPreventDefault(this); |
| } |
| |
| /** |
| * Stops the event from being propagated to parent elements. |
| */ |
| public final void stopPropagation() { |
| DOMImpl.impl.eventStopPropagation(this); |
| } |
| } |