google-closure-compiler
Version:
Check, compile, optimize and compress Javascript with Closure-Compiler
297 lines (254 loc) • 7.78 kB
JavaScript
/*
* Copyright 2015 The Closure Compiler Authors
*
* 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.
*/
/**
* @fileoverview Definitions for W3C's Touch Events specification.
* @see http://www.w3.org/TR/touch-events/
* @externs
*/
/**
* @typedef {{
* identifier: number,
* target: !EventTarget,
* clientX: (number|undefined),
* clientY: (number|undefined),
* screenX: (number|undefined),
* screenY: (number|undefined),
* pageX: (number|undefined),
* pageY: (number|undefined),
* radiusX: (number|undefined),
* radiusY: (number|undefined),
* rotationAngle: (number|undefined),
* force: (number|undefined),
* altitudeAngle: (number|undefined),
* azimuthAngle: (number|undefined),
* touchType: (string|undefined)
* }}
*/
var TouchInitDict;
/**
* The Touch class represents a single touch on the surface. A touch is the
* presence or movement of a finger that is part of a unique multi-touch
* sequence.
* @see http://www.w3.org/TR/touch-events/#touch-interface
* @param {!TouchInitDict} touchInitDict
* @constructor
*/
function Touch(touchInitDict) {}
/**
* The x-coordinate of the touch's location relative to the window's viewport.
* @type {number}
*/
Touch.prototype.clientX;
/**
* The y-coordinate of the touch's location relative to the window's viewport.
* @type {number}
*/
Touch.prototype.clientY;
/**
* The unique identifier for this touch object.
* @type {number}
*/
Touch.prototype.identifier;
/**
* The x-coordinate of the touch's location in page coordinates.
* @type {number}
*/
Touch.prototype.pageX;
/**
* The y-coordinate of the touch's location in page coordinates.
* @type {number}
*/
Touch.prototype.pageY;
/**
* The x-coordinate of the touch's location in screen coordinates.
* @type {number}
*/
Touch.prototype.screenX;
/**
* The y-coordinate of the touch's location in screen coordinates.
* @type {number}
*/
Touch.prototype.screenY;
/**
* The target of this touch.
* @type {EventTarget}
*/
Touch.prototype.target;
/**
* @type {number}
* @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-force
*/
Touch.prototype.force;
/**
* @type {number}
* @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusX
*/
Touch.prototype.radiusX;
/**
* @type {number}
* @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusY
*/
Touch.prototype.radiusY;
/**
* @type {number}
* @see http://www.w3.org/TR/2011/WD-touch-events-20110505/#widl-Touch-rotationAngle
*/
Touch.prototype.rotationAngle;
/**
* Creates a new Touch object.
* @see http://www.w3.org/TR/touch-events/#widl-Document-createTouch-Touch-WindowProxy-view-EventTarget-target-long-identifier-long-pageX-long-pageY-long-screenX-long-screenY
* @param {Window} view
* @param {EventTarget} target
* @param {number} identifier
* @param {number} pageX
* @param {number} pageY
* @param {number} screenX
* @param {number} screenY
* @return {Touch}
*/
Document.prototype.createTouch = function(view, target, identifier, pageX,
pageY, screenX, screenY) {};
/**
* The TouchList class is used to represent a collection of Touch objects.
* @see http://www.w3.org/TR/touch-events/#touchlist-interface
* @constructor
* @implements {IArrayLike<!Touch>}
*/
function TouchList() {}
/**
* The number of Touch objects in this TouchList object.
* @type {number}
*/
TouchList.prototype.length;
/**
* Returns the Touch object at the given index.
* @param {number} index
* @return {?Touch}
*/
TouchList.prototype.item = function(index) {};
/**
* @param {number} identifier
* @return {?Touch}
* @see http://www.w3.org/TR/touch-events-extensions/#widl-TouchList-identifiedTouch-Touch-long-identifier
*/
TouchList.prototype.identifiedTouch = function(identifier) {};
/**
* Creates a new TouchList object.
* @see http://www.w3.org/TR/touch-events/#widl-Document-createTouchList-TouchList-Touch-touches
* @param {Array<?Touch>} touches
* @return {TouchList}
*/
Document.prototype.createTouchList = function(touches) {};
/**
* @record
* @extends {UIEventInit}
*/
function TouchEventInit() {}
/** @type {undefined|?EventTarget} */
TouchEventInit.prototype.relatedTarget;
/** @type {undefined|!Array<?Touch>} */
TouchEventInit.prototype.touches;
/** @type {undefined|!Array<?Touch>} */
TouchEventInit.prototype.targetTouches;
/** @type {undefined|!Array<?Touch>} */
TouchEventInit.prototype.changedTouches;
/**
* The TouchEvent class encapsulates information about a touch event.
*
* <p>The system continually sends TouchEvent objects to an application as
* fingers touch and move across a surface. A touch event provides a snapshot of
* all touches during a multi-touch sequence, most importantly the touches that
* are new or have changed for a particular target. A multi-touch sequence
* begins when a finger first touches the surface. Other fingers may
* subsequently touch the surface, and all fingers may move across the surface.
* The sequence ends when the last of these fingers is lifted from the surface.
* An application receives touch event objects during each phase of any touch.
* </p>
*
* <p>The different types of TouchEvent objects that can occur are:
* <ul>
* <li>touchstart - Sent when a finger for a given event touches the surface.
* <li>touchmove - Sent when a given event moves on the surface.
* <li>touchend - Sent when a given event lifts from the surface.
* <li>touchcancel - Sent when the system cancels tracking for the touch.
* </ul>
* TouchEvent objects are combined together to form high-level GestureEvent
* objects that are also sent during a multi-touch sequence.</p>
*
* @see http://www.w3.org/TR/touch-events/#touchevent-interface
* @param {string} type
* @param {!TouchEventInit=} opt_eventInitDict
* @extends {UIEvent}
* @constructor
*/
function TouchEvent(type, opt_eventInitDict) {}
/**
* A collection of Touch objects representing all touches associated with this
* target.
* @type {TouchList}
*/
TouchEvent.prototype.touches;
/**
* A collection of Touch objects representing all touches associated with this
* target.
* @type {TouchList}
*/
TouchEvent.prototype.targetTouches;
/**
* A collection of Touch objects representing all touches that changed in this event.
* @type {TouchList}
*/
TouchEvent.prototype.changedTouches;
/**
* @type {boolean}
*/
TouchEvent.prototype.altKey;
/**
* @type {boolean}
*/
TouchEvent.prototype.metaKey;
/**
* @type {boolean}
*/
TouchEvent.prototype.ctrlKey;
/**
* @type {boolean}
*/
TouchEvent.prototype.shiftKey;
/**
* Specifies the JavaScript method to invoke when the system cancels tracking
* for the touch.
* @type {?function(!TouchEvent)}
*/
Element.prototype.ontouchcancel;
/**
* Specifies the JavaScript method to invoke when a given event lifts from the
* surface.
* @type {?function(!TouchEvent)}
*/
Element.prototype.ontouchend;
/**
* Specifies the JavaScript method to invoke when a finger for a given event
* moves on the surface.
* @type {?function(!TouchEvent)}
*/
Element.prototype.ontouchmove;
/**
* Specifies the JavaScript method to invoke when a finger for a given event
* touches the surface.
* @type {?function(!TouchEvent)}
*/
Element.prototype.ontouchstart;