code: function (left, top, r, options) {
  			if (!defined(options)) {
  				return [];
  			}
  			var width = options.width,
  				height = options.height,
  				right = left + width,
  				bottom = top + height;
  
  			r = mathMin(r, width, height);
  
  			return [
  				M,
  				left + r, top,
  
  				L,
  				right - r, top,
  				'wa',
  				right - 2 * r, top,
  				right, top + 2 * r,
  				right - r, top,
  				right, top + r,
  
  				L,
  				right, bottom - r,
  				'wa',
  				right - 2 * r, bottom - 2 * r,
  				right, bottom,
  				right, bottom - r,
  				right - r, bottom,
  
  				L,
  				left + r, bottom,
  				'wa',
  				left, bottom - 2 * r,
  				left + 2 * r, bottom,
  				left + r, bottom,
  				left, bottom - r,
  
  				L,
  				left, top + r,
  				'wa',
  				left, top,
  				left + 2 * r, top + 2 * r,
  				left, top + r,
  				left + r, top,
  
  
  				'x',
  				'e'
  			];
  
  		}
docs: Add rectangle symbol path which eases rotation and omits arcsize problems
  compared to the built-in VML roundrect shape
  
  @param {Number} left Left position
  @param {Number} top Top position
  @param {Number} r Border radius
  @param {Object} options Width and height