/* * Copyright 2010 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; /** * Class representing touches. * * See {@link <a href="http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/TouchClassReference/Touch/Touch.html">Safari Touch Documentation</a>} */ public class Touch extends JavaScriptObject { protected Touch() { } /** * Gets the touch x-position within the browser window's client area. * * @return the touch x-position */ public final int getClientX() { return DOMImpl.impl.touchGetClientX(this); } /** * Gets the touch y-position within the browser window's client area. * * @return the touch y-position */ public final int getClientY() { return DOMImpl.impl.touchGetClientY(this); } /** * Gets a unique identifier for this touch. * * @return the unique identifier for this touch */ public final int getIdentifier() { return DOMImpl.impl.touchGetIdentifier(this); } /** * Gets the touch x-position within the browser document. * * @return the touch x-position */ public final int getPageX() { return DOMImpl.impl.touchGetPageX(this); } /** * Gets the touch y-position within the browser document. * * @return the touch y-position */ public final int getPageY() { return DOMImpl.impl.touchGetPageY(this); } /** * Gets the touch x-position relative to a given element. * * @param target the element whose coordinate system is to be used * @return the relative x-position */ public final int getRelativeX(Element target) { return getClientX() - target.getAbsoluteLeft() + target.getScrollLeft() + target.getOwnerDocument().getScrollLeft(); } /** * Gets the touch y-position relative to a given element. * * @param target the element whose coordinate system is to be used * @return the relative y-position */ public final int getRelativeY(Element target) { return getClientY() - target.getAbsoluteTop() + target.getScrollTop() + target.getOwnerDocument().getScrollTop(); } /** * Gets the touch x-position on the user's display. * * @return the touch x-position */ public final int getScreenX() { return DOMImpl.impl.touchGetScreenX(this); } /** * Gets the touch y-position on the user's display. * * @return the touch y-position */ public final int getScreenY() { return DOMImpl.impl.touchGetScreenY(this); } /** * Gets the target element for the current touch. * * @return the target element */ public final EventTarget getTarget() { return DOMImpl.impl.touchGetTarget(this); } }