# File vtk/tk/vtkTkImageViewerWidget.rb, line 215
  def UpdateWindowLevelInteraction(x,y)
    # compute normalized delta
    dx = 4.0*(x - @LastX)/self.winfo_width*@Window
    dy = 4.0*(@LastY - y)/self.winfo_height*@Level

    # abs so that direction does not flip
    if @Window < 0.0
      dx = -dx
    end
    if @Level < 0.0
      dy = -dy
    end

    # compute new window level
    window = @Window + dx
    if window < 0.0
      level = @Level + dy
    else
      level = @Level - dy
    end

    viewer = @ImageViewer
    viewer.SetColorWindow(window)
    viewer.SetColorLevel(level)

    @WindowMapper.SetInput("Window: %g" % window)
    @LevelMapper.SetInput("Level: %g" % level)
    
    self.Render
  end