whole_func_string: function (start, end, y_adj, attrs) {
        var start_x = time_x(start) || margin[3];
        var end_x = time_x(end) || ui.w - margin[1];
        var y = ui.y + y_adj;
        var e = paper.path(
          "M" + start_x + "," + y + " " +
          "L" + end_x + "," + y
        ).attr(attrs || {});
        return e;
      }
func_code_string: function (start, end, y_adj, attrs) {
        var start_x = time_x(start) || margin[3];
        var end_x = time_x(end) || ui.w - margin[1];
        var y = ui.y + y_adj;
        var e = paper.path(
          "M" + start_x + "," + y + " " +
          "L" + end_x + "," + y
        ).attr(attrs || {});
        return e;
      }
func_documentation_string: draw a horizontal line from the time offsets start to end with attrs. If start or end isn't set, use the left and right margins respectively. y_adj can be used to adjust y.