code: function(clientX, clientY) {
        
        var canvasPos = Dom.getXY(this.element);
        var click = [ clientX-canvasPos[0], clientY-canvasPos[1] ];
        
        // Canvas Region
        var canvasRegion = Dom.getRegion(this.element);
        var canvasWidth = canvasRegion.right-canvasRegion.left-4;
        var canvasHeight = canvasRegion.bottom-canvasRegion.top-4;
        
        // Calculate ratio
        var layerWidth = this.layer.el.scrollWidth;
        var layerHeight = this.layer.el.scrollHeight;
        var hRatio = Math.floor(100*canvasWidth/layerWidth)/100;
        var vRatio = Math.floor(100*canvasHeight/layerHeight)/100;
        
        // Center position:
        var center = [ click[0]/hRatio, click[1]/vRatio ];
        
        // Region
        var region = Dom.getRegion(this.layer.el);
        var viewportWidth = region.right-region.left;
        var viewportHeight = region.bottom-region.top;
        
        // Calculate the scroll position of the layer
        var topleft = [ Math.max(Math.floor(center[0]-viewportWidth/2),0) ,  Math.max(Math.floor(center[1]-viewportHeight/2), 0) ];
        if( topleft[0]+viewportWidth > layerWidth ) {
           topleft[0] = layerWidth-viewportWidth;
        }
        if( topleft[1]+viewportHeight > layerHeight ) {
           topleft[1] = layerHeight-viewportHeight;
        }
       
        this.layer.el.scrollLeft = topleft[0];
        this.layer.el.scrollTop = topleft[1];
     
     }
docs: Scroll the layer from mousedown/mousemove
  @method scrollLayer
  @param {Integer} clientX mouse event x coordinate
  @param {Integer} clientY mouse event y coordinate