src/cm/media/js/lib/yui/yui_3.10.3/build/node-event-simulate/node-event-simulate.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('node-event-simulate', function (Y, NAME) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
 * Adds functionality to simulate events.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
 * @module node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
 * @submodule node-event-simulate
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
 * Simulates an event on the node.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
 * @param {String} type The type of event (i.e., "click").
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
 * @param {Object} options (Optional) Extra options to copy onto the event object.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
 * @return {void}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 * @for Node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 * @method simulate
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
Y.Node.prototype.simulate = function (type, options) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
    Y.Event.simulate(Y.Node.getDOMNode(this), type, options);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
 * Simulates the higher user level gesture of the given name on this node. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
 * This method generates a set of low level touch events(Apple specific gesture 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
 * events as well for the iOS platforms) asynchronously. Note that gesture  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
 * simulation is relying on `Y.Event.simulate()` method to generate 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
 * the touch events under the hood. The `Y.Event.simulate()` method
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
 * itself is a synchronous method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
 * Supported gestures are `tap`, `doubletap`, `press`, `move`, `flick`, `pinch`
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
 * and `rotate`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
 * The `pinch` gesture is used to simulate the pinching and spreading of two
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
 * fingers. During a pinch simulation, rotation is also possible. Essentially
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
 * `pinch` and `rotate` simulations share the same base implementation to allow
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
 * both pinching and rotation at the same time. The only difference is `pinch`
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
 * requires `start` and `end` option properties while `rotate` requires `rotation` 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
 * option property.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
 * The `pinch` and `rotate` gestures can be described as placing 2 fingers along a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
 * circle. Pinching and spreading can be described by start and end circles while 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
 * rotation occurs on a single circle. If the radius of the start circle is greater 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
 * than the end circle, the gesture becomes a pinch, otherwise it is a spread spread.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
 * @example
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
 *     var node = Y.one("#target");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
 *       
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
 *     // double tap example
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
 *     node.simulateGesture("doubletap", function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
 *         // my callback function
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
 *     });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
 *     
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
 *     // flick example from the center of the node, move 50 pixels down for 50ms)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
 *     node.simulateGesture("flick", {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
 *         axis: y,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
 *         distance: -100
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
 *         duration: 50
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
 *     }, function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
 *         // my callback function
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
 *     });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
 *     
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
 *     // simulate rotating a node 75 degrees counter-clockwise 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
 *     node.simulateGesture("rotate", {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
 *         rotation: -75
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
 *     });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
 *     // simulate a pinch and a rotation at the same time. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
 *     // fingers start on a circle of radius 100 px, placed at top/bottom
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
 *     // fingers end on a circle of radius 50px, placed at right/left 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
 *     node.simulateGesture("pinch", {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
 *         r1: 100,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
 *         r2: 50,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
 *         start: 0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
 *         rotation: 90
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
 *     });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
 *     
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
 * @method simulateGesture
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
 * @param {String} name The name of the supported gesture to simulate. The 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
 *      supported gesture name is one of "tap", "doubletap", "press", "move", 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
 *      "flick", "pinch" and "rotate". 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
 * @param {Object} [options] Extra options used to define the gesture behavior:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
 *      Valid options properties for the `tap` gesture:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
 *      
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
 *      @param {Array} [options.point] (Optional) Indicates the [x,y] coordinates 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
 *        where the tap should be simulated. Default is the center of the node 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
 *        element.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
 *      @param {Number} [options.hold=10] (Optional) The hold time in milliseconds. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
 *        This is the time between `touchstart` and `touchend` event generation.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
 *      @param {Number} [options.times=1] (Optional) Indicates the number of taps.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
 *      @param {Number} [options.delay=10] (Optional) The number of milliseconds 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
 *        before the next tap simulation happens. This is valid only when `times` 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
 *        is more than 1. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
 *        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
 *      Valid options properties for the `doubletap` gesture:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
 *      
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
 *      @param {Array} [options.point] (Optional) Indicates the [x,y] coordinates 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
 *        where the doubletap should be simulated. Default is the center of the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
 *        node element.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
 *      Valid options properties for the `press` gesture:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
 *      
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
 *      @param {Array} [options.point] (Optional) Indicates the [x,y] coordinates 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
 *        where the press should be simulated. Default is the center of the node 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
 *        element.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
 *      @param {Number} [options.hold=3000] (Optional) The hold time in milliseconds. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
 *        This is the time between `touchstart` and `touchend` event generation. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
 *        Default is 3000ms (3 seconds).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
 *      Valid options properties for the `move` gesture:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
 *      
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
 *      @param {Object} [options.path] (Optional) Indicates the path of the finger 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
 *        movement. It's an object with three optional properties: `point`, 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
 *        `xdist` and  `ydist`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
 *        @param {Array} [options.path.point] A starting point of the gesture.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
 *          Default is the center of the node element.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
 *        @param {Number} [options.path.xdist=200] A distance to move in pixels  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
 *          along the X axis. A negative distance value indicates moving left.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
 *        @param {Number} [options.path.ydist=0] A distance to move in pixels  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
 *          along the Y axis. A negative distance value indicates moving up.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
 *      @param {Number} [options.duration=1000] (Optional) The duration of the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
 *        gesture in milliseconds.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
 *      Valid options properties for the `flick` gesture:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
 *      
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
 *      @param {Array} [options.point] (Optional) Indicates the [x, y] coordinates 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
 *        where the flick should be simulated. Default is the center of the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
 *        node element.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
 *      @param {String} [options.axis='x'] (Optional) Valid values are either 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
 *        "x" or "y". Indicates axis to move along. The flick can move to one of 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
 *        4 directions(left, right, up and down).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
 *      @param {Number} [options.distance=200] (Optional) Distance to move in pixels
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
 *      @param {Number} [options.duration=1000] (Optional) The duration of the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
 *        gesture in milliseconds. User given value could be automatically 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
 *        adjusted by the framework if it is below the minimum velocity to be 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
 *        a flick gesture.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
 *      Valid options properties for the `pinch` gesture:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
 *      
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
 *      @param {Array} [options.center] (Optional) The center of the circle where 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
 *        two fingers are placed. Default is the center of the node element.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
 *      @param {Number} [options.r1] (Required) Pixel radius of the start circle 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
 *        where 2 fingers will be on when the gesture starts. The circles are 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
 *        centered at the center of the element.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
 *      @param {Number} [options.r2] (Required) Pixel radius of the end circle 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
 *        when this gesture ends.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
 *      @param {Number} [options.duration=1000] (Optional) The duration of the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
 *        gesture in milliseconds.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
 *      @param {Number} [options.start=0] (Optional) Starting degree of the first 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
 *        finger. The value is relative to the path of the north. Default is 0 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
 *        (i.e., 12:00 on a clock).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
 *      @param {Number} [options.rotation=0] (Optional) Degrees to rotate from 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
 *        the starting degree. A negative value means rotation to the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
 *        counter-clockwise direction.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
 *      Valid options properties for the `rotate` gesture:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
 *      
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
 *      @param {Array} [options.center] (Optional) The center of the circle where 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
 *        two fingers are placed. Default is the center of the node element.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
 *      @param {Number} [options.r1] (Optional) Pixel radius of the start circle 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
 *        where 2 fingers will be on when the gesture starts. The circles are 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
 *        centered at the center of the element. Default is a fourth of the node 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
 *        element width or height, whichever is smaller.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
 *      @param {Number} [options.r2] (Optional) Pixel radius of the end circle 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
 *        when this gesture ends. Default is a fourth of the node element width or 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
 *        height, whichever is smaller.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
 *      @param {Number} [options.duration=1000] (Optional) The duration of the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
 *        gesture in milliseconds.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
 *      @param {Number} [options.start=0] (Optional) Starting degree of the first 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
 *        finger. The value is relative to the path of the north. Default is 0 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
 *        (i.e., 12:00 on a clock).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
 *      @param {Number} [options.rotation] (Required) Degrees to rotate from 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
 *        the starting degree. A negative value means rotation to the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
 *        counter-clockwise direction.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
 * @param {Function} [cb] The callback to execute when the asynchronouse gesture  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
 *      simulation is completed. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
 *      @param {Error} cb.err An error object if the simulation is failed.  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
 * @return {void}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
 * @for Node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
Y.Node.prototype.simulateGesture = function (name, options, cb) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
    Y.Event.simulateGesture(this, name, options, cb);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
}, '3.10.3', {"requires": ["node-base", "event-simulate", "gesture-simulate"]});