Update wmts-hidpi, add nicer-api-docs
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
// Copyright 2013 The Closure Library Authors. All Rights Reserved.
|
||||
//
|
||||
// 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 Utilities to abstract mouse and touch events.
|
||||
*/
|
||||
|
||||
|
||||
goog.provide('goog.labs.events.touch');
|
||||
goog.provide('goog.labs.events.touch.TouchData');
|
||||
|
||||
goog.require('goog.array');
|
||||
goog.require('goog.asserts');
|
||||
goog.require('goog.events.EventType');
|
||||
goog.require('goog.string');
|
||||
|
||||
|
||||
/**
|
||||
* Description the geometry and target of an event.
|
||||
*
|
||||
* @typedef {{
|
||||
* clientX: number,
|
||||
* clientY: number,
|
||||
* screenX: number,
|
||||
* screenY: number,
|
||||
* target: EventTarget
|
||||
* }}
|
||||
*/
|
||||
goog.labs.events.touch.TouchData;
|
||||
|
||||
|
||||
/**
|
||||
* Takes a mouse or touch event and returns the relevent geometry and target
|
||||
* data.
|
||||
* @param {!Event} e A mouse or touch event.
|
||||
* @return {!goog.labs.events.touch.TouchData}
|
||||
*/
|
||||
goog.labs.events.touch.getTouchData = function(e) {
|
||||
|
||||
var source = e;
|
||||
goog.asserts.assert(
|
||||
goog.string.startsWith(e.type, 'touch') ||
|
||||
goog.string.startsWith(e.type, 'mouse'),
|
||||
'Event must be mouse or touch event.');
|
||||
|
||||
if (goog.string.startsWith(e.type, 'touch')) {
|
||||
goog.asserts.assert(
|
||||
goog.array.contains([
|
||||
goog.events.EventType.TOUCHCANCEL,
|
||||
goog.events.EventType.TOUCHEND,
|
||||
goog.events.EventType.TOUCHMOVE,
|
||||
goog.events.EventType.TOUCHSTART
|
||||
], e.type),
|
||||
'Touch event not of valid type.');
|
||||
|
||||
// If the event is end or cancel, take the first changed touch,
|
||||
// otherwise the first target touch.
|
||||
source = (e.type == goog.events.EventType.TOUCHEND ||
|
||||
e.type == goog.events.EventType.TOUCHCANCEL) ?
|
||||
e.changedTouches[0] : e.targetTouches[0];
|
||||
}
|
||||
|
||||
return {
|
||||
clientX: source['clientX'],
|
||||
clientY: source['clientY'],
|
||||
screenX: source['screenX'],
|
||||
screenY: source['screenY'],
|
||||
target: source['target']
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user