     }, {'local' : true})
 
   _drag : (e) ->
-    [x, y] = @mouse_coords(e, e.layerX, e.layerY)
+    [x, y] = @mouse_coords(e, e.originalEvent.layerX, e.originalEvent.layerY)
     xdiff = x - @x
     ydiff = y - @y
     [@x, @y] = [x, y]

    return [xrange, yrange]

  _selecting : (e, x_, y_) ->
    [x, y] = @mouse_coords(e, e.layerX, e.layerY)
    @mset({'current_x' : x, 'current_y' : y})
    return null


      @shading = null

  _start_selecting : (e) ->
    [x, y] = @mouse_coords(e, e.originalEvent.layerX, e.originalEvent.layerY)
    @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')
