   initCoords: null
 
   render: ->
-    {x, y, width} = @props.mark
-    allowedWidth = if @props.mark.width < MINIMUM_WIDTH then MINIMUM_WIDTH else width
+    {x, width} = @props.mark
+
     <DrawingToolRoot tool={this}>
       <Draggable onDrag={@handleMainDrag} disabled={@props.disabled}>
-        <rect ref="rect" x={x} y={y} width={allowedWidth} height={@props.containerRect.height / @props.scale.vertical} />
+        <rect ref="rect" x={x} y={0} width={width} height={@props.containerRect.height / @props.scale.vertical} />
       </Draggable>
 
       {if @props.selected
         <g>
-          <DeleteButton tool={this} x={x + allowedWidth + 20} y={y + 15} />
+          <DeleteButton tool={this} x={x + width + 20} y={15} />
 
-          <DragHandle x={x} y={(@props.containerRect.height / @props.scale.vertical) / 2} scale={@props.scale} onDrag={@handleLeftDrag} onEnd={@normalizeMark} />
-          <DragHandle x={x + allowedWidth} y={(@props.containerRect.height / @props.scale.vertical) / 2} scale={@props.scale} onDrag={@handleRightDrag} onEnd={@normalizeMark} />
+          <DragHandle x={x} y={(@props.containerRect.height / @props.scale.vertical) / 2} scale={@props.scale} onDrag={@handleLeftDrag} />
+          <DragHandle x={x + width} y={(@props.containerRect.height / @props.scale.vertical) / 2} scale={@props.scale} onDrag={@handleRightDrag} />
         </g>}
     </DrawingToolRoot>
 

    @props.onChange @props.mark

  handleLeftDrag: (e, d) ->
    @props.mark.x += d.x / @props.scale.horizontal if @props.mark.width >= MINIMUM_WIDTH
    @props.mark.width -= d.x / @props.scale.horizontal 
    @props.onChange @props.mark if @props.mark.width >= MINIMUM_WIDTH

  handleRightDrag: (e, d) ->
    @props.mark.width += d.x / @props.scale.horizontal
    @props.onChange @props.mark 

  normalizeMark: ->
    if @props.mark.width < MINIMUM_WIDTH
      @props.mark.x += @props.mark.width if @props.mark.width >= MINIMUM_WIDTH
      @props.mark.width is MINIMUM_WIDTH

    @props.onChange @props.mark if @props.mark.width >= MINIMUM_WIDTH

  statics:
    initCoords: null

    defaultValues: ({x}) ->
      x: x
      width: DEFAULT_WIDTH

    initStart: ({x}, mark) ->
      @initCoords = {x, 0}
      {x, 0, _inProgress: true}

