 
     @closestXBelow = @canvasGraph.marks.closestXBelow(@canvasXMin)
     @closestXAbove = @canvasGraph.marks.closestXAbove(@canvasXMax)
+
+  onMouseMove: (e) =>
+    e.preventDefault()
+    @draw(e) if @dragging
+    @move(e) if @moving
 
   onTouchEnd: (e) => # for touch devices
     e.preventDefault()

    @canvas.addEventListener 'mousedown', (e) => @onMouseDown(e)
    @canvas.addEventListener 'touchstart', (e) => @addMarkToGraph(e)
    @canvas.addEventListener 'mousemove', (e) => @onMouseMove(e) # TODO: FIX (disabled for now)

  removeOutliers: (nsigma) ->
    mean = @mean(@data.y)

  toDataXCoord: (canvasPoint) -> ((canvasPoint / @canvas.width) * (@xMax - @xMin)) + @xMin
  toDataYCoord: (canvasPoint) -> ((canvasPoint / @canvas.height) * (@yMax - @yMin)) + @yMin

  addMarkToGraph: (e) =>
    return if @markingDisabled
    e.preventDefault()
