{
    "project": {
        "name": "Hammer.JS",
        "description": "A javascript library for multi-touch gestures",
        "version": "1.1.0",
        "url": "http://eightmedia.github.io/hammer.js"
    },
    "files": {
        "src/gestures/drag.js": {
            "name": "src/gestures/drag.js",
            "modules": {
                "gestures": 1
            },
            "classes": {
                "Drag": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/gestures/gesture.js": {
            "name": "src/gestures/gesture.js",
            "modules": {},
            "classes": {
                "Gesture": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/gestures/hold.js": {
            "name": "src/gestures/hold.js",
            "modules": {},
            "classes": {
                "Hold": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/gestures/release.js": {
            "name": "src/gestures/release.js",
            "modules": {},
            "classes": {
                "Release": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/gestures/swipe.js": {
            "name": "src/gestures/swipe.js",
            "modules": {},
            "classes": {
                "Swipe": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/gestures/tap.js": {
            "name": "src/gestures/tap.js",
            "modules": {},
            "classes": {
                "Tap": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/gestures/touch.js": {
            "name": "src/gestures/touch.js",
            "modules": {},
            "classes": {
                "Touch": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/gestures/transform.js": {
            "name": "src/gestures/transform.js",
            "modules": {},
            "classes": {
                "Transform": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/detection.js": {
            "name": "src/detection.js",
            "modules": {},
            "classes": {
                "Detection": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/event.js": {
            "name": "src/event.js",
            "modules": {},
            "classes": {
                "Event": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/export.js": {
            "name": "src/export.js",
            "modules": {},
            "classes": {},
            "fors": {},
            "namespaces": {}
        },
        "src/instance.js": {
            "name": "src/instance.js",
            "modules": {},
            "classes": {
                "Instance": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/pointerevent.js": {
            "name": "src/pointerevent.js",
            "modules": {},
            "classes": {
                "PointerEvent": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/setup.js": {
            "name": "src/setup.js",
            "modules": {
                "hammer": 1
            },
            "classes": {
                "Hammer": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/utils.js": {
            "name": "src/utils.js",
            "modules": {},
            "classes": {
                "Utils": 1
            },
            "fors": {},
            "namespaces": {}
        }
    },
    "modules": {
        "gestures": {
            "name": "gestures",
            "submodules": {},
            "classes": {
                "Drag": 1,
                "Gesture": 1,
                "Hold": 1,
                "Release": 1,
                "Swipe": 1,
                "Tap": 1,
                "Touch": 1,
                "Transform": 1
            },
            "fors": {},
            "namespaces": {},
            "tag": "module",
            "file": "src/gestures/transform.js",
            "line": 4
        },
        "hammer": {
            "name": "hammer",
            "submodules": {},
            "classes": {
                "Detection": 1,
                "Event": 1,
                "Instance": 1,
                "PointerEvent": 1,
                "Hammer": 1,
                "Utils": 1
            },
            "fors": {},
            "namespaces": {},
            "tag": "module",
            "file": "src/utils.js",
            "line": 1,
            "static": 1,
            "itemtype": "main"
        }
    },
    "classes": {
        "Drag": {
            "name": "Drag",
            "shortname": "Drag",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "gestures",
            "namespace": "",
            "file": "src/gestures/drag.js",
            "line": 4,
            "description": "Move with x fingers (default 1) around on the page.\nPreventing the default browser behavior is a good way to improve feel and working.\n````\n hammertime.on(\"drag\", function(ev) {\n   console.log(ev);\n   ev.gesture.preventDefault();\n });\n````",
            "static": 1
        },
        "Gesture": {
            "name": "Gesture",
            "shortname": "Gesture",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "gestures",
            "namespace": "",
            "file": "src/gestures/gesture.js",
            "line": 4,
            "description": "trigger a simple gesture event, so you can do anything in your handler.\nonly usable if you know what your doing...",
            "static": 1
        },
        "Hold": {
            "name": "Hold",
            "shortname": "Hold",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "gestures",
            "namespace": "",
            "file": "src/gestures/hold.js",
            "line": 4,
            "description": "Touch stays at the same place for x time",
            "static": 1
        },
        "Release": {
            "name": "Release",
            "shortname": "Release",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "gestures",
            "namespace": "",
            "file": "src/gestures/release.js",
            "line": 4,
            "description": "when a touch is being released from the page",
            "static": 1
        },
        "Swipe": {
            "name": "Swipe",
            "shortname": "Swipe",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "gestures",
            "namespace": "",
            "file": "src/gestures/swipe.js",
            "line": 4,
            "description": "triggers swipe events when the end velocity is above the threshold\nfor best usage, set `prevent_default` (on the drag gesture) to `true`\n````\n hammertime.on(\"dragleft swipeleft\", function(ev) {\n   console.log(ev);\n   ev.gesture.preventDefault();\n });\n````",
            "static": 1
        },
        "Tap": {
            "name": "Tap",
            "shortname": "Tap",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "gestures",
            "namespace": "",
            "file": "src/gestures/tap.js",
            "line": 4,
            "description": "Single tap and a double tap on a place",
            "static": 1
        },
        "Touch": {
            "name": "Touch",
            "shortname": "Touch",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "gestures",
            "namespace": "",
            "file": "src/gestures/touch.js",
            "line": 4,
            "description": "when a touch is being touched at the page",
            "static": 1
        },
        "Transform": {
            "name": "Transform",
            "shortname": "Transform",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "gestures",
            "namespace": "",
            "file": "src/gestures/transform.js",
            "line": 4,
            "description": "User want to scale or rotate with 2 fingers\nPreventing the default browser behavior is a good way to improve feel and working. This can be done with the\n`transform_always_block` option.",
            "static": 1
        },
        "Detection": {
            "name": "Detection",
            "shortname": "Detection",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "hammer",
            "namespace": "",
            "file": "src/detection.js",
            "line": 1
        },
        "Event": {
            "name": "Event",
            "shortname": "Event",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "hammer",
            "namespace": "",
            "file": "src/event.js",
            "line": 4,
            "static": 1
        },
        "Instance": {
            "name": "Instance",
            "shortname": "Instance",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "hammer",
            "namespace": "",
            "file": "src/instance.js",
            "line": 5,
            "description": "create new hammer instance\nall methods should return the instance itself, so it is chainable.",
            "is_constructor": 1,
            "params": [
                {
                    "name": "element",
                    "description": "",
                    "type": "HTMLElement"
                },
                {
                    "name": "options",
                    "description": "options are merged with `Hammer.defaults`",
                    "type": "Object",
                    "optional": true,
                    "optdefault": "{}"
                }
            ],
            "return": {
                "description": "",
                "type": "Hammer.Instance"
            }
        },
        "PointerEvent": {
            "name": "PointerEvent",
            "shortname": "PointerEvent",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "hammer",
            "namespace": "",
            "file": "src/pointerevent.js",
            "line": 1
        },
        "Hammer": {
            "name": "Hammer",
            "shortname": "Hammer",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "hammer",
            "namespace": "",
            "file": "src/setup.js",
            "line": 1,
            "mainName": "",
            "tag": "main",
            "itemtype": "main",
            "_main": true
        },
        "Utils": {
            "name": "Utils",
            "shortname": "Utils",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "hammer",
            "namespace": "",
            "file": "src/utils.js",
            "line": 1
        }
    },
    "classitems": [
        {
            "file": "src/gestures/drag.js",
            "line": 17,
            "itemtype": "event",
            "name": "drag",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 21,
            "itemtype": "event",
            "name": "dragstart",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 25,
            "itemtype": "event",
            "name": "dragend",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 29,
            "itemtype": "event",
            "name": "drapleft",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 33,
            "itemtype": "event",
            "name": "dragright",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 37,
            "itemtype": "event",
            "name": "dragup",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 41,
            "itemtype": "event",
            "name": "dragdown",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 146,
            "description": "minimal movement that have to be made before the drag event gets triggered",
            "itemtype": "property",
            "name": "drag_min_distance",
            "type": "{Number}",
            "default": "10",
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 154,
            "description": "Set correct_for_drag_min_distance to true to make the starting point of the drag\nbe calculated from where the drag was triggered, not from where the touch started.\nUseful to avoid a jerk-starting drag, which can make fine-adjustments\nthrough dragging difficult, and be visually unappealing.",
            "itemtype": "property",
            "name": "correct_for_drag_min_distance",
            "type": "{Boolean}",
            "default": "true",
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 165,
            "description": "set 0 for unlimited, but this can conflict with transform",
            "itemtype": "property",
            "name": "drag_max_touches",
            "type": "{Number}",
            "default": "1",
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 173,
            "description": "prevent default browser behavior when dragging occurs\nbe careful with it, it makes the element a blocking element\nwhen you are using the drag gesture, it is a good practice to set this true",
            "itemtype": "property",
            "name": "drag_block_horizontal",
            "type": "{Boolean}",
            "default": "false",
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 183,
            "description": "same as `drag_block_horizontal`, but for vertical movement",
            "itemtype": "property",
            "name": "drag_block_vertical",
            "type": "{Boolean}",
            "default": "false",
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 191,
            "description": "drag_lock_to_axis keeps the drag gesture on the axis that it started on,\nIt disallows vertical directions if the initial direction was horizontal, and vice versa.",
            "itemtype": "property",
            "name": "drag_lock_to_axis",
            "type": "{Boolean}",
            "default": "false",
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/drag.js",
            "line": 200,
            "description": "drag lock only kicks in when distance > drag_lock_min_distance\n This way, locking occurs only when the distance has become large enough to reliably determine the direction",
            "itemtype": "property",
            "name": "drag_lock_min_distance",
            "type": "{Number}",
            "default": "25",
            "class": "Drag",
            "module": "gestures"
        },
        {
            "file": "src/gestures/gesture.js",
            "line": 11,
            "itemtype": "event",
            "name": "gesture",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Gesture",
            "module": "gestures"
        },
        {
            "file": "src/gestures/hold.js",
            "line": 10,
            "itemtype": "event",
            "name": "hold",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Hold",
            "module": "gestures"
        },
        {
            "file": "src/gestures/hold.js",
            "line": 53,
            "itemtype": "property",
            "name": "hold_timeout",
            "type": "{Number}",
            "default": "500",
            "class": "Hold",
            "module": "gestures"
        },
        {
            "file": "src/gestures/hold.js",
            "line": 60,
            "description": "movement allowed while holding",
            "itemtype": "property",
            "name": "hold_threshold",
            "type": "{Number}",
            "default": "2",
            "class": "Hold",
            "module": "gestures"
        },
        {
            "file": "src/gestures/release.js",
            "line": 10,
            "itemtype": "event",
            "name": "release",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Release",
            "module": "gestures"
        },
        {
            "file": "src/gestures/swipe.js",
            "line": 17,
            "itemtype": "event",
            "name": "swipe",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Swipe",
            "module": "gestures"
        },
        {
            "file": "src/gestures/swipe.js",
            "line": 21,
            "itemtype": "event",
            "name": "swipeleft",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Swipe",
            "module": "gestures"
        },
        {
            "file": "src/gestures/swipe.js",
            "line": 25,
            "itemtype": "event",
            "name": "swiperight",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Swipe",
            "module": "gestures"
        },
        {
            "file": "src/gestures/swipe.js",
            "line": 29,
            "itemtype": "event",
            "name": "swipeup",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Swipe",
            "module": "gestures"
        },
        {
            "file": "src/gestures/swipe.js",
            "line": 33,
            "itemtype": "event",
            "name": "swipedown",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Swipe",
            "module": "gestures"
        },
        {
            "file": "src/gestures/swipe.js",
            "line": 41,
            "itemtype": "property",
            "name": "swipe_min_touches",
            "type": "{Number}",
            "default": "1",
            "class": "Swipe",
            "module": "gestures"
        },
        {
            "file": "src/gestures/swipe.js",
            "line": 48,
            "itemtype": "property",
            "name": "swipe_max_touches",
            "type": "{Number}",
            "default": "1",
            "class": "Swipe",
            "module": "gestures"
        },
        {
            "file": "src/gestures/swipe.js",
            "line": 55,
            "description": "horizontal swipe velocity",
            "itemtype": "property",
            "name": "swipe_velocity_x",
            "type": "{Number}",
            "default": "0.7",
            "class": "Swipe",
            "module": "gestures"
        },
        {
            "file": "src/gestures/swipe.js",
            "line": 63,
            "description": "vertical swipe velocity",
            "itemtype": "property",
            "name": "swipe_velocity_y",
            "type": "{Number}",
            "default": "0.6",
            "class": "Swipe",
            "module": "gestures"
        },
        {
            "file": "src/gestures/tap.js",
            "line": 10,
            "itemtype": "event",
            "name": "tap",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Tap",
            "module": "gestures"
        },
        {
            "file": "src/gestures/tap.js",
            "line": 14,
            "itemtype": "event",
            "name": "doubletap",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Tap",
            "module": "gestures"
        },
        {
            "file": "src/gestures/tap.js",
            "line": 65,
            "description": "max time of a tap, this is for the slow tappers",
            "itemtype": "property",
            "name": "tap_max_touchtime",
            "type": "{Number}",
            "default": "250",
            "class": "Tap",
            "module": "gestures"
        },
        {
            "file": "src/gestures/tap.js",
            "line": 73,
            "description": "max distance of movement of a tap, this is for the slow tappers",
            "itemtype": "property",
            "name": "tap_max_distance",
            "type": "{Number}",
            "default": "10",
            "class": "Tap",
            "module": "gestures"
        },
        {
            "file": "src/gestures/tap.js",
            "line": 81,
            "description": "always trigger the `tap` event, even while double-tapping",
            "itemtype": "property",
            "name": "tap_always",
            "type": "{Boolean}",
            "default": "true",
            "class": "Tap",
            "module": "gestures"
        },
        {
            "file": "src/gestures/tap.js",
            "line": 89,
            "description": "max distance between two taps",
            "itemtype": "property",
            "name": "doubletap_distance",
            "type": "{Number}",
            "default": "20",
            "class": "Tap",
            "module": "gestures"
        },
        {
            "file": "src/gestures/tap.js",
            "line": 97,
            "description": "max time between two taps",
            "itemtype": "property",
            "name": "doubletap_interval",
            "type": "{Number}",
            "default": "300",
            "class": "Tap",
            "module": "gestures"
        },
        {
            "file": "src/gestures/touch.js",
            "line": 10,
            "itemtype": "event",
            "name": "touch",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Touch",
            "module": "gestures"
        },
        {
            "file": "src/gestures/touch.js",
            "line": 18,
            "description": "call preventDefault at touchstart, and makes the element blocking by disabling the scrolling of the page,\nbut it improves gestures like transforming and dragging.\nbe careful with using this, it can be very annoying for users to be stuck on the page",
            "itemtype": "property",
            "name": "prevent_default",
            "type": "{Boolean}",
            "default": "false",
            "class": "Touch",
            "module": "gestures"
        },
        {
            "file": "src/gestures/touch.js",
            "line": 28,
            "description": "disable mouse events, so only touch (or pen!) input triggers events",
            "itemtype": "property",
            "name": "prevent_mouseevents",
            "type": "{Boolean}",
            "default": "false",
            "class": "Touch",
            "module": "gestures"
        },
        {
            "file": "src/gestures/transform.js",
            "line": 12,
            "itemtype": "event",
            "name": "transform",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Transform",
            "module": "gestures"
        },
        {
            "file": "src/gestures/transform.js",
            "line": 16,
            "itemtype": "event",
            "name": "transformstart",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Transform",
            "module": "gestures"
        },
        {
            "file": "src/gestures/transform.js",
            "line": 20,
            "itemtype": "event",
            "name": "transformend",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Transform",
            "module": "gestures"
        },
        {
            "file": "src/gestures/transform.js",
            "line": 24,
            "itemtype": "event",
            "name": "pinchin",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Transform",
            "module": "gestures"
        },
        {
            "file": "src/gestures/transform.js",
            "line": 28,
            "itemtype": "event",
            "name": "pinchout",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Transform",
            "module": "gestures"
        },
        {
            "file": "src/gestures/transform.js",
            "line": 32,
            "itemtype": "event",
            "name": "rotate",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Transform",
            "module": "gestures"
        },
        {
            "file": "src/gestures/transform.js",
            "line": 97,
            "description": "minimal scale factor, no scale is 1, zoomin is to 0 and zoomout until higher then 1",
            "itemtype": "property",
            "name": "transform_min_scale",
            "type": "{Number}",
            "default": "0.01",
            "class": "Transform",
            "module": "gestures"
        },
        {
            "file": "src/gestures/transform.js",
            "line": 105,
            "description": "rotation in degrees",
            "itemtype": "property",
            "name": "transform_min_rotation",
            "type": "{Number}",
            "default": "1",
            "class": "Transform",
            "module": "gestures"
        },
        {
            "file": "src/detection.js",
            "line": 22,
            "description": "start Hammer.gesture detection",
            "itemtype": "method",
            "name": "startDetect",
            "params": [
                {
                    "name": "inst",
                    "description": "",
                    "type": "Hammer.Instance"
                },
                {
                    "name": "eventData",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "Detection",
            "module": "hammer"
        },
        {
            "file": "src/detection.js",
            "line": 51,
            "description": "Hammer.gesture detection",
            "itemtype": "method",
            "name": "detect",
            "params": [
                {
                    "name": "eventData",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "",
                "type": "Any"
            },
            "class": "Detection",
            "module": "hammer"
        },
        {
            "file": "src/detection.js",
            "line": 94,
            "description": "clear the Hammer.gesture vars\nthis is called on endDetect, but can also be used when a final Hammer.gesture has been detected\nto stop other Hammer.gestures from being fired",
            "itemtype": "method",
            "name": "stopDetect",
            "class": "Detection",
            "module": "hammer"
        },
        {
            "file": "src/detection.js",
            "line": 111,
            "description": "calculate velocity, angle and direction",
            "itemtype": "method",
            "name": "getVelocityData",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "delta_time",
                    "description": "",
                    "type": "Number"
                },
                {
                    "name": "delta_x",
                    "description": "",
                    "type": "Number"
                },
                {
                    "name": "delta_y",
                    "description": "",
                    "type": "Number"
                }
            ],
            "class": "Detection",
            "module": "hammer"
        },
        {
            "file": "src/detection.js",
            "line": 153,
            "description": "extend eventData for Hammer.gestures",
            "itemtype": "method",
            "name": "extendEventData",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "ev",
                "type": "Object"
            },
            "class": "Detection",
            "module": "hammer"
        },
        {
            "file": "src/detection.js",
            "line": 196,
            "description": "register new gesture",
            "itemtype": "method",
            "name": "register",
            "params": [
                {
                    "name": "gesture",
                    "description": "object, see `gestures/` for documentation",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "gestures",
                "type": "Array"
            },
            "class": "Detection",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 9,
            "description": "when touch events have been fired, this is true\nthis is used to stop mouse events",
            "itemtype": "property",
            "name": "prevent_mouseevents",
            "access": "private",
            "tagname": "",
            "type": "{Boolean}",
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 19,
            "description": "if EVENT_START has been fired",
            "itemtype": "property",
            "name": "started",
            "access": "private",
            "tagname": "",
            "type": "{Boolean}",
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 28,
            "description": "when the mouse is hold down, this is true",
            "itemtype": "property",
            "name": "should_detect",
            "access": "private",
            "tagname": "",
            "type": "{Boolean}",
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 37,
            "description": "simple event binder with a hook and support for multiple types",
            "itemtype": "method",
            "name": "on",
            "params": [
                {
                    "name": "element",
                    "description": "",
                    "type": "HTMLElement"
                },
                {
                    "name": "type",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "handler",
                    "description": "",
                    "type": "Function"
                },
                {
                    "name": "hook",
                    "description": "",
                    "type": "Function",
                    "optional": true,
                    "props": [
                        {
                            "name": "type",
                            "description": "",
                            "type": "Object"
                        }
                    ]
                }
            ],
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 55,
            "description": "simple event unbinder with a hook and support for multiple types",
            "itemtype": "method",
            "name": "off",
            "params": [
                {
                    "name": "element",
                    "description": "",
                    "type": "HTMLElement"
                },
                {
                    "name": "type",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "handler",
                    "description": "",
                    "type": "Function"
                },
                {
                    "name": "hook",
                    "description": "",
                    "type": "Function",
                    "optional": true,
                    "props": [
                        {
                            "name": "type",
                            "description": "",
                            "type": "Object"
                        }
                    ]
                }
            ],
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 73,
            "description": "the core touch event handler.\nthis finds out if we should to detect gestures",
            "itemtype": "method",
            "name": "onTouch",
            "params": [
                {
                    "name": "element",
                    "description": "",
                    "type": "HTMLElement"
                },
                {
                    "name": "eventType",
                    "description": "matches `EVENT_START|MOVE|END`",
                    "type": "String"
                },
                {
                    "name": "handler",
                    "description": "",
                    "type": "Function"
                }
            ],
            "return": {
                "description": "onTouchHandler  the core event handler",
                "type": "Function"
            },
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 135,
            "description": "the core detection method\nthis finds out what hammer-touch-events to trigger",
            "itemtype": "method",
            "name": "doDetect",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "eventType",
                    "description": "matches `EVENT_START|MOVE|END`",
                    "type": "String"
                },
                {
                    "name": "element",
                    "description": "",
                    "type": "HTMLElement"
                },
                {
                    "name": "handler",
                    "description": "",
                    "type": "Function"
                }
            ],
            "return": {
                "description": "triggerType matches `EVENT_START|MOVE|END`",
                "type": "String"
            },
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 207,
            "description": "we have different events for each device/browser\ndetermine what we need and set them in the EVENT_TYPES constant\nthe `onTouch` method is bind to these properties.",
            "itemtype": "method",
            "name": "determineEventTypes",
            "return": {
                "description": "events",
                "type": "Object"
            },
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 248,
            "description": "create touchlist depending on the event",
            "itemtype": "method",
            "name": "getTouchList",
            "params": [
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "eventType",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "touches",
                "type": "Array"
            },
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 287,
            "description": "collect basic event data",
            "itemtype": "method",
            "name": "collectEventData",
            "params": [
                {
                    "name": "element",
                    "description": "",
                    "type": "HTMLElement"
                },
                {
                    "name": "eventType",
                    "description": "matches `EVENT_START|MOVE|END`",
                    "type": "String"
                },
                {
                    "name": "touches",
                    "description": "",
                    "type": "Array"
                },
                {
                    "name": "ev",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "ev",
                "type": "Object"
            },
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 312,
            "description": "prevent the browser default actions\nmostly used to disable scrolling of the browser",
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 322,
            "description": "stop bubbling the event up to its parents",
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/event.js",
            "line": 329,
            "description": "immediately stop gesture detection\nmight be useful after a swipe was detected",
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "Event",
            "module": "hammer"
        },
        {
            "file": "src/instance.js",
            "line": 22,
            "itemtype": "property",
            "name": "element",
            "type": "{HTMLElement}",
            "class": "Instance",
            "module": "hammer"
        },
        {
            "file": "src/instance.js",
            "line": 28,
            "itemtype": "property",
            "name": "enabled",
            "type": "{Boolean}",
            "access": "protected",
            "tagname": "",
            "class": "Instance",
            "module": "hammer"
        },
        {
            "file": "src/instance.js",
            "line": 35,
            "description": "options, merged with the defaults",
            "itemtype": "property",
            "name": "options",
            "type": "{Object}",
            "class": "Instance",
            "module": "hammer"
        },
        {
            "file": "src/instance.js",
            "line": 49,
            "description": "event start handler on the element to start the detection",
            "itemtype": "property",
            "name": "eventStartHandler",
            "type": "{Object}",
            "class": "Instance",
            "module": "hammer"
        },
        {
            "file": "src/instance.js",
            "line": 63,
            "description": "keep a list of user event handlers which needs to be removed when calling 'dispose'",
            "itemtype": "property",
            "name": "eventHandlers",
            "type": "{Array}",
            "class": "Instance",
            "module": "hammer"
        },
        {
            "file": "src/instance.js",
            "line": 73,
            "description": "bind events to the instance",
            "itemtype": "method",
            "name": "on",
            "chainable": 1,
            "params": [
                {
                    "name": "gestures",
                    "description": "multiple gestures by splitting with a space",
                    "type": "String"
                },
                {
                    "name": "handler",
                    "description": "",
                    "type": "Function",
                    "props": [
                        {
                            "name": "ev",
                            "description": "event object",
                            "type": "Object"
                        }
                    ]
                }
            ],
            "class": "Instance",
            "module": "hammer"
        },
        {
            "file": "src/instance.js",
            "line": 90,
            "description": "unbind events to the instance",
            "itemtype": "method",
            "name": "off",
            "chainable": 1,
            "params": [
                {
                    "name": "gestures",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "handler",
                    "description": "",
                    "type": "Function"
                }
            ],
            "class": "Instance",
            "module": "hammer"
        },
        {
            "file": "src/instance.js",
            "line": 110,
            "description": "trigger gesture event",
            "itemtype": "method",
            "name": "trigger",
            "chainable": 1,
            "params": [
                {
                    "name": "gesture",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "eventData",
                    "description": "",
                    "type": "Object",
                    "optional": true
                }
            ],
            "class": "Instance",
            "module": "hammer"
        },
        {
            "file": "src/instance.js",
            "line": 140,
            "description": "enable of disable hammer.js detection",
            "itemtype": "method",
            "name": "enable",
            "chainable": 1,
            "params": [
                {
                    "name": "state",
                    "description": "",
                    "type": "Boolean"
                }
            ],
            "class": "Instance",
            "module": "hammer"
        },
        {
            "file": "src/instance.js",
            "line": 152,
            "description": "dispose this hammer instance",
            "itemtype": "method",
            "name": "dispose",
            "return": {
                "description": "",
                "type": "Null"
            },
            "class": "Instance",
            "module": "hammer"
        },
        {
            "file": "src/pointerevent.js",
            "line": 8,
            "description": "holds all pointers, by `identifier`",
            "itemtype": "property",
            "name": "pointers",
            "type": "{Object}",
            "class": "PointerEvent",
            "module": "hammer"
        },
        {
            "file": "src/pointerevent.js",
            "line": 16,
            "description": "get the pointers as an array",
            "itemtype": "method",
            "name": "getTouchList",
            "return": {
                "description": "touchlist",
                "type": "Array"
            },
            "class": "PointerEvent",
            "module": "hammer"
        },
        {
            "file": "src/pointerevent.js",
            "line": 31,
            "description": "update the position of a pointer",
            "itemtype": "method",
            "name": "updatePointer",
            "params": [
                {
                    "name": "eventType",
                    "description": "matches `EVENT_START|MOVE|END`",
                    "type": "String"
                },
                {
                    "name": "pointerEvent",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "PointerEvent",
            "module": "hammer"
        },
        {
            "file": "src/pointerevent.js",
            "line": 48,
            "description": "check if ev matches pointertype",
            "itemtype": "method",
            "name": "matchType",
            "params": [
                {
                    "name": "pointerType",
                    "description": "matches `POINTER_MOUSE|TOUCH|PEN`",
                    "type": "String"
                },
                {
                    "name": "ev",
                    "description": "",
                    "type": "PointerEvent"
                }
            ],
            "class": "PointerEvent",
            "module": "hammer"
        },
        {
            "file": "src/pointerevent.js",
            "line": 69,
            "description": "reset the stored pointers",
            "itemtype": "method",
            "name": "reset",
            "class": "PointerEvent",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 9,
            "description": "Hammer, use this to create instances\n````\nvar hammertime = new Hammer(myElement);\n````",
            "itemtype": "method",
            "name": "Hammer",
            "params": [
                {
                    "name": "element",
                    "description": "",
                    "type": "HTMLElement"
                },
                {
                    "name": "options",
                    "description": "",
                    "type": "Object",
                    "optional": true,
                    "optdefault": "{}"
                }
            ],
            "return": {
                "description": "",
                "type": "Hammer.Instance"
            },
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 25,
            "description": "version, as defined in package.json\nthe value will be set at each build",
            "itemtype": "property",
            "name": "VERSION",
            "final": 1,
            "type": "{String}",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 35,
            "description": "default settings.\nmore settings are defined per gesture at `/gestures`. Each gesture can be disabled/enabled\nby setting it's name (like `swipe`) to false.\nYou can set the defaults for all instances by changing this object before creating an instance.",
            "example": [
                "\n````\n Hammer.defaults.drag = false;\n Hammer.defaults.behavior.touchAction = 'pan-y';\n delete Hammer.defaults.behavior.userSelect;\n````"
            ],
            "itemtype": "property",
            "name": "defaults",
            "type": "{Object}",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 50,
            "description": "this setting object adds styles and attributes to the element to prevent the browser from doing\nits native behavior. The css properties are auto prefixed for the browsers when needed.",
            "itemtype": "property",
            "name": "defaults.behavior",
            "type": "{Object}",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 57,
            "description": "Disables text selection to improve the dragging gesture. When the value is `none` it also sets\n`onselectstart=false` for IE on the element. Mainly for desktop browsers.",
            "itemtype": "property",
            "name": "defaults.behavior.userSelect",
            "type": "{String}",
            "default": "'none'",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 66,
            "description": "Specifies whether and how a given region can be manipulated by the user (for instance, by panning or zooming).\nUsed by IE10>. By default this makes the element blocking any touch event.",
            "itemtype": "property",
            "name": "defaults.behavior.touchAction",
            "type": "{String}",
            "default": ": 'none'",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 75,
            "description": "Disables the default callout shown when you touch and hold a touch target.\nOn iOS, when you touch and hold a touch target such as a link, Safari displays\na callout containing information about the link. This property allows you to disable that callout.",
            "itemtype": "property",
            "name": "defaults.behavior.touchCallout",
            "type": "{String}",
            "default": "'none'",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 85,
            "description": "Specifies whether zooming is enabled. Used by IE10>",
            "itemtype": "property",
            "name": "defaults.behavior.contentZooming",
            "type": "{String}",
            "default": "'none'",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 93,
            "description": "Specifies that an entire element should be draggable instead of its contents.\nMainly for desktop browsers.",
            "itemtype": "property",
            "name": "defaults.behavior.userDrag",
            "type": "{String}",
            "default": "'none'",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 102,
            "description": "Overrides the highlight color shown when the user taps a link or a JavaScript\nclickable element in Safari on iPhone. This property obeys the alpha value, if specified.\n\nIf you don't specify an alpha value, Safari on iPhone applies a default alpha value\nto the color. To disable tap highlighting, set the alpha value to 0 (invisible).\nIf you set the alpha value to 1.0 (opaque), the element is not visible when tapped.",
            "itemtype": "property",
            "name": "defaults.behavior.tapHighlightColor",
            "type": "{String}",
            "default": "'rgba(0,0,0,0)'",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 118,
            "description": "hammer document where the base events are added at",
            "itemtype": "property",
            "name": "DOCUMENT",
            "type": "{HTMLElement}",
            "default": "window.document",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 127,
            "description": "detect support for pointer events",
            "itemtype": "property",
            "name": "HAS_POINTEREVENTS",
            "type": "{Boolean}",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 135,
            "description": "detect support for touch events",
            "itemtype": "property",
            "name": "HAS_TOUCHEVENTS",
            "type": "{Boolean}",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 143,
            "description": "interval in which Hammer recalculates current velocity/direction/angle in ms",
            "itemtype": "property",
            "name": "CALCULATE_INTERVAL",
            "type": "{Number}",
            "default": "50",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 152,
            "description": "eventtypes per touchevent (start, move, end) are filled by `Event.determineEventTypes` on `setup`\nthe object contains the DOM event names per type (`EVENT_START`, `EVENT_MOVE`, `EVENT_END`)",
            "itemtype": "property",
            "name": "EVENT_TYPES",
            "access": "private",
            "tagname": "",
            "writeonce": "",
            "type": "{Object}",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 163,
            "description": "direction strings, for safe comparisons",
            "itemtype": "property",
            "name": "DIRECTION_DOWN|LEFT|UP|RIGHT",
            "final": 1,
            "type": "{String}",
            "default": "'down' 'left' 'up' 'right'",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 176,
            "description": "pointertype strings, for safe comparisons",
            "itemtype": "property",
            "name": "POINTER_MOUSE|TOUCH|PEN",
            "final": 1,
            "type": "{String}",
            "default": "'mouse' 'touch' 'pen'",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 188,
            "description": "eventtypes",
            "itemtype": "property",
            "name": "EVENT_START|MOVE|END|RELEASE|TOUCH",
            "final": 1,
            "type": "{String}",
            "default": "'start' 'change' 'move' 'end' 'release' 'touch'",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 202,
            "description": "if the window events are set...",
            "itemtype": "property",
            "name": "READY",
            "writeonce": "",
            "type": "{Boolean}",
            "default": "false",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 212,
            "description": "plugins namespace",
            "itemtype": "property",
            "name": "plugins",
            "type": "{Object}",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 220,
            "description": "gestures namespace\nsee `/gestures` for the definitions",
            "itemtype": "property",
            "name": "gestures",
            "type": "{Object}",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/setup.js",
            "line": 229,
            "description": "setup events to detect gestures on the document\nthis function is called when creating an new instance",
            "access": "private",
            "tagname": "",
            "class": "Hammer",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 8,
            "description": "extend method, could also be used for cloning when `dest` is an empty object.\nchanges the dest object",
            "itemtype": "method",
            "name": "extend",
            "params": [
                {
                    "name": "dest",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "src",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "merge",
                    "description": "do a merge",
                    "type": "Boolean",
                    "optional": true,
                    "optdefault": "false"
                }
            ],
            "return": {
                "description": "dest",
                "type": "Object"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 28,
            "description": "simple addEventListener wrapper",
            "itemtype": "method",
            "name": "on",
            "params": [
                {
                    "name": "element",
                    "description": "",
                    "type": "HTMLElement"
                },
                {
                    "name": "type",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "handler",
                    "description": "",
                    "type": "Function"
                }
            ],
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 40,
            "description": "simple removeEventListener wrapper",
            "itemtype": "method",
            "name": "off",
            "params": [
                {
                    "name": "element",
                    "description": "",
                    "type": "HTMLElement"
                },
                {
                    "name": "type",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "handler",
                    "description": "",
                    "type": "Function"
                }
            ],
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 52,
            "description": "forEach over arrays and objects",
            "itemtype": "method",
            "name": "each",
            "params": [
                {
                    "name": "obj",
                    "description": "",
                    "type": "Object|Array"
                },
                {
                    "name": "iterator",
                    "description": "",
                    "type": "Function",
                    "props": [
                        {
                            "name": "item",
                            "description": "",
                            "type": "Any"
                        },
                        {
                            "name": "index",
                            "description": "",
                            "type": "Number"
                        },
                        {
                            "name": "obj",
                            "description": "the source object",
                            "type": "Object|Array"
                        }
                    ]
                },
                {
                    "name": "context",
                    "description": "value to use as `this` in the iterator",
                    "type": "Object"
                }
            ],
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 88,
            "description": "find if a string contains the string using indexOf",
            "itemtype": "method",
            "name": "inStr",
            "params": [
                {
                    "name": "src",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "find",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "found",
                "type": "Boolean"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 100,
            "description": "find if a array contains the object using indexOf or a simple polyfill",
            "itemtype": "method",
            "name": "inArray",
            "params": [
                {
                    "name": "src",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "find",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "false when not found, or the index",
                "type": "Boolean|Number"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 123,
            "description": "convert an array-like object (`arguments`, `touchlist`) to an array",
            "itemtype": "method",
            "name": "toArray",
            "params": [
                {
                    "name": "obj",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "",
                "type": "Array"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 134,
            "description": "find if a node is in the given parent",
            "itemtype": "method",
            "name": "hasParent",
            "params": [
                {
                    "name": "node",
                    "description": "",
                    "type": "HTMLElement"
                },
                {
                    "name": "parent",
                    "description": "",
                    "type": "HTMLElement"
                }
            ],
            "return": {
                "description": "found",
                "type": "Boolean"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 152,
            "description": "get the center of all the touches",
            "itemtype": "method",
            "name": "getCenter",
            "params": [
                {
                    "name": "touches",
                    "description": "",
                    "type": "Array"
                }
            ],
            "return": {
                "description": "center contains `pageX`, `pageY`, `clientX` and `clientY` properties",
                "type": "Object"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 192,
            "description": "calculate the velocity between two points. unit is in px per ms.",
            "itemtype": "method",
            "name": "getVelocity",
            "params": [
                {
                    "name": "delta_time",
                    "description": "",
                    "type": "Number"
                },
                {
                    "name": "delta_x",
                    "description": "",
                    "type": "Number"
                },
                {
                    "name": "delta_y",
                    "description": "",
                    "type": "Number"
                }
            ],
            "return": {
                "description": "velocity `x` and `y`",
                "type": "Object"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 208,
            "description": "calculate the angle between two coordinates",
            "itemtype": "method",
            "name": "getAngle",
            "params": [
                {
                    "name": "touch1",
                    "description": "",
                    "type": "Touch"
                },
                {
                    "name": "touch2",
                    "description": "",
                    "type": "Touch"
                }
            ],
            "return": {
                "description": "angle",
                "type": "Number"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 223,
            "description": "do a small comparision to get the direction between two touches.",
            "itemtype": "method",
            "name": "getDirection",
            "params": [
                {
                    "name": "touch1",
                    "description": "",
                    "type": "Touch"
                },
                {
                    "name": "touch2",
                    "description": "",
                    "type": "Touch"
                }
            ],
            "return": {
                "description": "direction matches `DIRECTION_LEFT|RIGHT|UP|DOWN`",
                "type": "String"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 241,
            "description": "calculate the distance between two touches",
            "itemtype": "method",
            "name": "getDistance",
            "params": [
                {
                    "name": "touch1",
                    "description": "",
                    "type": "Touch"
                },
                {
                    "name": "touch2",
                    "description": "",
                    "type": "Touch"
                }
            ],
            "return": {
                "description": "distance",
                "type": "Number"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 256,
            "description": "calculate the scale factor between two touchLists\nno scale is 1, and goes down to 0 when pinched together, and bigger when pinched out",
            "itemtype": "method",
            "name": "getScale",
            "params": [
                {
                    "name": "start",
                    "description": "array of touches",
                    "type": "Array"
                },
                {
                    "name": "end",
                    "description": "array of touches",
                    "type": "Array"
                }
            ],
            "return": {
                "description": "scale",
                "type": "Number"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 273,
            "description": "calculate the rotation degrees between two touchLists",
            "itemtype": "method",
            "name": "getRotation",
            "params": [
                {
                    "name": "start",
                    "description": "array of touches",
                    "type": "Array"
                },
                {
                    "name": "end",
                    "description": "array of touches",
                    "type": "Array"
                }
            ],
            "return": {
                "description": "rotation",
                "type": "Number"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 289,
            "description": "find out if the direction is vertical   *",
            "itemtype": "method",
            "name": "isVertical",
            "params": [
                {
                    "name": "direction",
                    "description": "matches `DIRECTION_UP|DOWN`",
                    "type": "String"
                }
            ],
            "return": {
                "description": "is_vertical",
                "type": "Boolean"
            },
            "class": "Utils",
            "module": "hammer"
        },
        {
            "file": "src/utils.js",
            "line": 300,
            "description": "toggle browser default behavior by setting css properties.\n`userSelect='none'` also sets `element.onselectstart` to false\n`userDrag='none'` also sets `element.ondragstart` to false",
            "itemtype": "method",
            "name": "toggleBehavior",
            "params": [
                {
                    "name": "element",
                    "description": "",
                    "type": "HtmlElement"
                },
                {
                    "name": "props",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "toggle",
                    "description": "",
                    "type": "Boolean",
                    "optional": true,
                    "optdefault": "false"
                }
            ],
            "class": "Utils",
            "module": "hammer"
        }
    ],
    "warnings": [
        {
            "message": "Missing item type\nprevent the browser default actions\nmostly used to disable scrolling of the browser",
            "line": " src/event.js:312"
        },
        {
            "message": "Missing item type\nstop bubbling the event up to its parents",
            "line": " src/event.js:322"
        },
        {
            "message": "Missing item type\nimmediately stop gesture detection\nmight be useful after a swipe was detected",
            "line": " src/event.js:329"
        },
        {
            "message": "Missing item type\nsetup events to detect gestures on the document\nthis function is called when creating an new instance",
            "line": " src/setup.js:229"
        }
    ]
}