code: function (x, y, width, height, r, strokeWidth) {
  		if (isObject(x)) {
  			y = x.y;
  			width = x.width;
  			height = x.height;
  			r = x.r;
  			strokeWidth = x.strokeWidth;
  			x = x.x;
  		}
  		var wrapper = this.createElement('rect').attr({
  			rx: r,
  			ry: r,
  			fill: NONE
  		});
  
  		return wrapper.attr(wrapper.crisp(strokeWidth, x, y, mathMax(width, 0), mathMax(height, 0)));
  	}
docs: Draw and return a rectangle
  @param {Number} x Left position
  @param {Number} y Top position
  @param {Number} width
  @param {Number} height
  @param {Number} r Border corner radius
  @param {Number} strokeWidth A stroke width can be supplied to allow crisp drawing