code: function (x, y, width, height) {
  
  		// create a dummy element
  		var clipRect = this.createElement();
  
  		// mimic a rectangle with its style object for automatic updating in attr
  		return extend(clipRect, {
  			members: [],
  			left: x,
  			top: y,
  			width: width,
  			height: height,
  			getCSS: function (inverted) {
  				var rect = this,//clipRect.element.style,
  					top = rect.top,
  					left = rect.left,
  					right = left + rect.width,
  					bottom = top + rect.height,
  					ret = {
  						clip: 'rect(' +
  							mathRound(inverted ? left : top) + 'px,' +
  							mathRound(inverted ? bottom : right) + 'px,' +
  							mathRound(inverted ? right : bottom) + 'px,' +
  							mathRound(inverted ? top : left) + 'px)'
  					};
  
  				// issue 74 workaround
  				if (!inverted && docMode8) {
  					extend(ret, {
  						width: right + PX,
  						height: bottom + PX
  					});
  				}
  				return ret;
  			},
  
  			// used in attr and animation to update the clipping of all members
  			updateClipping: function () {
  				each(clipRect.members, function (member) {
  					member.css(clipRect.getCSS(member.inverted));
  				});
  			}
  		});
  
  	}
docs: Define a clipping rectangle. In VML it is accomplished by storing the values
  for setting the CSS style to all associated members.
  
  @param {Number} x
  @param {Number} y
  @param {Number} width
  @param {Number} height