       @shading.remove()
       @shading = null
 
-  _start_selecting : () ->
-    [x, y] = @mouse_coords()
+  _start_selecting : (e, x_, y_) ->
+    [x, y] = @mouse_coords(e, x_, y_)
     @mset({'start_x' : x, 'start_y' : y, 'current_x' : null, 'current_y' : null})
     for renderer in @mget('renderers')
       data_source = @model.resolve_ref(renderer).get_ref('data_source')

      yrange = null
    return [xrange, yrange]

  _selecting : () ->
    [x, y] = @mouse_coords()
    @mset({'current_x' : x, 'current_y' : y})
    return null


    @plotview.moveCallbacks.push((e, x, y) =>
      if e.ctrlKey
        if not @selecting
          @_start_selecting(e, x, y)
        else
          @_selecting(e, x, y)
          e.preventDefault()
          e.stopPropagation())
  mouse_coords : (e, x, y) ->
