blob: ee199206dd5481cf2640f4f60ba48b819d13b548 [file] [log] [blame]
/*
* 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);
}
}