src/captors/sigma.captors.touch.js
function _doubleTapHandler(e) {
      var pos,
          ratio,
          animation;

      if (e.touches && e.touches.length === 1 && _settings('touchEnabled')) {
        _doubleTap = true;

        ratio = 1 / _settings('doubleClickZoomingRatio');

        pos = position(e.touches[0]);
        _self.dispatchEvent('doubleclick',
          sigma.utils.mouseCoords(e, pos.x, pos.y));

        if (_settings('doubleClickEnabled')) {
          pos = _camera.cameraPosition(
            pos.x - sigma.utils.getCenter(e).x,
            pos.y - sigma.utils.getCenter(e).y,
            true
          );

          animation = {
            duration: _settings('doubleClickZoomDuration'),
            onComplete: function() {
              _doubleTap = false;
            }
          };

          sigma.utils.zoomTo(_camera, pos.x, pos.y, ratio, animation);
        }

        if (e.preventDefault)
          e.preventDefault();
        else
          e.returnValue = false;

        e.stopPropagation();
        return false;
      }
    }
function _doubleTapHandler(e) {
      var pos,
          ratio,
          animation;

      if (e.touches && e.touches.length === 1 && _settings('touchEnabled')) {
        _doubleTap = true;

        ratio = 1 / _settings('doubleClickZoomingRatio');

        pos = position(e.touches[0]);
        _self.dispatchEvent('doubleclick',
          sigma.utils.mouseCoords(e, pos.x, pos.y));

        if (_settings('doubleClickEnabled')) {
          pos = _camera.cameraPosition(
            pos.x - sigma.utils.getCenter(e).x,
            pos.y - sigma.utils.getCenter(e).y,
            true
          );

          animation = {
            duration: _settings('doubleClickZoomDuration'),
            onComplete: function() {
              _doubleTap = false;
            }
          };

          sigma.utils.zoomTo(_camera, pos.x, pos.y, ratio, animation);
        }

        if (e.preventDefault)
          e.preventDefault();
        else
          e.returnValue = false;

        e.stopPropagation();
        return false;
      }
    }
function _doubleTapHandler ( e ) { var pos , ratio , animation ; if ( e . touches && e . touches . length === 1 && _settings ( 'touchEnabled' ) ) { _doubleTap = true ; ratio = 1 / _settings ( 'doubleClickZoomingRatio' ) ; pos = position ( e . touches [ 0 ] ) ; _self . dispatchEvent ( 'doubleclick' , sigma . utils . mouseCoords ( e , pos . x , pos . y ) ) ; if ( _settings ( 'doubleClickEnabled' ) ) { pos = _camera . cameraPosition ( pos . x - sigma . utils . getCenter ( e ) . x , pos . y - sigma . utils . getCenter ( e ) . y , true ) ; animation = { duration : _settings ( 'doubleClickZoomDuration' ) , onComplete : function ( ) { _doubleTap = false ; } } ; sigma . utils . zoomTo ( _camera , pos . x , pos . y , ratio , animation ) ; } if ( e . preventDefault ) e . preventDefault ( ) ; else e . returnValue = false ; e . stopPropagation ( ) ; return false ; } }
The handler listening to the double tap custom event. It will
basically zoom into the graph.

@param {event} e A touch event.
The handler listening to the double tap custom event . It will basically zoom into the graph .