     @domXMin = markLeftX
     @domXMax = markRightX
 
-    #canvas coords
-    @canvasXMin = markLeftX - @canvasGraph.canvas.getBoundingClientRect().left
-    @canvasXMax = markRightX - @canvasGraph.canvas.getBoundingClientRect().left
-
     #data coords
-    @dataXMin = @canvasGraph.toDataXCoord(@canvasXMin)
-    @dataXMax = @canvasGraph.toDataXCoord(@canvasXMax)
+    @dataXMin = @canvasGraph.toDataXCoord(@domXMin)
+    @dataXMax = @canvasGraph.toDataXCoord(@domXMax)
 
   updateCursor: (e) ->
     if e.layerY < 15

  MAX_WIDTH = 150

  constructor: (e, @canvasGraph) ->
    #TODO: make an active state
    @canvas = @canvasGraph.canvas

    @element = document.createElement('div')

    @ctx.translate(0,@canvas.height)
    @ctx.scale(1,-1)

  toDataXCoord: (domCoord) -> ((domCoord - @canvas.getBoundingClientRect().left)/ @canvas.width) * (@largestX - @smallestX)

  # TODO: fix the math on this one....
  toDomXCoord: (dataPoint) -> ((dataPoint) * (@largestX - @smallestX)) + @canvas.getBoundingClientRect().left

class Marks
  constructor: -> @all = []
