   closestXAbove: (xCoord) -> (@sortedXCoords().filter (i) -> i > xCoord).shift()
 
 class Mark
+  HANDLE_WIDTH = 12
+
   constructor: (e, @canvasGraph) ->
     @canvas = @canvasGraph.canvas
 

    markWidth = parseInt(@element.style.width, 10)

    # no overlapping of marks
    leftXPos = Math.max (@toCanvasXPoint(e) - @pointerOffset), (@closestXBelow || 0)
    leftXPos = Math.min leftXPos, ((@closestXAbove || @canvas.width) - markWidth)

    markRightX = leftXPos + markWidth


    markRightX = Math.max @startingPoint, @toCanvasXPoint(e)

    # no overlapping of marks
    markLeftX = (Math.max markLeftX, (@closestXBelow || markLeftX)) + HANDLE_WIDTH
    markRightX = (Math.min markRightX, (@closestXAbove || markRightX)) - HANDLE_WIDTH

    # max and min width on creating / resizing marks
    width = (Math.min (Math.max (Math.abs markRightX - markLeftX), @minWidth()), @maxWidth())
