1 /**
  2  * The MIT License (MIT)
  3  *
  4  * Copyright (c) 2016 DeNA Co., Ltd.
  5  *
  6  * Permission is hereby granted, free of charge, to any person obtaining a copy
  7  * of this software and associated documentation files (the "Software"), to deal
  8  * in the Software without restriction, including without limitation the rights
  9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 10  * copies of the Software, and to permit persons to whom the Software is
 11  * furnished to do so, subject to the following conditions:
 12  *
 13  * The above copyright notice and this permission notice shall be included in
 14  * all copies or substantial portions of the Software.
 15  *
 16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 22  * SOFTWARE.
 23  */
 24 
 25 /// <reference path="base.js"/>
 26 /// <reference path="object.js"/>
 27 /// <reference path="stage.js"/>
 28 
 29 /**
 30  * A class that provides methods to start dispatching touch events to
 31  * createjs.Stage objects and to stop it.
 32  * @constructor
 33  */
 34 createjs.Touch = function() {
 35 };
 36 
 37 /**
 38  * Returns whether the host browser supports touch events.
 39  * @return {boolean}
 40  **/
 41 createjs.Touch.isSupported = function() {
 42   /// <returns type="boolean"/>
 43   return true;
 44 };
 45 
 46 /**
 47  * Starts dispatching touch events to the specified stage.
 48  * @param {createjs.Stage} stage
 49  * @param {boolean=} opt_singleTouch
 50  * @param {boolean=} opt_allowDefault
 51  */
 52 createjs.Touch.enable = function(stage, opt_singleTouch, opt_allowDefault) {
 53   /// <param type="createjs.Stage" name="stage"/>
 54   /// <param type="boolean" optional="true" name="opt_singleTouch"/>
 55   /// <param type="boolean" optional="true" name="opt_allowDefault"/>
 56   if (stage) {
 57     stage.enableTouchEvents(true, !opt_allowDefault);
 58   }
 59 };
 60 
 61 /**
 62  * Stops dispatching touch events to the specified stage.
 63  * @param {createjs.Stage} stage
 64  */
 65 createjs.Touch.disable = function(stage) {
 66   /// <param type="createjs.Stage" name="stage"/>
 67   if (stage) {
 68     stage.enableTouchEvents(false, true);
 69   }
 70 };
 71 
 72 /**
 73  * A table of exported functions.
 74  * @type {Object}
 75  * @const
 76  */
 77 createjs.Touch.exports = createjs.exportStatic('createjs.Touch', {
 78   'isSupported': createjs.Touch.isSupported,
 79   'enable': createjs.Touch.enable,
 80   'disable': createjs.Touch.disable
 81 });
 82