             else
               p = @p
               @_o =
-                if p >= 0 && p < 1
-                  Math.round(ruler.range.l + p * (ruler.range.u - ruler.range.l))
-                else if p < 0
-                  -Infinity
-                else if p >= 1
-                  Infinity
+                Math.round(ruler.range.l + p * (ruler.range.u - ruler.range.l))
           set: (o) ->
             return if o == @_o
             @_o = o

            delete @_p
            return

      defined: () ->
        isFinite(@o)

      minus: (t) ->

            return

      drag: (event, which) ->
        x = new TimePoint(event.clientX, 'x')
        p = this[if which then 'ut' else 'lt'] =
          if which && x.p > 1
            new TimePoint(Infinity)
          else if !which && x.p < 0
            new TimePoint(-Infinity)
          else
            @snapping(x)
        if event.type != 'mousemove'
          $scope.form.position.$setDirty()
        return
